← Назад к списку файлов

clusterdeltaexpert_4.12_ibwmfi.mq4

Поиск по коду файла

#property version   "4.12"
#property strict

input string   CommonSettings="--- Общие настройки ---";
input double   Lots=0.1;
input int      Body=15;
input double   VolumePercent=20.0;
input double   MinVolume=700;
input int      TpShift=490;
input double   RiskPercent=0;
input int      Distance=100;
input int      DeltaDistance=190;
input int      AfterOrder=5;
input int      OrderForBreakeven=20;
input int      BreakEven=10;
input int      Magic=987;
input bool     Setka=True;
input string   ClusterDeltaSettings="--- Настройки ClusterDelta ---";
input bool     CD_Premium=true;
input int      Update_C_D_Standart_sec=12;
input string   Help_Url="";
input string   Instrument="AUTO";
input string   MetaTrader_GMT="AUTO";
input bool     TikVolume=false;
string         Comment_History="--- Premium Settings";
input int      Days_in_History=0;
input datetime Custom_Start_time=D'2017.01.01';
input datetime Custom_End_time=D'2017.01.01';
color          Current_Volume=clrRed;
int            Font_Size=8;

bool TradeOn=false;
bool sig=false;
double   LotStepPercent=0;
int OnInit() {
      // код доступен только после оплаты
   }//+--------------------------- End OnInit ---------------------------------------+
void OnDeinit(const int reason) {

}//+--------------------------- End OnDeinit ---------------------------------------+
void OnTick() {
      // код доступен только после оплаты
   }
   static datetime t0=0;
   bool NewBar= t0!=Time[0] && t0!=0;
   t0=Time[0];
   if(NewBar) {
   if (Setka) LotStepPercent=0;
   else LotStepPercent=-1;
   if(!TradeOn) {
      for(int i=OrdersTotal()-1; i>=0; i--)
         if(OrderSelect(i,SELECT_BY_POS) && OrderSymbol()==_Symbol && OrderMagicNumber()==Magic)
            bool Res=OrderClose(OrderTicket(),OrderLots(),
                     OrderType()==OP_BUY ? Bid : Ask,(int)MarketInfo(_Symbol,MODE_SPREAD));
      return;
   }
   double Profit=0;
   for(int i=0; i<OrdersTotal(); i++)
      if(OrderSelect(i,SELECT_BY_POS) && OrderSymbol()==_Symbol && OrderMagicNumber()==Magic)
         Profit+=OrderProfit();
   if(RiskPercent>0 && Profit<=-RiskPercent*AccountBalance()/100) {           
      TradeOn=false;
      Alert("Торговля остановлена");
      return;
   }
   static bool CheckBuy=false, CheckSell=false, CheckCloseBuy=false, CheckCloseSell=false;
   static bool Check=false;

      CheckBuy=CheckSell=false;
      Check=true;

   int Totals[2]={0};
   double Aver[2]={0},Vol[2]={0};
   for(int i=0; i<OrdersTotal(); i++)
      if(OrderSelect(i,SELECT_BY_POS) && OrderSymbol()==_Symbol && OrderMagicNumber()==Magic &&
               OrderType()<=OP_SELL) {
         Totals[OrderType()]++;
         Vol[OrderType()]+=OrderLots();
         Aver[OrderType()]+=OrderOpenPrice()*OrderLots();  
      }
   Aver[OP_BUY]=Vol[OP_BUY]==0 ? 0 : Aver[OP_BUY]/Vol[OP_BUY];
   Aver[OP_SELL]=Vol[OP_SELL]==0 ? 0 : Aver[OP_SELL]/Vol[OP_SELL];
   if(OrderForBreakeven>0) {
      if(Totals[OP_BUY]>=OrderForBreakeven && Bid>=Aver[OP_BUY]+BreakEven*_Point)
         CheckCloseBuy=true;
      if(Totals[OP_SELL]>=OrderForBreakeven && Ask<=Aver[OP_SELL]-BreakEven*_Point)
         CheckCloseSell=true;
   }
   if(CheckCloseBuy)
      CheckCloseBuy=!CloseAll(OP_BUY);
   if(CheckCloseSell)
      CheckCloseSell=!CloseAll(OP_SELL);
   if(Check) {
      if(MathAbs(Close[1]-Open[1])>Body*_Point) { 
         double Vol1,Vol2;
         if(TikVolume) {
            Vol1=(double)Volume[1];
            Vol2=(double)Volume[2];
         } 
         else {      
            if (CD_Premium)
            {
            Vol1=iCustom(_Symbol,PERIOD_CURRENT,"ClusterDelta_PremiumVolume_4.1.ex4",
                  Help_Url,Instrument,MetaTrader_GMT,Comment_History,Days_in_History,
                  Custom_Start_time,Custom_End_time,Current_Volume,Font_Size,0,1);
            Vol2=iCustom(_Symbol,PERIOD_CURRENT,"ClusterDelta_PremiumVolume_4.1.ex4",
                  Help_Url,Instrument,MetaTrader_GMT,Comment_History,Days_in_History,
                  Custom_Start_time,Custom_End_time,Current_Volume,Font_Size,0,2);
                  }
                  else
                  {
            Vol1=iCustom(_Symbol,PERIOD_CURRENT,"ClusterDelta_Volume_3.5.ex4","--- Futures Ticker or AUTO",Instrument,Update_C_D_Standart_sec,MetaTrader_GMT,0,1);
            Vol2=iCustom(_Symbol,PERIOD_CURRENT,"ClusterDelta_Volume_3.5.ex4","--- Futures Ticker or AUTO",Instrument,Update_C_D_Standart_sec,MetaTrader_GMT,0,2);
            }
         }
         if(Vol1>=MinVolume && (Vol2==0 || (Vol1-Vol2)/Vol2*100>VolumePercent)) 
         {          
           sig=true;
         }
       

Показано первые 50% кода (символов: 7123)

Как получить полную версию?

Введите ваш email и нажмите кнопку, чтобы перейти к оплате.