Debugging exit 2 which use stochastic (simple logic)

MQL5 Indicateurs Experts

Tâche terminée

Temps d'exécution 9 minutes
Commentaires du client
developer deliver the job according to my need
Commentaires de l'employé
Thank you!

Spécifications

1) Core strategy logic (state machine)

States:

  • BEGINNING_00 (idle)

  • SETUP_00 → SETUP_01 → SETUP_02 → SETUP_03

  • SELL mirror required

Donchian touch triggers:

  • BUY_SETUP_00 triggers ONLY when price touches Donchian LOW

  • SELL_SETUP_00 triggers ONLY when price touches Donchian HIGH

  • Special case: if a candle touches BOTH Donchian high and low, use WAD trend on that candle to decide BUY vs SELL on that candle.

Restart-on-touch (important):

  • If there is no position at the close of candle n, and candle n touches Donchian, then the setup must restart to Setup_00 from candle n (even if previously in Setup_01/02/03).

  • This affects which candle is the “first setup candle” and therefore affects fixed cut-loss, retracement reference, and TP1 base.

Valid setup bar count rules:

  • setup candle t, t+1, t+2, t+3 are valid setup candles

  • t+4 is last chance for a pending stop order fill (same as Python logic)

Fixed stop loss rule (big requirement):

  • In SETUP_01, the cut loss (SL) must be fixed at the FIRST Setup01 candle.

  • Entry trigger level can trail each new setup candle.

  • Intrabar special case:

    • If price breaks the stop-loss side first (e.g., long breaks below stop level) then breaks the trigger level later in the same candle, then the SL is adjusted to the new extreme (and sizing adjusted if needed). Mirror for short.

Entry types (user selectable)
A) Normal stop entry:

  • Long: Buy Stop at setup candle High + 1 pip + spread (bid-stream model)

  • Short: Sell Stop at setup candle Low - 1 pip (bid-stream model)

B) Retracement entry:

  • Virtual breakout trigger starts retrace logic when breakout trigger is hit

  • Long: Buy Limit at % retracement from swing high toward swing ref

  • Short: Sell Limit at % retracement from swing low toward swing ref

  • CAP rule:

    • Long: if limit > breakout stop-entry price, cap it at breakout stop-entry

    • Short: if limit < breakout stop-entry price, cap it at breakout stop-entry

TP1 / TP2 exits
Two-position hedging mode:

  • At entry, open two separate positions:

    • TP1 leg = 50% volume, has server-side TP at TP1

    • Runner leg = 50% volume, no TP; TP2 logic activates only after TP1 is closed

  • Preferred over partial close

TP1:

  • Default TP1 = 1R, but in retracement mode TP1 is based on virtual breakout entry (not the retrace fill price)

TP2 method A — Stochastic trailing (this is the main area that still has issues):
Scanning start:

  • If TP1 hits on candle t, start scanning TP2 on candle t+1

Activation (whichever happens first after scanning starts):

  • Long: %K ≥ 80 OR %K crosses below %D

  • Short: %K ≤ 20 OR %K crosses above %D
    Important:

  • If TP1 hit and %K is already beyond threshold when scanning starts, activate immediately (no need to cross into it).

Trailing start:

  • If activation happens on candle a, trailing begins on candle a+1:

    • Long: stop = low(a) − 1 pip (applied from a+1 onward)

    • Short: stop = high(a) + 1 pip (applied from a+1 onward)

  • Tighten-only trailing (never loosens)

TP2 method B — PSAR trailing:

  • PSAR(t-1) trailing after TP1 closed

  • Freeze when PSAR flips to wrong side; resume when PSAR flips back
    (PSAR seems okay)

Risk / sizing:

  • Position size is risk n% of capital m (both inputs)

  • For JPY pairs etc, sizing uses OrderCalcProfit-based calculation to avoid tick-value conversion issues

Execution model:

  • Bid-stream core logic

  • Spread adjustments applied where required (e.g., buy entries, sell SL/TP, etc.)

2) What’s currently wrong

Most state machine is correct now, but TP2 Stochastic trailing sometimes:

  • does not activate when it should

  • or trails using the wrong candle reference

  • or appears inconsistent (sometimes correct, sometimes wrong)

I suspect a combination of:

  • activation gating timing (TP1 close time vs when EA detects it)

  • bar indexing / shift

  • position selection context (PositionSelectByTicket affecting subsequent PositionGet* calls)

  • SL modify failures due to stops/freeze (needs explicit logging)


Répondu

1
Développeur 1
Évaluation
(1)
Projets
0
0%
Arbitrage
2
0% / 100%
En retard
0
Gratuit
2
Développeur 2
Évaluation
(1)
Projets
2
0%
Arbitrage
1
0% / 100%
En retard
0
Gratuit
Publié : 2 codes
3
Développeur 3
Évaluation
(2)
Projets
3
0%
Arbitrage
1
0% / 0%
En retard
2
67%
Gratuit
4
Développeur 4
Évaluation
(3)
Projets
1
0%
Arbitrage
5
0% / 100%
En retard
0
Gratuit
5
Développeur 5
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
6
Développeur 6
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
7
Développeur 7
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
8
Développeur 8
Évaluation
(319)
Projets
569
35%
Arbitrage
83
30% / 45%
En retard
206
36%
Travail
9
Développeur 9
Évaluation
(7)
Projets
5
0%
Arbitrage
5
0% / 80%
En retard
1
20%
Travail
10
Développeur 10
Évaluation
(15)
Projets
29
38%
Arbitrage
3
33% / 67%
En retard
6
21%
Travail
11
Développeur 11
Évaluation
(16)
Projets
35
23%
Arbitrage
4
0% / 50%
En retard
2
6%
Travail
12
Développeur 12
Évaluation
(4)
Projets
3
33%
Arbitrage
2
0% / 100%
En retard
0
Gratuit
13
Développeur 13
Évaluation
(19)
Projets
22
18%
Arbitrage
9
33% / 44%
En retard
3
14%
Travail
Publié : 1 code
14
Développeur 14
Évaluation
Projets
2
0%
Arbitrage
0
En retard
1
50%
Gratuit
15
Développeur 15
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
16
Développeur 16
Évaluation
(13)
Projets
20
40%
Arbitrage
3
0% / 67%
En retard
3
15%
Gratuit
17
Développeur 17
Évaluation
(6)
Projets
7
14%
Arbitrage
1
0% / 100%
En retard
1
14%
Gratuit
18
Développeur 18
Évaluation
(645)
Projets
873
48%
Arbitrage
29
38% / 17%
En retard
63
7%
Gratuit
19
Développeur 19
Évaluation
(22)
Projets
29
3%
Arbitrage
4
25% / 0%
En retard
3
10%
Gratuit
20
Développeur 20
Évaluation
(619)
Projets
722
33%
Arbitrage
46
48% / 41%
En retard
14
2%
Chargé
21
Développeur 21
Évaluation
(258)
Projets
269
29%
Arbitrage
1
100% / 0%
En retard
3
1%
Travail
Publié : 2 codes
22
Développeur 22
Évaluation
(9)
Projets
16
19%
Arbitrage
2
0% / 50%
En retard
3
19%
Chargé
23
Développeur 23
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
24
Développeur 24
Évaluation
(10)
Projets
14
43%
Arbitrage
0
En retard
3
21%
Gratuit
25
Développeur 25
Évaluation
(22)
Projets
28
7%
Arbitrage
9
33% / 33%
En retard
1
4%
Travail
26
Développeur 26
Évaluation
(1)
Projets
1
100%
Arbitrage
1
0% / 0%
En retard
0
Travail
Publié : 24 articles, 6 codes
Commandes similaires
Indicador Maximas e Minimas + Super Trend O Indicador MAX/MIN é um indicador de análise técnica para o MetaTrader 5 , desenvolvido para ajudar você a identificar regiões importantes de preço e possíveis oportunidades de compra e venda. O que ele faz MAX/MIN: identifica máximas e mínimas relevantes do mercado e mostra os preços no gráfico. HH / HL / LH / LL: ajuda a visualizar a estrutura do mercado, mostrando quando
Hello Traders, Have a trading strategy or idea you want to automate? I specialize exclusively in MQL5 development, helping traders turn their concepts into professional trading solutions. Custom Expert Advisors — automate your strategy and reduce manual execution Custom Indicators — transform your market ideas into powerful trading tools Fix & Debug — identify errors and get your existing code working properly
I DO NOT need any programming or strategy development. I already have a working NinjaTrader 8 automated strategy based on a 3/5 EMA crossover. I need you to run my existing strategy through NinjaTrader Strategy Analyzer/Optimizer, test the existing adjustable parameters, and find robust settings with the best profit factor and lowest reasonable drawdown. I will provide the existing NinjaScript ZIP. I do not want the
I'm looking for an experienced developer to create an automated gold trading bot. The bot should be compatible with MetaTrader 4/5 and TradingView. Key Requirements: - Automated trading bot - Compatible with MetaTrader 4/5 and TradingView - Implement scalping and swing trading strategies Ideal Skills and Experience: - Proficiency in trading algorithms - Experience with gold trading - Familiarity with MetaTrader and
I need a robust optimization of my MT5 EA, mainly for XAUUSD (Gold). Please optimize the existing adjustable parameters such as entry/exit settings, SL/TP, trailing/break-even settings, and any other strategy parameters that are appropriate. I want the optimization focused on stable profitability, low/moderate drawdown, and robustness rather than simply the highest possible profit. Please use out-of-sample testing
NinjaTrader 8 / NinjaScript Phase 1 build: convert an existing Auction Market Theory (AMT) strategy into objective, alert-only decision-support logic. Not a bot, no auto-execution — trades stay manual. Covers NQ/MNQ, ES, CL, MGC using 30-min TPO/Volume Profile context with 5-min confirmation: one 5-min close outside VAH/VAL = acceptance, close back inside = rejection. Dashboard shows bias, auction state, location
Hello, I need a custom NON-REPAINT MT5 indicator that gives sell/buy arrow signals 1–2 candlesticks before a spike on Crash and boom indices respectively occurs. Requirements: Works perfectly on MT5 Shows arrows before the spike (1–2 candles earlier). Non-repaint – once the arrow appears, it must stay. Should be accurate, not quantity — only quality signals. Must work on both demo and live accounts. I want the
Hello, I saw an indicator on TradingView and would like to know if you will be able to convert it for use on Thinkorswim platform? Thanks. if anyone can help me with it kindly do well to bid it urgent thanks looking forward too see you
calcVolume( void ) { //--- MqlRates rates[]; if ( CopyRates ( _Symbol , PERIOD_CURRENT , startTime, endTime, rates) > 0 ) { double rangeHigh = rates[ 0 ].high, rangeLow = rates[ 0 ].low; int count = MathAbs ( iBarShift ( _Symbol , PERIOD_CURRENT , startTime) - iBarShift ( _Symbol , PERIOD_CURRENT , endTime)) + 1 ; //---VERTICAL PRICE RANGE for ( int b = 0
Create an MT5 Expert Advisor (EA) for trading Gold (XAUUSD). The EA should provide BUY and SELL signals based on trend direction, market momentum, and price action. It should automatically place trades only when the entry conditions are met. Risk management: Use a small adjustable lot size. Include Stop Loss (SL) and Take Profit (TP). Include a maximum daily loss limit. Include a maximum number of open trades. Do not

Informations sur le projet

Budget
30 - 100 USD