Kod: Zaznacz cały
extern int sl = 20;
extern int tp = 20;
extern double start_lots = 0.01;
double Lots;
double OT;
double C;
double D;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
OT = OrdersTotal();
int total = OrdersHistoryTotal();
for(int i=0; i<total; i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
double profit = OrderProfit();
}
if (OT<=0&&profit>=0) Lots=start_lots;
if (OT<=0&&profit<0) Lots=Lots*2;
if (Lots>MarketInfo(Symbol(),MODE_MAXLOT)) Lots=MarketInfo(Symbol(),MODE_MAXLOT);
if (OT<=0) C=0;
if (OT<=0&&profit<0&&D==0) {D=1;C=1;}
if (OT<=0&&profit<0&&D==1&&C!=1) D=0;
if ( OT<=0 &&D==0){
OrderSend(Symbol(), OP_BUY, Lots, MarketInfo(Symbol(),MODE_ASK), 1,MarketInfo(Symbol(),MODE_ASK)-(sl*MarketInfo(Symbol(),MODE_POINT)),MarketInfo(Symbol(),MODE_ASK)+(tp*MarketInfo(Symbol(),MODE_POINT)), "Buy", 123, 0, DodgerBlue);D=0;}
if ( OT<=0 &&D==1){
OrderSend(Symbol(), OP_SELL, Lots, MarketInfo(Symbol(),MODE_BID), 1,MarketInfo(Symbol(),MODE_BID)+(sl*MarketInfo(Symbol(),MODE_POINT)),MarketInfo(Symbol(),MODE_BID)-(tp*MarketInfo(Symbol(),MODE_POINT)), "Sell", 123, 0, DodgerBlue);D=1;}
//----
return(0);
}
//+------------------------------------------------------------------+