← К каталогу
Исходный код · ID 2658

mov_macd_ea_ar1.mq4

Похожие материалы по тегам

xauusd_gold_perfect.mq4MetaTrader 4 · 1 общих теговtm sniper pro.txtTradingView · 1 общих теговsource code of grid with 100 pips stop loss.mq4MetaTrader 4 · 1 общих теговsniper pro.mq5MetaTrader 5 · 1 общих теговpro +.txtTradingView · 1 общих теговofada_gold_trader_v230.mq5MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Получить полный код

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

#property version   "1.00"
#property strict
extern string M="Moving Average";
extern int EMA1 = 50;
extern int shift1=0;
input ENUM_MA_METHOD MODE_MA1 = 0;
input ENUM_APPLIED_PRICE apply1=PRICE_CLOSE;
 input string MA="MACD";
 input int Fast_Macd1=12;
 input int Slow_Macd1=26;
 input int Signal_Macd1=9;

extern double Lot1=0.1;
extern bool Auto_Lots=false;
extern double  MaxRisk = 0.01;    
extern int  TakeProfit=30;
extern int StopLoss=0;
 extern int win_USD=0;
 input double Max_SPREAD=5;
 extern string Time_Start="00:00";
extern string Time_End="23:59"; 
extern bool Multiplication=true;
input string Multiplication_info = "0=1,1,1,1....    1=1,2,3,4,5....    2=1,2,4,8,16....    3=1,3,9,27....";
extern int Multiplication_Mode = 2;
input int Step=20;
input int Max_Open=20;
extern int MagicNumber=452;

double ST;
double pt,pr;
string nam_B,nam_S,nam_B1,nam_S1;
double Price_S,openprice,LB1,lotall,lota2; 
color color_pofet,clr,color_pofet2,color_pofet3,color_pofet4;
int OP,Type;string T;
double Profit;
datetime TB,TS,TA1,TA2,TB2,TS2;
double P;
double lotaB,lotaS,LS1;

double openpriceb,openprices;
double DD;
datetime TIMx,TIM,TIMXW,TIMXW2,TSC,TBC;
int BB,SS,BBX,SSX,QQ;
double Step1,ST1,ST2,ST3,ST4,ST5,ST6,ST7,ST8,ST9,ST10,ST11,ST12,ST13,ST14,ST15,ST16,ST17,ST18,ST19,ST20;
 double Buy_Line,Sell_Line;
double buy_Take,sell_Take;

 double Price_buy,Price_sell,slx,tpx;
int Ticket_b,Ticket_s,GG;
double EMA1_M1,EMA1_M0;

  int OnInit()
  {
      // код доступен только после оплаты
   }

void OnDeinit(const int reason)
  {
Comment("");
  for(int i=ObjectsTotal()-1;i>=0;i--)
  {
   string name=ObjectName(0,i);
   if(StringSubstr(name,0,6)=="Panel_")
   {
    ObjectDelete(0,name);
   }
  }

  }
void OnTick()
  {
      // код доступен только после оплаты
   }

int open(int ty,double lott,double prc,int pof,int sll)
   {
     double sl=0,tp=0;

     bool modi;

     if(ty==OP_BUY || ty==OP_BUYSTOP || ty==OP_BUYLIMIT)
        {
         if(sll>0){sl=prc-(sll*pt);}else{sl=0;}
         if(pof>0){tp=prc+(pof*pt);}else{tp=0;}
         clr=Green;
         T="Ask ";
         pr=NormalizeDouble(Ask,Digits);
        }
     if(ty==OP_SELL || ty==OP_SELLSTOP || ty==OP_SELLLIMIT)
       { 
         if(sll>0){sl=prc+(sll*pt);}else{sl=0;}
         if(pof>0){tp=prc-(pof*pt);}else{tp=0;}
         clr=Red;
         T="Bid";
         pr=NormalizeDouble(Bid,Digits);
       }     
         int tik=OrderSend(Symbol()
                ,ty
                ,lott
                ,NormalizeDouble(prc,Digits)
                ,10
                ,0
                ,0
                ,""
                ,MagicNumber
                ,0
                ,clr);
          string t;
            if(ty==OP_BUY)t="BUY";if(ty==OP_SELL)t="SELL";if(ty==OP_BUYSTOP)t="BUY STOP";if(ty==OP_SELLSTOP)t="SELL STOP";if(ty==OP_BUYLIMIT)t="BUY LIMIT";if(ty==OP_SELLLIMIT)t="SELL LIMIT";
      if(tik>0&&OrderModifyCheck(tik,prc,sl,tp)&&(CheckStopLoss_Takeprofit(ORDER_TYPE_BUY,sl,tp)||CheckStopLoss_Takeprofit(ORDER_TYPE_SELL,sl,tp)))
         {
          if(tp>0 || sl>0)modi=OrderModify(tik,prc,NormalizeDouble(sl,Digits),NormalizeDouble(tp,Digits),0,CLR_NONE);   else modi=true;
          if(!modi){Print("Modify Err#= ",GetLastError(),"   ",Symbol()," ",Period(),"   Open Price= ",DoubleToStr(prc,Digits),"   SL= ",DoubleToStr(sl,Digits),"   Tp= ",DoubleToStr(tp,Digits));} 
           Print("Order Opened successfully   " ,"Type   ",t,"  LotSize   ",lott,"  Price   ",DoubleToStr(prc,Digits),"  TP   ",DoubleToStr(tp,Digits),"  SL   ",DoubleToStr(sl,Digits));
         }
         else
           {
            Print("OrderSend failed with error #",GetLastError(), " Type ",t,"   LotSize= ",lott,"   ",T,"Now= ",DoubleToStr(pr,Digits),"   Price= ",DoubleToStr(prc,Digits),"   TP= ",DoubleToStr(tp,Digits),"   SL= ",DoubleToStr(sl,Digits),"   Spread= ",MarketInfo(Symbol(),MODE_SPREAD));
           }

         return(tik);

}  

 int ordestotal1_2(int type)//دالة التحكم فى عدد الصفقات 
{ 
int total_2=0; 
for(int b=0;b<OrdersTotal();b++){ 
if(OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&MagicNumber==OrderMagicNumber()&&OrderType()==type){ 
total_2++; 
} 
} 
return(total_2); 
} 

int ordestotal1()
{ 
int total_2=0; 
for(int b=0;b<OrdersTotal();b++){ 
if(OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&MagicNumber==OrderMagicNumber()){ 
total_2++; 
} 
} 
return(total_2); 
} 

int ordestotal1_3()
{ 
int total_2=0; 
for(int b=0;b<OrdersTotal();b++){ 
if(OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
if(MagicNumber==OrderMagicNumber()){ 
total_2++; 
} 
} 
return(total_2); 
} 

 bool CloseDeleteAll()//دالة اغلاق الصفقات معا
{
    int total  = OrdersTotal();
      for (int cnt = total-1 ; cnt >=0 ; cnt--)
      {
         if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))

         if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)) 
         {
         if(OrderSymbol()==Symbol()&&MagicNumber==OrderMagicNumber()){
            switch(OrderType())
            {
               case OP_BUY       :
               {
                  if(!OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,Violet))
                     return(false);
               }break;                  
               case OP_SELL      :
               {
                  if(!OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,Violet))
                     return(false);
               }break;
            }             

            if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLLIMIT)
               if(!OrderDelete(OrderTicket()))
               { 
                  Print("Error deleting " + (string)OrderType() + " order : ",GetLastError());
                  return (false);
             }  }
          }
      }
      return (true);
}

void line(string name, double pr1,color clrr, int style)
    {
     if(ObjectFind(name) != 0)
        {
         ObjectCreate(name, OBJ_HLINE, 0, 0,pr1);
         ObjectSet(name, OBJPROP_COLOR, clrr);
         ObjectSet(name, OBJPROP_STYLE, style);
       } 
       else{if(ObjectGet(name,OBJPROP_PRICE1)!=pr1)
         {ObjectDelete(name);}}
   }

 bool CloseDeleteAll2(int Typez)//دالة اغلاق الصفقات معا
{
    int total  = OrdersTotal();
      for (int cnt = total-1 ; cnt >=0 ; cnt--)
      {
         if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))

         if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)) 
         {
         if(OrderSymbol()==Symbol()&&MagicNumber==OrderMagicNumber()&&OrderType()==Typez){
            switch(OrderType())
            {
               case OP_BUY       :
               {
                  if(!OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,Violet))
                     return(false);
               }break;                  
               case OP_SELL      :
               {
                  if(!OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,Violet))
                     return(false);
               }break;
            }             

            if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLLIMIT)
               if(!OrderDelete(OrderTicket()))
               { 
                  Print("Error deleting " + (string)OrderType() + " order : ",GetLastError());
                  return (false);
             }  }
          }
      }
      return (true);
}

  double Lots(double risk)
   {
    double Lot;
    if(Auto_Lots)
       { 
        if(risk>1)risk=1;

        double Min_Lot = MarketInfo(Symbol(), MODE_MINLOT);
        double Max_Lot = MarketInfo(Symbol(), MODE_MAXLOT);
        double lot_step= MarketInfo(Symbol(), MODE_LOTSTEP);
        Lot=NormalizeDouble(AccountBalance()*risk/100/10,2);
        Lot=NormalizeDouble(Lot,2);
        Lot=NormalizeDouble(Lot/lot_step,0)*lot_step;
        if (Lot < Min_Lot) Lot = Min_Lot; 
        if (Lot > Max_Lot) Lot = Max_Lot;

       }
      else
      {
         if(Lot1>MarketInfo(Symbol(),MODE_MAXLOT))
            {Lot=MarketInfo(Symbol(),MODE_MAXLOT);}
         else if(Lot1<MarketInfo(Symbol(),MODE_MINLOT))
           {Lot=MarketInfo(Symbol(),MODE_MINLOT);}
         else if(MathMod(Lot1,MarketInfo(Symbol(),MODE_LOTSTEP))>0)
           {
            double R=MathMod(Lot1,MarketInfo(Symbol(),MODE_LOTSTEP))/100 ;
            Lot=NormalizeDouble(Lot1-R,2) ;
           }
         else
           {
            Lot=Lot1;
           }
      }

    return(Lot);
   }

  double pofet(){ //دالة معرفة حجم ربح الصفقات المفتوحه

 double pr_2=0;
 for(int p=0;p<OrdersTotal();p++){
 if(OrderSelect(p,SELECT_BY_POS,MODE_TRADES))
 if(OrderSymbol()==Symbol()&&MagicNumber==OrderMagicNumber()){
 pr_2+=(OrderProfit()+OrderCommission()+OrderSwap());
}
 }return(pr_2);
 }

void samir(string a_name_0, double a_corner_8, int a_y_16, int a_x_20, string a_text_24, int a_fontsize_32, string a_fontname_36, color a_color_44) {
   ObjectCreate(a_name_0, OBJ_LABEL, 0, 0, 0);
   ObjectSetText(a_name_0, a_text_24, a_fontsize_32, a_fontname_36, a_color_44);
   ObjectSet(a_name_0, OBJPROP_CORNER, a_corner_8);
   ObjectSet(a_name_0, OBJPROP_XDISTANCE, a_x_20);
   ObjectSet(a_name_0, OBJPROP_YDISTANCE, a_y

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

Что вы получите после оплаты

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
2 436₽