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)
프로젝트
994
47%
중재
33
36% / 36%
기한 초과
98
10%
무료
게재됨: 6 코드
3
개발자 3
등급
(850)
프로젝트
1455
72%
중재
122
29% / 48%
기한 초과
356
24%
작업중
게재됨: 3 기고글
4
개발자 4
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
5
개발자 5
등급
(2655)
프로젝트
3373
68%
중재
77
48% / 14%
기한 초과
342
10%
무료
게재됨: 1 코드
6
개발자 6
등급
(14)
프로젝트
22
59%
중재
2
0% / 50%
기한 초과
2
9%
무료
게재됨: 1 코드
비슷한 주문
I am looking for an experienced MQL5 developer to continue optimization work on an existing Expert Advisor (MQ5 source file available, 2.5MB). Important: This is NOT a project to build a new EA. The task is strictly to refine and improve the current system while keeping the core strategy intact. The EA is already functional and stable. A full code audit and baseline backtesting have already been done, and key
I am looking for an experienced MQL5 engineer to build a custom MetaTrader 5 indicator that scans historical price data and finds the best curve/shape match to the current price action, then projects the historical continuation forward as a forecast. This is not a standard bar-by-bar indicator and not a moving average/trendline tool. The goal is to compare the shape of price action curves across history, and
I need a very accurate MT5 boom and crash indicator which shows when to buy and when to sell with no repaint. The indicator should show with an arrow where to buy for boom just before the spike and sell for crash just before the spike
looking for a highly experienced mql5 developer to build a professional trading ea based on multi timeframe top down analysis and market structure concepts the system should combine higher timeframe context with lower timeframe execution and provide both precise logic and clean visual representation on chart ⸻ core requirements • implementation of multi timeframe logic higher timeframe bias combined with lower
I am looking for an experienced Pine Script developer to create a custom TradingView indicator based on a rule-based forex trading strategy. The strategy focuses on breakout and retest setups, combined with multi-timeframe confirmation for precise entries. Scope of Work Detect key support and resistance levels Identify strong breakout candles (close beyond level with momentum) Confirm valid retest of the broken level
🏆 HIRING: Quantitative Gold (XAU/USD) Trading Strategy Developer ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📌 PROJECT OVERVIEW ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ I am building a professional trading signal platform (xtraderlab.com) and need an experienced quant trader or algo developer to design, code, and backtest a high-performance intraday Gold (XAU/USD) trading strategy. The strategy will be integrated into an existing
Manly 30 - 200 USD
ZigZag based on oscillators is needed The idea of ​​the indicator Create a ZigZag indicator, which is constructed based on extreme values determined using oscillators. It can use any classical normalized oscillator, which has overbought and oversold zones. The algorithm should first be executed with the WPR indicator, then similarly add the possibility to draw a zigzag using the following indicators: CCI Chaikin RSI
AI Trading Bot 30 - 80 USD
Essential Components for Indicator Specification Objective & Overview: Briefly describe what the indicator calculates (e.g., trend, momentum, volatility) and its main purpose. Input Parameters (Variables): List all user-definable inputs (e.g., Moving Average periods, ATR multiplier) to avoid hardcoding values. Detailed Logic/Calculation Rules: Explain the formula or logic to calculate indicator values. Define
Hi, I hope you’re doing great. I’d like to share the project details. The original EA is already working, but I need you to first review and verify that all existing features are functioning correctly. After confirming everything works properly, the next task is to add a simple user dashboard that shows the number of detected zones, buy/sell/none status, and includes an ON/OFF button. Also, please make sure that
Indicator 250+ USD
Looking for an all in one buy sell indicator I'm looking for a strategy too as part of the project I'm willing to pay well but I will want to test it before proceeding with contract. I'm looking for a developer that is skilled motivated open for future projects... if you aren't one of those do us a favor and just don't respond

프로젝트 정보

예산
30 - 100 USD