Modification of Existing EA | Adding OR/ELSE IF Functions to Existing EA.

MQL4 지표 EA

작업 종료됨

실행 시간 9 일
고객의 피드백
A pleasure to work with, very patient and understanding & would have no problem working with Maxwell again.
피고용인의 피드백
I appreciate and am honored working with you. I look forward to more endeavors. Thank you.

명시

I have an algorithm which is based on candlestick formations - specifically the hammer candle formation. 

Previously, the algorithm only executed short positions on bearish hammers & long positions on bullish hammers.

Now, however, I'm wanting to introduce inverse hammers, but keeping the wicks in the same positions (i.e., extended lower wicks for short positions and extended upper wicks for long positions)

It's not so much the interpretations of the global & local declarations themselves that are the issue, but it's the placement of the brackets that needs to be altered, as well as maybe introducing the "OR" or "ELSE IF" logic but I'll leave that up to you.

The instructions I'm needing it to follow - in layman’s terms - is the following:

"If '(BarTime != Time[0])' is true,
then assess if '(hammerHeadClose < hammerHeadOpen)' is True.
If (hammerHeadClose < hammerHeadOpen) is True, then assess if all of it's child statements are true. 
If all of its child statements are also True, then execute a position.

Alternatively (OR/ELSE IF) if '(hammerHeadClose > hammerHeadOpen)' is true, 
then assess if all of it's child statements are true.
If all of its child statements are true, then execute a position”.  

Therefore, if(BarTime != Time[0]) must always be TRUE, but dependant on weather  '(hammerHeadClose < hammerHeadOpen)' or '(hammerHeadClose > hammerHeadOpen)' will determine which set of child statements will be assessed to determine if a poition should be open.

Obviously (hammerHeadClose > hammerHeadOpen) & (hammerHeadClose < hammerHeadOpen) are mutually exclusive criteria (the closing price can either be above the opening or below the opening - doji's aren't allowed), there is no point in the EA assessing the child statements under (hammerHeadClose > hammerHeadOpen) when (hammerHeadClose < hammerHeadOpen) and visa-versa.

To put it another way "if(BarTime != Time[0]), assess "if(hammerHeadClose > hammerHeadOpen)". 
If "if(hammerHeadClose > hammerHeadOpen)" is FALSE (for example), go straight to if(hammerHeadClose < hammerHeadOpen) and assess all child statements here".

I hope this helps, if you need any clarification, let me know. 

The code in question is on line 315 (short position criteria) and line 795 (long position criteria).

I have enclosed documentation for the EA which includes the explanations to the Global Declarations which you will come across.


if(BarTime != Time[0])
     
     {
     
       if((hammerHeadClose < hammerHeadOpen)

         && (bearHammerHead >= Transform(candleBodyLength,2))
         && (bearHammerHandle!=0 && (bearHammerHead / bearHammerHandle) <= hammerHandlePct)
         && (bullRetracementCandle!=0 && (bearHammerHead / bullRetracementCandle) <= hammerHeadPct)
         && (bullRetracementCandle!=0 && (initialTrendBearCandle / bullRetracementCandle) <= retracePercentage)
         && (bullRetracementCandle >= Transform(candleBodyLength,2))
         && (trendFast < trendSlow)
         && (momentumFast < momentumSlow)
         && (NewBar)
         && (spread <= MaxSpread)
         && (hourOfDay >= startingHour && hourOfDay < endingHour)
         && (OrdersTotal()== 0))
         
       if((hammerHeadClose > hammerHeadOpen)

         && (bullHammerHead >= Transform(candleBodyLength,2))
         && (bearHammerHandleInv!=0 && (bullHammerHead / bearHammerHandleInv) <= hammerHandlePct)
         && (bullRetracementCandle!=0 && (bullHammerHead / bullRetracementCandle) <= hammerHeadPct)
         && (bullRetracementCandle!=0 && (initialTrendBearCandle / bullRetracementCandle) <= retracePercentage)
         && (bullRetracementCandle >= Transform(candleBodyLength,2))
         && (trendFast < trendSlow)
         && (momentumFast < momentumSlow)
         && (NewBar)
         && (spread <= MaxSpread)
         && (hourOfDay >= startingHour && hourOfDay < endingHour)
         && (OrdersTotal()== 0))
 
         {

         bool OpenShort = OrderSend(.....);

         /*----------code----------*/   
        /*----------code----------*/    
        /*----------code----------*/    

         }

}

응답함

1
개발자 1
등급
(169)
프로젝트
204
30%
중재
25
40% / 44%
기한 초과
12
6%
무료
2
개발자 2
등급
(3)
프로젝트
4
0%
중재
2
0% / 100%
기한 초과
1
25%
무료
3
개발자 3
등급
(155)
프로젝트
239
70%
중재
3
67% / 33%
기한 초과
20
8%
무료
4
개발자 4
등급
(214)
프로젝트
316
34%
중재
63
37% / 40%
기한 초과
102
32%
작업중
5
개발자 5
등급
(298)
프로젝트
478
40%
중재
105
40% / 24%
기한 초과
82
17%
로드됨
게재됨: 2 코드
6
개발자 6
등급
(5)
프로젝트
11
18%
중재
0
기한 초과
3
27%
무료
7
개발자 7
등급
(42)
프로젝트
47
30%
중재
12
17% / 75%
기한 초과
6
13%
무료
비슷한 주문
Trade XAUUSD only Support MT5 Use Buy Stop and Sell Stop pending orders around a configurable breakout range. When the market breaks the range, activate the corresponding trade. Automatically place Stop Loss and Take Profit immediately with every order. Automatically cancel the opposite pending order after one side is triggered. No Martingale No Grid No averaging down No loss recovery system No unlimited position
Hey guys, I’ve got an MT4 HFT EA that’s showing strong results on an IC Markets demo account, and I'm looking to move it over to MT5. Does anyone have a solid MT5 version that performs well on IC Markets? Having the source code (MQL5) included would be awesome. Thanks for any leads
Hello! I want to automatically trade on Sierra Charts (IronBeam Brokerage). NQ ($20 per "handle") or MNQ ($2 per point or handle) - futures Broker: IronBeam mostly for the low capital requirement for futures Chart: Sierra Charts I almost exclusively trade a 5-20 bracket with 2 contracts (first contract closes at a +5 and second bracket closes at a +20.) When the +5 is reached, I move my stop from -15 to BE
Let’s use Chart M3. Stochastic 8,3,3. 85/15 trigger for sell stochastic >85, and the reversal move need to engulf the last bar for 1 point. SL over the engulfed bar. Same trigger for buys… Stochastic <15, engulfed bar by 1 point = entrance. SL under the engulfed bar… more details as soon we start to work on it
Scalping EA/straddle 30 - 200 USD
Title: Custom EA: Dynamic Trailing Limit Grid with Volatility/Velocity Filter and Auto SL/TP Description: I am looking for an experienced MQL5 programmer to develop a high-performance, robust Expert Advisor (EA) for MetaTrader 5. The strategy relies on dynamic trailing limit orders that automatically adjust to market price changes, featuring a safety buffer during high-velocity price spikes. The EA must include the
Freelance Task — EA Recovery Layer Hello. I have a ready-made MQL5 EA. The signals, SL/TP and lot calculation should essentially not be touched. I need a recovery system added. I am not a programmer — below is how the robot should behave. What stays Entry only from an EA signal. Stop-loss is not a new signal. Trailing is already built into my EA — recovery does not implement its own trailing. If trailing is disabled
Watcher position 30 - 100 USD
//+------------------------------------------------------------------+ //| synthetic tick generator based on two assets | //+------------------------------------------------------------------+ class CSyntheticTickGenerator { private : string symbol_a; string symbol_b; string synth_name; double ratio; double last_price_a; double
# SNRZ BOT — SESSION PROGRESS LOG Last updated: 2026-09-16 (local late-evening session) ## SAN BOT (new — cloned from SNRZ) - `MQL5\Experts\AutomatedOrderBot_SAN.mq5` / `.ex5` — v1.0, compiled 0 errors/0 warnings - Signal source: custom indicator "SAN" (InpSANName, buy buf 0 / sell buf 1, target bar 1), same SNRZ-style read, MA fallback if missing - Magic number 234567 (separate from SNRZ 123456 so both bots can run
Multi-Asset EA (XAUUSD / FRA40) with Time Filters, High-Impact News Avoidance, Advanced Risk/Lot Sizing, and H1 Breakout Strategy 1. RISK SETTINGS * Max Daily Loss Limit: (bool) Toggle true/false. If true, input double for max loss in currency (e.g., $500). If hit, close all positions and stop trading until next day. * Lot Sizing Mode: Dropdown menu: 1. Fixed Lots (e.g. 0.10); 2. Percentage Risk (%) based on Account
Should be as it but no alarms, also we need to add a deep search so he can see all the preves candles and a memory function so its not slowing down the indicator. for higher time frames daily 4h 1h around 365 days and for lower time frames we do up to 20k bars but both flexible so i can change it later. the memory is important so the indicator is not always recalculating everything when a new candle shows especially

프로젝트 정보

예산
30+ USD