//+------------------------------------------------------------------+
//| Ïðèìåð èñïîëüçîâàíèÿ PNN.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
#import "#PNN_ARTIFICAL.ex4"
double PNN(double sigma, double test_example[], double Examples[][]);
int ADD_EXAMPLE(double test_example[],double & Examples[][]);
int PNN_Read_Class(string fname,double & Class_Example[][],int Nk);
int PNN_Write_Class(string fname,double Class_Example[][]);
#import
#import "#_LIB_INDIKATOR.ex4"
bool SHI_CANAL(string symbol,int timeframe, double & DataIndikator[], bool visible);
int AC_STOH(string symbol, int timeframe,double & Signals[]);
int GetOsMA(string symbol, int timeframe,double & Signals[]);
int GetMACD(string symbol, int timeframe,double & Signals[]);
double ARTSign();
int MA_SIGNAL(string symbol,int timeframe,double & Signal[]);
#import
#import "#_Lib_Torgovla.ex4"
int CalculateCurrentOrders(string symbol,int TupeOrders);
void CheckForOpen(bool Buy,bool Sell,double sl,double tp,double lot);
void CheckForClose(bool CloseBuy,bool CloseSell);
int close_all_orders();
void Tral();
#import
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//extern
double TP = 0; // ÒýéêÏðîôèò îðäåðà
//extern
double SL = 30; // ÑòîïËîññ îðäåðà
extern double Prots= 0.1; // Ïðîöåíò îò ñâîáîäíûõ ñðåäñòâ
extern double TresholdBuy = 0.9;
extern double TresholdSell = 0.9;
//============================================================================================
int MAX_ORDER = 1;
double VAR_Lot;
static int VAR_prevtime=0; //Ïåðåìåííàÿ äëÿ êîíòðîëÿ áàðîâ
double balance; //Õðàíèò áàëàíñ ïîñëå îòêðûòèÿ çäåëêè
//Çäåñòü õðàíèì Ñèãíàëû íà îòêðûòèå ñäåëîê ïîëó÷åííûå ñ èíäèêàòîðîâ
int VAR_AC_STOH=0;
int VAR_OsMA = 0;
int VAR_MACD = 0;
int VAR_MA_SIGNAL = 0;
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
#define MAX_INPUT 18
double SIGMA = 0.9;
double InSignal[MAX_INPUT];
//============================================================================================
int Number_Exempls_Buy;//×èñëî ïðèìåðîâ äëÿ Buy
double Class_Example_Buy[][MAX_INPUT];
double NetOutBuy=0;
//============================================================================================
int Number_Exempls_Sell;//×èñëî ïðèìåðîâ äëÿ Sell
double Class_Example_Sell[][MAX_INPUT];
double NetOutSell=0;
double test_example[MAX_INPUT];
int TypeOpenPositions = 0;
double OUT;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
int handle;
int VAR_Sempls[3];
// ñ÷èòûâàåì ÷èñëî ïðèìåðîâ ïî êëàññàì
handle=FileOpen("Num_Exempls.inf",FILE_BIN|FILE_READ);
if(handle>0)
{
FileReadArray(handle, VAR_Sempls, 0, 3);
FileClose(handle);
}
Number_Exempls_Buy = VAR_Sempls[0]; //Çàïîìèíàåì â ïåðåìåííûå
Number_Exempls_Sell = VAR_Sempls[1];//Çàïîìèíàåì â ïåðåìåííûå
PNN_Read_Class("Num_Exempls_Byu",Class_Example_Buy,Number_Exempls_Buy);
PNN_Read_Class("Num_Exempls_Sell",Class_Example_Sell,Number_Exempls_Sell);
balance = AccountBalance();
//----
return(0);
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
int handle;
int VAR_Sempls[3];
VAR_Sempls[0] = Number_Exempls_Buy;
VAR_Sempls[1] = Number_Exempls_Sell;
//Ñîõðàíÿåì ÷èñëî ïðèìåðîâ â êëàññàõ
handle=FileOpen("Num_Exempls.inf", FILE_BIN|FILE_WRITE);
if(handle>0)
{
FileWriteArray(handle, VAR_Sempls, 0, 3); // çàïèñü ïîñëåäíèõ 7 ýëåìåíòîâ
FileClose(handle);
}
//Buy
PNN_Write_Class("Num_Exempls_Byu",Class_Example_Buy);
//Sell
PNN_Write_Class("Num_Exempls_Sell",Class_Example_Sell);
//----
return(0);
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
//============================================================================================
//Ðàáîòàåì òîëüêî íà ñôîðìèðîâàâøèõñÿ áàðàõ!
if(ControlBats() == true)
{
VAR_Lot = Lots(); //Ïðîèçâîäèì ðàñ÷åò ëîòà äëÿ òîðãîâëè
if(balance+40 < AccountBalance())
{
//Ëåíü ïèñàòü áëîêèðîâêó îáó÷åíèÿ èç íàñòðîåê ýêñïåðòà
//Ìîæíî îñòàâèòü âêëþ÷åííûìè è äîîáó÷àòü â ïðîöåññå ðàáîòû
//if(TypeOpenPositions == 1)Number_Exempls_Buy = ADD_EXAMPLE(test_example,Class_Example_Buy);
//if(TypeOpenPositions == -1)Number_Exempls_Sell = ADD_EXAMPLE(test_example,Class_Example_Sell);
}
balance = AccountBalance();
//Ñîáèðàåì äàííûå ñ èíäèêàòîðîâ
GetSegnalOfIndicator(InSignal);
if(Number_Exempls_Buy > 0)NetOutBuy = PNN(SIGMA, InSignal,Class_Example_Buy);
if(Number_Exempls_Sell > 0)NetOutSell = PNN(SIGMA, InSignal,Class_Example_Sell);
if(NetOutBuy > 0 && NetOutSell > 0)
OUT =(NetOutBuy - NetOutSell)/(NetOutBuy + NetOutSell);
StartTorgovla();
Comment("VAR_AC_STOH: "+DoubleToStr(VAR_AC_STOH,10 ) + "\n" +
"VAR_OsMA: " +DoubleToStr(VAR_OsMA,10 )+"\n"+
"VAR_MACD: " +DoubleToStr(VAR_MACD,10 )+"\n"+
"VAR_MA_SIGNAL: " +DoubleToStr(VAR_MA_SIGNAL,10 )+"\n"+
"--------------------------------------------------------"+"\n"+
"Ðåøåíèå ñåòè äëÿ Buy :"+ DoubleToStr( NetOutBuy,10 )+"\n"+
"Ðåøåíèå ñåòè äëÿ Sell :"+ DoubleToStr( NetOutSell,10 )+"\n"+
"×èñëî ïðèìåðîâ äëÿ Buy :"+ DoubleToStr( Number_Exempls_Buy,0 )+"\n"+
"×èñëî ïðèìåðîâ äëÿ Sell :"+ DoubleToStr( Number_Exempls_Sell,0 )+"\n"+
"--------------------------------------------------------"+"\n"+
"Ðåøåíèå ñåòè :"+DoubleToStr( OUT,10 )+"\n"
);
}
//============================================================================================
Tral();
//----
return(0);
}
//+------------------------------------------------------------------+
void StartTorgovla()
{
// â ìîåì âàðèàíòå CalculateCurrentOrders(Symbol(),çäåñü ñòàâèì 1 åñëè õîòèì ÷òîá ïî áàé ñèòàë (-1) ïî ñåëë íå à 0- è òî è äðóãîå)
if(CalculateCurrentOrders(Symbol(),0) < MAX_ORDER)
{
if(OUT > TresholdBuy)// && NetOutSell < 0.01 )
//if(VAR_AC_STOH > 0 || VAR_MA_SIGNAL >0 || VAR_OsMA > 0 || VAR_MACD>0)
{
//çàïîìíèì ñèãíàë ñ èíäèêàòîðîâ è â ñëó÷àå óñïåõà äîáàâèì â ñåòü êàê ïðèìåð
GetSegnalOfIndicator(test_example);
CheckForOpen(true,false,SL,TP,VAR_Lot);
TypeOpenPositions = 1; // äëÿ ðàñïîçíàâàíèÿ êîãäà çäåëêà çàêðîåòñÿ áàé èëè ñåëë ïðèìåð ìû ñîõðàíèëè
}
}
//============================================================================================
if(CalculateCurrentOrders(Symbol(),0) < MAX_ORDER)
{
if(OUT < -TresholdSell)// && NetOutBuy >0.01)
//if(VAR_AC_STOH < 0 || VAR_MA_SIGNAL <0 || VAR_OsMA > 0 || VAR_MACD>0)
{
//çàïîìíèì ñèãíàë ñ èíäèêàòîðîâ è â ñëó÷àå óñïåõà äîáàâèì â ñåòü êàê ïðèìåð
GetSegnalOfIndicator(test_example);
CheckForOpen(false,true,SL,TP,VAR_Lot);
TypeOpenPositions = -1;
}
}
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//Ñîáèðàåì äàííûå ñ èíäèêàòîðîâ â îäèí ìàññèâ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
void GetSegnalOfIndicator(double & Input[])
{
double S[5];
SHI_CANAL(Symbol(),PERIOD_H1, S,false);
Input[0] = S[0];//âîçâðàùàåì óãîë íàêëîíà
Input[1] = S[3];//Øèðèíà êàíàëà
//============================================================================================
VAR_AC_STOH=AC_STOH(Symbol(),0,S);
//Input[2] = S[0];
//Input[3] = S[1];
//Input[4] = S[2];
//============================================================================================
VAR_OsMA = GetOsMA(Symbol(),0,S);
//Input[5] = S[0];
//Input[6] = S[1];
//Input[7] = S[2];
//============================================================================================
VAR_MACD = GetMACD(Symbol(),0,S);
Input[8] = S[0];
Input[9] = S[1];
Input[10] = S[2];
Input[11] = S[3];
Input[12] = S[4];
//============================================================================================
VAR_MA_SIGNAL = MA_SIGNAL(Symbol(),0,S);
Input[13] = S[0];
Input[14] = S[1];
Input[15] = S[2];
Input[16] = S[3];
//Input[17] = ARTSign();
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// Âûñ÷èòûâàåì ïðîöåíò îò ñâîáîäíûõ ñðåäñòâ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
double Lots()
{
double mLot = NormalizeDouble( AccountEquity()*Prots/100/1000, 1);// Âû÷èñëÿåì êîëè÷. ëîòîâ
if (mLot<0.1)mLot = 0.1; // Äëÿ òåñòà íà ïîñòîÿí. ìèíèì. ëîòàõ
return(mLot);
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// Êîíòðîëü áâðîâ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
bool ControlBats()
{
if(iTime(Symbol(),0,0) == VAR_prevtime) return(false);
VAR_prevtime = iTime(Symbol(),0,0);
return (true);
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ//+------------------------------------------------------------------+
//| Ïðèìåð èñïîëüçîâàíèÿ PNN.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
#import "#PNN_ARTIFICAL.ex4"
double PNN(double sigma, double test_example[], double Examples[][]);
int ADD_EXAMPLE(double test_example[],double & Examples[][]);
int PNN_Read_Class(string fname,double & Class_Example[][],int Nk);
int PNN_Write_Class(string fname,double Class_Example[][]);
#import
#import "#_LIB_INDIKATOR.ex4"
bool SHI_CANAL(string symbol,int timeframe, double & DataIndikator[], bool visible);
int AC_STOH(string symbol, int timeframe,double & Signals[]);
int GetOsMA(string symbol, int timeframe,double & Signals[]);
int GetMACD(string symbol, int timeframe,double & Signals[]);
double ARTSign();
int MA_SIGNAL(string symbol,int timeframe,double & Signal[]);
#import
#import "#_Lib_Torgovla.ex4"
int CalculateCurrentOrders(string symbol,int TupeOrders);
void CheckForOpen(bool Buy,bool Sell,double sl,double tp,double lot);
void CheckForClose(bool CloseBuy,bool CloseSell);
int close_all_orders();
void Tral();
#import
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//extern
double TP = 0; // ÒýéêÏðîôèò îðäåðà
//extern
double SL = 30; // ÑòîïËîññ îðäåðà
extern double Prots= 0.1; // Ïðîöåíò îò ñâîáîäíûõ ñðåäñòâ
extern double TresholdBuy = 0.9;
extern double TresholdSell = 0.9;
//============================================================================================
int MAX_ORDER = 1;
double VAR_Lot;
static int VAR_prevtime=0; //Ïåðåìåííàÿ äëÿ êîíòðîëÿ áàðîâ
double balance; //Õðàíèò áàëàíñ ïîñëå îòêðûòèÿ çäåëêè
//Çäåñòü õðàíèì Ñèãíàëû íà îòêðûòèå ñäåëîê ïîëó÷åííûå ñ èíäèêàòîðîâ
int VAR_AC_STOH=0;
int VAR_OsMA = 0;
int VAR_MACD = 0;
int VAR_MA_SIGNAL = 0;
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
#define MAX_INPUT 18
double SIGMA = 0.9;
double InSignal[MAX_INPUT];
//============================================================================================
int Number_Exempls_Buy;//×èñëî ïðèìåðîâ äëÿ Buy
double Class_Example_Buy[][MAX_INPUT];
double NetOutBuy=0;
//============================================================================================
int Number_Exempls_Sell;//×èñëî ïðèìåðîâ äëÿ Sell
double Class_Example_Sell[][MAX_INPUT];
double NetOutSell=0;
double test_example[MAX_INPUT];
int TypeOpenPositions = 0;
double OUT;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
int handle;
int VAR_Sempls[3];
// ñ÷èòûâàåì ÷èñëî ïðèìåðîâ ïî êëàññàì
handle=FileOpen("Num_Exempls.inf",FILE_BIN|FILE_READ);
if(handle>0)
{
FileReadArray(handle, VAR_Sempls, 0, 3);
FileClose(handle);
}
Number_Exempls_Buy = VAR_Sempls[0]; //Çàïîìèíàåì â ïåðåìåííûå
Number_Exempls_Sell = VAR_Sempls[1];//Çàïîìèíàåì â ïåðåìåííûå
PNN_Read_Class("Num_Exempls_Byu",Class_Example_Buy,Number_Exempls_Buy);
PNN_Read_Class("Num_Exempls_Sell",Class_Example_Sell,Number_Exempls_Sell);
balance = AccountBalance();
//----
return(0);
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
int handle;
int VAR_Sempls[3];
VAR_Sempls[0] = Number_Exempls_Buy;
VAR_Sempls[1] = Number_Exempls_Sell;
//Ñîõðàíÿåì ÷èñëî ïðèìåðîâ â êëàññàõ
handle=FileOpen("Num_Exempls.inf", FILE_BIN|FILE_WRITE);
if(handle>0)
{
FileWriteArray(handle, VAR_Sempls, 0, 3); // çàïèñü ïîñëåäíèõ 7 ýëåìåíòîâ
FileClose(handle);
}
//Buy
PNN_Write_Class("Num_Exempls_Byu",Class_Example_Buy);
//Sell
PNN_Write_Class("Num_Exempls_Sell",Class_Example_Sell);
//----
return(0);
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
//============================================================================================
//Ðàáîòàåì òîëüêî íà ñôîðìèðîâàâøèõñÿ áàðàõ!
if(ControlBats() == true)
{
VAR_Lot = Lots(); //Ïðîèçâîäèì ðàñ÷åò ëîòà äëÿ òîðãîâëè
if(balance+40 < AccountBalance())
{
//Ëåíü ïèñàòü áëîêèðîâêó îáó÷åíèÿ èç íàñòðîåê ýêñïåðòà
//Ìîæíî îñòàâèòü âêëþ÷åííûìè è äîîáó÷àòü â ïðîöåññå ðàáîòû
//if(TypeOpenPositions == 1)Number_Exempls_Buy = ADD_EXAMPLE(test_example,Class_Example_Buy);
//if(TypeOpenPositions == -1)Number_Exempls_Sell = ADD_EXAMPLE(test_example,Class_Example_Sell);
}
balance = AccountBalance();
//Ñîáèðàåì äàííûå ñ èíäèêàòîðîâ
GetSegnalOfIndicator(InSignal);
if(Number_Exempls_Buy > 0)NetOutBuy = PNN(SIGMA, InSignal,Class_Example_Buy);
if(Number_Exempls_Sell > 0)NetOutSell = PNN(SIGMA, InSignal,Class_Example_Sell);
if(NetOutBuy > 0 && NetOutSell > 0)
OUT =(NetOutBuy - NetOutSell)/(NetOutBuy + NetOutSell);
StartTorgovla();
Comment("VAR_AC_STOH: "+DoubleToStr(VAR_AC_STOH,10 ) + "\n" +
"VAR_OsMA: " +DoubleToStr(VAR_OsMA,10 )+"\n"+
"VAR_MACD: " +DoubleToStr(VAR_MACD,10 )+"\n"+
"VAR_MA_SIGNAL: " +DoubleToStr(VAR_MA_SIGNAL,10 )+"\n"+
"--------------------------------------------------------"+"\n"+
"Ðåøåíèå ñåòè äëÿ Buy :"+ DoubleToStr( NetOutBuy,10 )+"\n"+
"Ðåøåíèå ñåòè äëÿ Sell :"+ DoubleToStr( NetOutSell,10 )+"\n"+
"×èñëî ïðèìåðîâ äëÿ Buy :"+ DoubleToStr( Number_Exempls_Buy,0 )+"\n"+
"×èñëî ïðèìåðîâ äëÿ Sell :"+ DoubleToStr( Number_Exempls_Sell,0 )+"\n"+
"--------------------------------------------------------"+"\n"+
"Ðåøåíèå ñåòè :"+DoubleToStr( OUT,10 )+"\n"
);
}
//============================================================================================
Tral();
//----
return(0);
}
//+------------------------------------------------------------------+
void StartTorgovla()
{
// â ìîåì âàðèàíòå CalculateCurrentOrders(Symbol(),çäåñü ñòàâèì 1 åñëè õîòèì ÷òîá ïî áàé ñèòàë (-1) ïî ñåëë íå à 0- è òî è äðóãîå)
if(CalculateCurrentOrders(Symbol(),0) < MAX_ORDER)
{
if(OUT > TresholdBuy)// && NetOutSell < 0.01 )
//if(VAR_AC_STOH > 0 || VAR_MA_SIGNAL >0 || VAR_OsMA > 0 || VAR_MACD>0)
{
//çàïîìíèì ñèãíàë ñ èíäèêàòîðîâ è â ñëó÷àå óñïåõà äîáàâèì â ñåòü êàê ïðèìåð
GetSegnalOfIndicator(test_example);
CheckForOpen(true,false,SL,TP,VAR_Lot);
TypeOpenPositions = 1; // äëÿ ðàñïîçíàâàíèÿ êîãäà çäåëêà çàêðîåòñÿ áàé èëè ñåëë ïðèìåð ìû ñîõðàíèëè
}
}
//============================================================================================
if(CalculateCurrentOrders(Symbol(),0) < MAX_ORDER)
{
if(OUT < -TresholdSell)// && NetOutBuy >0.01)
//if(VAR_AC_STOH < 0 || VAR_MA_SIGNAL <0 || VAR_OsMA > 0 || VAR_MACD>0)
{
//çàïîìíèì ñèãíàë ñ èíäèêàòîðîâ è â ñëó÷àå óñïåõà äîáàâèì â ñåòü êàê ïðèìåð
GetSegnalOfIndicator(test_example);
CheckForOpen(false,true,SL,TP,VAR_Lot);
TypeOpenPositions = -1;
}
}
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//Ñîáèðàåì äàííûå ñ èíäèêàòîðîâ â îäèí ìàññèâ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
void GetSegnalOfIndicator(double & Input[])
{
double S[5];
SHI_CANAL(Symbol(),PERIOD_H1, S,false);
Input[0] = S[0];//âîçâðàùàåì óãîë íàêëîíà
Input[1] = S[3];//Øèðèíà êàíàëà
//============================================================================================
VAR_AC_STOH=AC_STOH(Symbol(),0,S);
//Input[2] = S[0];
//Input[3] = S[1];
//Input[4] = S[2];
//============================================================================================
VAR_OsMA = GetOsMA(Symbol(),0,S);
//Input[5] = S[0];
//Input[6] = S[1];
//Input[7] = S[2];
//============================================================================================
VAR_MACD = GetMACD(Symbol(),0,S);
Input[8] = S[0];
Input[9] = S[1];
Input[10] = S[2];
Input[11] = S[3];
Input[12] = S[4];
//============================================================================================
VAR_MA_SIGNAL = MA_SIGNAL(Symbol(),0,S);
Input[13] = S[0];
Input[14] = S[1];
Input[15] = S[2];
Input[16] = S[3];
//Input[17] = ARTSign();
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// Âûñ÷èòûâàåì ïðîöåíò îò ñâîáîäíûõ ñðåäñòâ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
double Lots()
{
double mLot = NormalizeDouble( AccountEquity()*Prots/100/1000, 1);// Âû÷èñëÿåì êîëè÷. ëîòîâ
if (mLot<0.1)mLot = 0.1; // Äëÿ òåñòà íà ïîñòîÿí. ìèíèì. ëîòàõ
return(mLot);
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
// Êîíòðîëü áâðîâ
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
bool ControlBats()
{
if(iTime(Symbol(),0,0) == VAR_prevtime) return(false);
VAR_prevtime = iTime(Symbol(),0,0);
return (true);
}
//ææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
Comments