Guarda come scaricare robot di trading gratuitamente
Ci trovi su Telegram!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Sistemi Esperti

PropGuard 1.02 - account risk manager for prop firm accounts - sistema esperto per MetaTrader 5

Sergej Michajlik
Sergej Michajlik
Happy to do Pine Script to MQL5 conversions, fix or finish an existing EA, add risk management to one, or just run an honest backtest on something you already have.
| Italian English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Türkçe
Visualizzazioni:
15
Valutazioni:
(2)
Pubblicato:
Freelance MQL5 Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

PropGuard 1.02 — strumento di gestione del rischio a livello di conto per i conti delle società di trading proprietario

Una singola istanza su qualsiasi grafico monitora tutte le posizioni presenti sul conto, indipendentemente dal fatto che siano state aperte da un EA o manualmente, e chiude tutte le posizioni prima che venga raggiunto il limite di perdita giornaliero o massimo della società. La versione 1.02 aggiunge limiti di dimensione in termini monetari, un requisito di stop-loss e un limite di rischio per singola posizione.


Perché la versione 1.02: i dati del mio conto personale

Gestisco manualmente un conto FTMO da 100k insieme ai miei EA. Quattro giorni del mio diario di trading (46 operazioni manuali) hanno evidenziato due aspetti che i soli limiti di perdita giornalieri e massimi non rilevano:

  • 17 operazioni si sono concluse senza uno stop loss. La più lunga è durata 2 ore e 22 minuti.
  • Un’operazione su GER40 da 18 lotti aveva uno stop di 94 punti e ha perso 1.933 — circa due terzi del limite giornaliero del 3%, su una singola operazione.

Lo screenshot riproduce entrambe le operazioni nello Strategy Tester (una build solo per il tester apre le due operazioni; il codice di protezione è quello allegato qui), con InpRequireStopLoss impostato su true, InpMaxRiskPerPos a 750 e i limiti di dimensione disattivati in modo che agiscano solo le regole di stop: lo stop da 18 lotti viene immediatamente ridotto al limite di 750, mentre gli 8 lotti senza stop vengono chiusi dopo 62 secondi.


Cosa fa

Perdita giornaliera. All’ora di reset (predefinita alle 01:00 sul server, che corrisponde alle 00:00 CET su FTMO) registra il capitale. Se durante la giornata il capitale proprio scende di una percentuale superiore a InpDailyLossPct rispetto a InpInitialBalance, tutte le posizioni vengono chiuse, gli ordini in sospeso cancellati e, con InpBlockAfterBreach, qualsiasi nuova posizione viene nuovamente chiusa fino al successivo azzeramento. Impostare la soglia al di sotto della regola della società: 4% per una regola del 5%, 2,5% per una regola del 3%, in modo che ci sia margine per lo slippage al momento della chiusura.

Perdita massima. Tre modi per misurarla (InpMaxLossMode):

  • statica: dal saldo iniziale (classiche valutazioni in due fasi),
  • trailing: dal patrimonio netto massimo registrato, aggiornato ad ogni tick,
  • trailing del saldo giornaliero: dal saldo più alto registrato al reset giornaliero. È così che la 1-Step Challenge di FTMO ricalcola il proprio limite minimo a mezzanotte, e tale limite non scende mai.

Il limite di sicurezza scatta a InpMaxLossPct (impostazione predefinita 8% per una regola del 10%).

I limiti di dimensione sono espressi in denaro, non in lotti. Un limite per lotto non ha senso tra strumenti diversi: 15 lotti di un CFD su indice a 25.000 valgono circa 430.000, 15 lotti di un altro indice a 7.700 valgono circa 115.000, 15 lotti di EURUSD valgono circa 1.750.000. PropGuard calcola ogni posizione come lotti x prezzo corrente x valore di un punto per lotto, nella valuta del conto, e confronta il risultato con:

  • InpMaxNotionalPerPos: una singola posizione il cui valore supera questo limite viene chiusa.
  • InpMaxNotionalTotal: quando il valore complessivo di tutte le posizioni aperte supera tale valore, viene chiusa la posizione più recente, poi quella immediatamente successiva, e così via fino a quando il limite non viene rispettato.

Perché in denaro: un movimento dell’1% su un’esposizione di 300.000 equivale a 3.000, indipendentemente dal simbolo. Se il limite giornaliero è 3.000, questo è il valore da impostare. Il vecchio parametro InpMaxLotsPerPos è ancora presente (0 = disattivato) per chi desidera anche un limite massimo di lotti.

Requisito di stop-loss. Con InpRequireStopLoss, qualsiasi posizione che non abbia ancora uno stop-loss entro InpStopGraceSeconds dall’apertura viene chiusa. Sessanta secondi sono sufficienti per inserirne uno.

Limite di rischio per posizione. InpMaxRiskPerPos rappresenta l’importo massimo che una posizione può rischiare tra il prezzo di apertura e lo stop loss. Se uno stop comporta un rischio superiore, PropGuard lo sposta alla distanza che comporta esattamente il limite massimo. Se al momento del controllo il mercato ha già superato tale distanza, la posizione viene invece chiusa. Il limite è espresso nella valuta del conto, quindi si adatta a qualsiasi strumento. Le posizioni il cui stop è già in profitto vengono lasciate invariate.

Informazioni sul giorno migliore. Con InpBestDayInfo il log mostra, ad ogni reset, il giorno più redditizio espresso come percentuale della somma di tutti i giorni positivi. La regola 1-Step di FTMO richiede che tale percentuale sia al massimo del 50% al momento del superamento della sfida. Solo a titolo informativo, nessuna azione.

Inoltre: una finestra di trading e una chiusura del venerdì (orari del server), un filtro per le notizie ad alto impatto dal calendario economico di MT5, un numero magico da escludere, notifiche push su ogni azione e un log in formato CSV per ogni conto in MQL5/Files. Lo stato (inizio giornata, flag di violazione, saldo giornaliero massimo) viene conservato nelle variabili globali del terminale, quindi un riavvio dopo una violazione non riattiva il trading prima del successivo reset.


Input

  • InpInitialBalance — dimensione del conto a cui si riferiscono le percentuali.
  • InpDailyLossPct, InpMaxLossPct, InpMaxLossMode — i due limiti e la modalità di calcolo della perdita massima.
  • InpResetHour, InpResetMinute — il reset giornaliero della società in ora del server.
  • InpMaxLotsPerPos, InpMaxNotionalPerPos, InpMaxNotionalTotal — limiti di dimensione (0 = disattivato).
  • InpRequireStopLoss, InpStopGraceSeconds — requisito di stop-loss.
  • InpMaxRiskPerPos — limite di rischio per posizione nella valuta del conto (0 = disattivato).
  • InpBestDayInfo — rapporto del giorno migliore nel log.
  • InpCloseOnBreach, InpBlockAfterBreach — cosa succede in caso di violazione.
  • InpUseWindow, InpWindowStartHour, InpWindowEndHour, InpFridayClose, InpFridayCloseHour — regole temporali.
  • InpUseNewsFilter, InpNewsCurrencies, InpNewsMinutesBefore, InpNewsMinutesAfter — finestra delle notizie.
  • InpPushAlerts, InpMagicToIgnore.


Esempio, FTMO 1-Step 100k (3% giornaliero, trailing del 10%, giorno migliore al 50%): InpInitialBalance 100000, InpDailyLossPct 2,5, InpMaxLossPct 8, InpMaxLossMode saldo giornaliero trailing, InpResetHour 1, InpMaxNotionalPerPos 300000, InpMaxNotionalTotal 450000, InpRequireStopLoss true, InpMaxRiskPerPos 750, InpBestDayInfo true.

Esempio, 2 fasi 200k (5% giornaliero, 10% statico): InpInitialBalance 200000, InpDailyLossPct 4, InpMaxLossPct 8, InpMaxLossMode statico, InpResetHour 1.


Note. Nel Strategy Tester l’EA apre e chiude una posizione con lotto minimo all’inizio, in modo da poter osservare il funzionamento della logica di chiusura; su un conto live o demo non apre mai alcuna posizione. Il tester non dispone di un calendario economico, pertanto il filtro delle notizie risulta inattivo. Le regole temporali utilizzano l’ora del server; controllare l’ora di reset dopo un cambio di orario estivo, poiché la mezzanotte della società e l’orologio del server non sempre cambiano nella stessa data.


Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/77710

ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation

Segna le candele di impulso: corpo pari ad almeno ATR × moltiplicatore, corpo pari ad almeno una percentuale prestabilita dell'intervallo della candela, chiusura vicina all'estremo, conferma opzionale del volume dei tick. Freccia verde sotto un impulso rialzista, rossa sopra uno ribassista. Solo barre chiuse, nessun repainting. I segnali sono contenuti nei due buffer in modo che un Expert Advisor possa leggerli tramite iCustom.

Stormbreaker ADX - Supertrend and DMI Trend EA Stormbreaker ADX - Supertrend and DMI Trend EA

Expert Advisor per MetaTrader 5 basato sul trend-following che combina la direzione del Supertrend con la conferma fornita dall'ADX e dai DI. Utilizza uno stop loss basato sull'ATR e assume un rischio massimo dello 0,5% del capitale per ogni operazione.

NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias

Pannello di trading manuale trascinabile sul grafico con analisi su più timeframe, suggerimenti ATR per SL/TP, trailing stop e comandi "ACQUISTA/VENDI/CHIUDI TUTTO" con un solo clic.

Smart Money Concepts BOS CHoCH Smart Money Concepts BOS CHoCH

Market structure indicator for Gold (XAUUSD), EURUSD and any symbol: swing highs and lows with HH HL LH LL labels, BOS and CHoCH drawn on closed candles, alerts and 4 buffers for EAs. Open source code.