I Make an EA Martingale and need some tips

MQL4 指标 专家

工作已完成

执行时间4 天
客户反馈
It was great to work with Aleksei because in some situations I felt like I had a friend near me who gave me advice. Thanks Aleksei !!!

指定

1. how to find the martingale level after a closing and reopening

2. How implement break even (template code)


I have this params:

input string  s1                   = "Last update: 2017/10/11";
input bool    UseMoneyManagement   = false;     //UseMoneyManagement use money management for the trade volume calculation
input double  RiskPercent          = 0.5;       //RiskPercent the percent of the risk for the trade volume calculation
input double  Lots                 = 0.01;      //Lots fixed lot size
input int     NBarsCalcStopLoss    = 4;         //NBarsCalcStopLoss The n. bars for calc Higest (for sell) or Lowest (for buy)
input double  GapStopLoss          = 5;         //GapStopLoss To be added to StopLoss
input double  RRTakeProfit         = 1.0;       //RRTakeProfit Rsk Reward for calc Take profit
input int     MagicNumber          = 1122112223;//Magic number for EA's orders
input int     Slippage             = 70;        //Slippage maximum allowed deviation (in pips) of the price by opening
input int     SpreadLimit          = 12;        //SpreadLimit maximum allowed spread in points
// input int     StrategyN            = 3;         //number of case in FcStrategy.MA routine that is the strategy used to determine the buy or sell

input string  s2                   = "-------------------";
input int     FromTimeHourTrade    = 6;         // Hour from start trade
input int     ToTimeHourTrade      = 19;        // Hour to stop trade
input int     MaxBarsStillTradeOpen= 10;        // Max number of bars where position can be open, after this the operation is closed
input int     PercOfGainForBE      = 0;         // PercOfGainForBE (0=Disalbed) The percentage of gain for apply Break even
input int     PercOfLotsToCloseAtBE= 50;        // The percetange of lots to be close when the PercOfGainForBE is reached
    
input string  s3                   = "-------------------";
input double  MultiplierLot        = 2.0;
input double  MaxLots              = 1.28;
input string  ContRev              = "RCCRCRRCCCRRC"; //C=Continue; R=Reverse; Continue is the versus of first (lose) trade, Reverse is the opposite versus of first (lose) trade



this routine menage break even but don't work

//+--------------------------------------------------------------------------------+
//| the function for managing of EA's Break even and max bars trade                |
//+--------------------------------------------------------------------------------+
void do_manageBE( int magicBuySell)
{
   int typ;double lot=0;double profit;
   double tmpLots=0;
   int BuyOrSell=0;
  
   double point = XGetPoint(Symbol());                            // get point value
   int total_ordersB = orders_count(MagicNumber);                 // count of opening orders
   int total_ordersS = orders_count(MagicNumber);                 // count of opening orders
   string symbol = Symbol();
  
   //
   //--- Check the action to do based on the last trade result
   //
   if(((total_ordersB+total_ordersS) > 0) ){                      // Check One order active
      if(nBSOT.LastStartHour!=Time[0]){                           // Check for increment n. of bar trade is active
         // Moved to History() routine --- nBSOT.nBarsStillOpenTrade=iBarShift(NULL,0,OrderOpenTime(),true);//++;
         nBSOT.LastStartHour=Time[0];
      }
      //
      // Manage n. max of bar where the trade must be opened
      //
      if((nBSOT.nBarsStillOpenTrade>MaxBarsStillTradeOpen) && (MaxBarsStillTradeOpen>0)){        // Check the numer of hour active trade exceed the threeshold
         int orders_total = OrdersTotal();                        // Num. tot. orders
         for( int count = 0; count < orders_total; count++ ){     // Cicle for orders
            if( OrderSelect(count,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber() == MagicNumber ){ // if selected order is active trade and magic ok
               // Print("Close..."+OrderTicket()+":-:"+OrderLots()+":-:"+Bid+":-:"+nBSOT.nBarsStillOpenTrade);
               int ord_type = OrderType();
               double PriceForClose=0.0;
                if( ord_type == OP_BUY  )
                  PriceForClose=Bid;
                if( ord_type == OP_SELL  )
                  PriceForClose=Ask;
               
               XOrderClose(OrderTicket(), OrderLots(), PriceForClose, Slippage);                               // Close order                                   
            }
         }
      }
      //
      // Manage Break Even
      //
      if((PercOfGainForBE>0)){        // Check the break even required by user input
         int orders_total = OrdersTotal();                        // Num. tot. orders
         for( int count2 = 0; count2 < orders_total; count2++ ){     // Cicle for orders
            if( OrderSelect(count2,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber() == MagicNumber ){ // if selected order is active trade and magic ok
               // Print("Close..."+OrderTicket()+":-:"+OrderLots()+":-:"+Bid+":-:"+nBSOT.nBarsStillOpenTrade);
               int ord_type = OrderType();
               double PriceForClose=0.0;
                if( ord_type == OP_BUY  ){
                  PriceForClose=0.0;
                  if(Bid>=LastTradeBE){    // Check if the LastTradeBE (setted at the order open) is more than Bid price
                     PriceForClose=Bid;    // is time to close order
                  }
                }
                if( ord_type == OP_SELL  ){
                  PriceForClose=0.0;
                  if(Ask<=LastTradeBE){    // Check if the LastTradeBE (setted at the order open) is less than Ask price
                     PriceForClose=Ask;    // is time to close order
                  }
                }
                if(PriceForClose>0.0){
                  XOrderModify(OrderTicket(),PriceForClose,OrderOpenPrice(),OrderTakeProfit(),0,0);         // Modify SL to entry price (Break Even)
                  //if(PercOfLotsToCloseAtBE>0){
                  //   XOrderClose(OrderTicket(), ActualTradePercOfLotsToCloseAtBE, PriceForClose, Slippage);
                  //   return;
                  //}
                  // XOrderClose(OrderTicket(), OrderLots(), PriceForClose, Slippage);                               // Close order                                   
                }
            }
         }
      }
           
     
   }



反馈

1
开发者 1
等级
(885)
项目
1410
67%
仲裁
123
32% / 41%
逾期
218
15%
空闲
发布者: 1 代码
2
开发者 2
等级
(630)
项目
995
47%
仲裁
33
36% / 36%
逾期
98
10%
工作中
发布者: 6 代码
3
开发者 3
等级
(850)
项目
1457
72%
仲裁
122
29% / 48%
逾期
356
24%
空闲
发布者: 3 文章
4
开发者 4
等级
项目
0
0%
仲裁
0
逾期
0
空闲
5
开发者 5
等级
(2661)
项目
3380
68%
仲裁
77
48% / 14%
逾期
342
10%
空闲
发布者: 1 代码
6
开发者 6
等级
(14)
项目
22
59%
仲裁
2
0% / 50%
逾期
2
9%
空闲
发布者: 1 代码
相似订单
HFT Directional Grid Scalper (Simple, Training Project) Overview We are looking for a developer to create a high-frequency grid scalper with a simple, deterministic logic. This is not a complex bot — the goal is to have a clean implementation for training, testing, and educational purposes. The bot should: Continually open trades in one direction only (BUY or SELL) Use ATR-based grid spacing Maintain a fixed lot size
i have a tradingview simple indecator of 40 lines of code ,i want it to convert it into mt5 EA strategy details given below AUTOMATED TRADING STRATEGY Multi-Lot Execution & Dynamic Trailing Stop Logic System Architecture & Operational Rules Trading Bot Strategy Profile Entry Conditions Buy Logic • • • Wait for Buy Signal candle. Confirmation: Future candle must break the signal high. Execution: Open 2 orders of 0.01
HFT Directional Grid Scalper (Simple, Training Project) Overview We are looking for a developer to create a high-frequency grid scalper with a simple, deterministic logic. This is not a complex bot — the goal is to have a clean implementation for training, testing, and educational purposes. The bot should: Continually open trades in one direction only (BUY or SELL) Use ATR-based grid spacing Maintain a fixed
I want a accurate indicator with buy and sell arrows or circle.. with exit points which trade xauusd and btcusd via weekend ... for small like R100 or 500 .... like which can grow small accounts with ... on for serious developer.. no bullshit ... I need on Friday please
I'd like to automate a relatively simple strategy in Sierra Chart, but I'd like to have it backtested and optimized first. Could we collaborate on this, and what would the cost be? Only bid if you think you can handle this project, and I want expert in sierra chart.. Thanks
I need an EMA crossover EA specifically for Boom and Crash. It should automatically buy and sell when crossovers happen. I want adjustable inputs for lot size, timeframe, and maximum loss. I’m keeping it simple because I’ve had bad experiences with EAs before. It should do only the job it is built for, properly and reliably. need someone who have already build EA or Indicator for Boom and Crash befor atleast 10
//+------------------------------------------------------------------+ //| ProTradingEA MT5 | //| Fully MT5-compliant with MACD, Trailing Stop, Break-Even | //+------------------------------------------------------------------+ #include <Trade\Trade.mqh> CTrade trade; // Optional override input string SymbolOverride = ""; // leave blank to auto-detect struct EASettings { int
I have access to an MT5 account. I have investor access. I would like to know if someone could help me create a bot that copies only the trades made on XAU/USD in that account but in my MT4 account. In that account, many trades are made across various pairs, and I realize that the conditions of their account are not very favorable for the type of trading they do, as the commissions are very high. I have an account
Good day, I would like to have an expert advisor for my MT4 indicator (Major key alert) that can scan and provide push notification messages for entry opportunities across different time frames when a when a signal is identified
"I need an MT5 EA based on price action — liquidity sweep + hammer/shooting star reversal strategy. TREND: Identified by HH/HL for uptrend, LL/LH for downtrend on selected timeframe. No trade in ranging conditions. BUY SETUP: In uptrend, price retraces to swing low zone, wicks below it (liquidity sweep), hammer forms (lower wick min 2x body, closes above swept low). Buy stop entry at hammer high. SL below hammer

项目信息

预算
30 - 100 USD