//+------------------------------------------------------------------+
//|                                      AccMag MultiStrength 25.mq4 |
//|                                  Copyright 2024, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//==========================
bool ReverseMode=true;
 bool CloseByAcc=false;
extern bool UseMagic=false;
extern bool Calculate=true;
int StopHour=100;
int StopMinute=100;
 int ManStop =0;
int Total=2;
double FactorTarget=1;
double TargetProfit=3000/FactorTarget;
double TargetProfit2=TargetProfit*2;
double strength=1;
double TargetProfitL=-83*strength;
double TargetProfitP=83*strength;
bool StartAgain=true;
extern double OpenPrice=0.9;
extern bool UB=false;
extern double PB=320;
extern double DP=1000;
 double dist=3;
 double distB=3;
double reserve=990000;
extern int MagicX = 3000;
int MagicX1 = MagicX+1;
int MagicX2 = MagicX+2;
double lotX=0.1;
extern int Magic = 3700;
int MagicP4 = Magic+10;
int MagicP4b = Magic+11;
int MagicD4 = Magic+3;
int MagicD4b = Magic+4;
int MagicE4 = Magic+15;
int MagicH4 = Magic+6;
int MagicStop=1000000;
int MagicNeum=Magic+8;
int MagicRestart=1100000;
extern double Lot =0.01;
double lot =Lot;
extern double StopLoss=0;
extern double TakeProfit=0;
extern string ghanem ="CL";
extern string ghanemP4 ="C.4";
extern string ghanemP4b ="C.4b";
extern string ghanemB ="Bal";
extern string ghanemBb ="BalB";
extern string ghanemD4 ="D4";
extern string ghanemD4b ="D4b";
extern string ghanemE4 ="E.4";
extern string ghanemH4 ="H4";
extern string ghanemStart ="ghStart";
extern string ghanemX5a ="X5a";
extern string ghanemX5b ="X5b";
string ghanem4 ="A1b";
 string ghanem5 ="A2b";
string ghanemNeum="xmzNeum";
string ghanemRestart="ghRestart";
//string ghanemFirst="WLSB,20000:21-3-25,17:22";
//string ghanemFirst="WLBLL,20000:31-3-25,11:41";
string ghanemFirst="WLMs,20000:3-4-25,01:00";
int MagicFirstB=20000;
string ghanemStopP="ghStopP";
string ghanemStopL="ghStopL";
string ghanemStop="ghStop";
string ghanemMid1 ="Mid1";
string ghanemMid2 ="Mid2";
string ghanemLevelA1 ="LevelA1";
string ghanemLevelA2 ="LevelA2";
string ghanemLevelB ="LevelB";
string ghanemLevelC ="LevelC";
string ghanemRisk2="ghRisk2";
string ghanemRisk3="ghRisk3";
string ghanemRisk4="ghRisk4";
double ticksize;
extern double t;
double Buys,Buyt,Sells,Sellt,AskP,BidP;
double Multi=2;
double LevelA=0.06;
double LevelB=0.08;
double LevelC=0.1;
bool ChangeLevel=false;
double LEVELB= LevelB*100;
int UnitFraction=8*LEVELB*LEVELB;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);
if (ticksize == 0.00001 ||0.001)
t = ticksize*10;
else
t = ticksize;

Print("TargetProfitPXX()=",TargetProfitPXX(),"TargetProfitLXX()=",TargetProfitLXX(),"lastStopLot()=",lastStopLot(),"StrengthX()=",StrengthX(),MyOrderRestart(),MyLotD4b()-MyAcc(),"MyMony=",MyMony(), "lot=",MyLotD4b(),"Acc=",MyAcc(),"Also=",AccountBalance(),"+",AccountProfit(),"ORDERS=",MyOrderP4(),MyOrderP4b());
//--- create timer
   EventSetTimer(60);
     
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
     
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
 
//============
AskP=Ask+1000*t;
  BidP=Bid-1000*t;
//==============
 if (StopLoss == 0) Buys=0;
  else  Buys = AskP-(StopLoss*t);
 
  if (TakeProfit == 0) Buyt=0;
  else Buyt = AskP+(TakeProfit*t);
//============
 if (StopLoss == 0) Sells=0;
  else  Sells =BidP+(StopLoss*t);
 
  if (TakeProfit == 0) Sellt=0;
  else Sellt = BidP-(TakeProfit*t);
  //=======B4=B4b=======HighestBalance===(+1&+2)===C4,C4b=====
  if(ReverseMode==false)
  {
 if(MyOrderStop()==0&&MyOrderRestart()==0&&OrdersTotal()>0&&((MyOrderB()==0&&MyOrderBb()==0)||(MyOrderB()==0&&MyOrderBb()>0&&AccountBalance()-MyLotBb()>=distB)))
   OrderSend(Symbol(),OP_BUYSTOP,0.05,AskP,2,Buys,Buyt,ghanemB,AccountBalance(),0,Blue);
   if(MyOrderBb()==0&&MyOrderB()>0&&AccountBalance()-MyLotB()>=distB&&MyOrderStop()==0&&MyOrderRestart()==0)
  OrderSend(Symbol(),OP_BUYSTOP,0.05,AskP,2,Buys,Buyt,ghanemBb,AccountBalance(),0,Blue);
  }
  //=======B4=B4b=P4=====HighestBalance==ReverseMode=====
  if(ReverseMode==true)
  {
 if(MyOrderStop()==0&&MyOrderRestart()==0&&OrdersTotal()>0&&((MyOrderB()==0&&MyOrderBb()==0)||(MyOrderB()==0&&MyOrderBb()>0&&MyLotBb()-AccountBalance()>=distB)))
   OrderSend(Symbol(),OP_BUYSTOP,0.05,AskP,2,Buys,Buyt,ghanemB,AccountBalance(),0,Blue);
   if(MyOrderBb()==0&&MyOrderB()>0&&MyLotB()-AccountBalance()>=distB&&MyOrderStop()==0&&MyOrderRestart()==0)
  OrderSend(Symbol(),OP_BUYSTOP,0.05,AskP,2,Buys,Buyt,ghanemBb,AccountBalance(),0,Blue);
  }
  //========Delete==B4==or==B4b====================
  if(MyOrderB()>0&&MyOrderBb()>0&&MyOrderB()>MyOrderBb()||(MyOrderBb()>0&&MyOrderStop()>0&&MyOrderRestart()==0))
   OrderDelete(MyOrderBb());
 if(MyOrderB()>0&&MyOrderBb()>0&&MyOrderB()<MyOrderBb()||(MyOrderB()>0&&MyOrderStop()>0&&MyOrderRestart()==0))
   OrderDelete(MyOrderB());
   //==========Modify==B4==B4b=========
   if (MyOrderB()>0&&OrderSelect(MyOrderB(),SELECT_BY_TICKET,MODE_TRADES)==true)
 if(OrderOpenPrice()-Ask<500*t)
 OrderModify(OrderTicket(),AskP,Buys,Buyt,0,clrNONE);
 //=====================
   if (MyOrderBb()>0&&OrderSelect(MyOrderBb(),SELECT_BY_TICKET,MODE_TRADES)==true)
 if(OrderOpenPrice()-Ask<500*t)
 OrderModify(OrderTicket(),AskP,Buys,Buyt,0,clrNONE);
  //======Restart=======
  if((MyOrderRestart()==0&&MyOrderStop()>0&&OrdersTotal()==1&&ManStop==0)||(MyOrderRestart()==0&&OrdersTotal()==0&&ManStop==0))
 OrderSend(Symbol(),OP_BUYSTOP,0.01,AskP,2,Buys,Buyt,ghanemRestart,MagicRestart,0,Blue);
 //========Delete=Restart=============
  if(MyOrderRestart()>0&&MyOrderStop()==0&&OrdersTotal()>=Total+1)
   OrderDelete(MyOrderRestart()); 
  //====Modify=Restart================
   if (MyOrderRestart()>0&&OrderSelect(MyOrderRestart(),SELECT_BY_TICKET,MODE_TRADES)==true)
 if(OrderOpenPrice()-Ask<500*t)
 OrderModify(OrderTicket(),AskP,Buys,Buyt,0,clrNONE); 
 //======================
 if(OrdersTotal()>0)
 {
 //=====Neum8=========
 if(MyOrderNeum()==0&&MyOrderStop()==0&&MyOrderRestart()==0&&OrdersTotal()>0)
   OrderSend(Symbol(),OP_BUYSTOP,MylotNeum(),AskP,2,Buys,Buyt,ghanemNeum,MagicNeum,0,Blue);
   //========Delete===Neum====
   if(MyOrderStop()>0&&MyOrderNeum()>0)
    OrderDelete (MyOrderNeum()); 
 //=======
 if (MyOrderNeum()>0&&OrderSelect(MyOrderNeum(),SELECT_BY_TICKET,MODE_TRADES)==true)
 if(OrderOpenPrice()-Ask<500*t)
 OrderModify(OrderTicket(),AskP,Buys,Buyt,0,clrNONE);
    //======First===balance=============
 if(MyOrderFirst()==0&&MyOrderStop()==0&&MyOrderRestart()==0)
   OrderSend(Symbol(),OP_SELLSTOP,lot,BidP,2,Sells,Sellt,ghanemFirst,MagicFirstB,0,Red);
   //========Delete===First===balance====
   if(MyOrderStop()>0&&MyOrderFirst()>0)
    OrderDelete (MyOrderFirst());  
   
  if (MyOrderFirst()>0&&OrderSelect(MyOrderFirst(),SELECT_BY_TICKET,MODE_TRADES)==true)
 if(Bid-OrderOpenPrice()<500*t)
 OrderModify(OrderTicket(),BidP,Sells,Sellt,0,clrNONE); 

المصدر: Aziz ghanem
masry500

طابت أوقاتكم وبالله التوفيق

  • Currently 0/5 Stars.
  • 1 2 3 4 5
0 تصويتات / 8 مشاهدة
نشرت فى 8 مارس 2025 بواسطة masry500

ساحة النقاش

عدد زيارات الموقع

122,896