SomaOil
- Experts
-
Andrii Soma
If you bought my EA, contact me to join the Telegram group.
Also, there is a group on this website if you don't have Telegram: - Versione: 1.1
- Aggiornato: 18 luglio 2026
- Attivazioni: 10
SomaOil è un Expert Advisor multi-strategia di breakout per MetaTrader 5, realizzato esclusivamente per il petrolio greggio WTI (XTIUSD). Un grafico, un EA, 20 strategie indipendenti che operano insieme come un unico portafoglio diversificato.
Per renderlo accessibile al lancio uso un modello di prezzo a scalini trasparente:
- Prezzo di lancio: 100 USD (48 ore)
- Da lunedì il prezzo aumenta di 100 USD ogni 10 copie vendute
- Gli aumenti di prezzo avvengono al massimo una volta al giorno, anche se lo stesso giorno vengono vendute più di 10 copie
Chi acquista per primo blocca il prezzo più basso per tutta la vita del prodotto.
Concetto
Invece di eseguire una singola configurazione che tende al sovraadattamento a un regime di mercato stretto, SomaOil include un set curato di 20 strategie pre-ottimizzate che girano in parallelo sotto un solo EA su un solo grafico WTI.
Ogni strategia ha il proprio magic number, commento, timeframe, parametri di rilevamento swing, uscite, distanze news e passo lotto. Condividono lo stesso motore di esecuzione ma operano in modo indipendente, così si ottiene una diversificazione reale su timeframe e ampiezza di breakout senza gestire decine di grafici.
Creazione del portafoglio
Ho eseguito ottimizzazioni su due intervalli in-sample complementari, ciascuno con la stessa griglia di parametri:
- 5 gruppi di timeframe: D1, H12, H8, H4, H1
- Tre varianti di ampiezza breakout:
- V1 Broad: swing più larghi, meno setup ma più forti;
- V2 Medium: frequenza di setup bilanciata;
- V3 Narrow: swing più stretti, setup più frequenti.
- Tutte ottimizzate per return / drawdown:
- Prima per Return / Balance DD
- Poi per Return / Equity DD
I due intervalli di ottimizzazione e le rispettive finestre out-of-sample erano:
- Res1 — In Sample: 2018.10.10–2024.10.10 | OOS: 2024.10.10–2026.06.26
- Res2 — In Sample: 2020.06.26–2026.06.26 | OOS: 2018.10.10–2020.06.26
Res1 e Res2 sono metà complementari della stessa storia, quindi ogni intervallo valida l'altro out-of-sample. W2 OOS (2018–2020) è dentro W1 IS, e W1 OOS (2024–2026) è dentro W2 IS — lo stesso schema Res1/Res2 a validazione incrociata usato per SomaBTC, ancorato alla storia XTIUSD disponibile dal 2018.10.10.
Questa combinazione timeframe × ampiezza × intervallo di ottimizzazione produce la diversificazione. Strategie diverse si attivano in regimi di volatilità diversi, quindi la curva equity non dipende da un solo comportamento di mercato.
Ogni strategia candidata è stata poi filtrata:
- Se le strategie erano troppo correlate con un'altra strategia rimanente, sono state rimosse.
- Se una strategia non corrispondeva ai tick reali o falliva la finestra out-of-sample, è stata rimossa.
- Tutte le ottimizzazioni sono state fatte con chiusura trading del venerdì attiva, eliminando l'ottimizzazione basata su gap weekend rischiosi.
Così, solo 20 strategie sono sopravvissute — 7 da Res1 e 13 da Res2.
Portafoglio finale per intervallo di ottimizzazione e timeframe swing:
- Res1 (7): 1 D1, 1 H12, 2 H4, 3 H1
- Res2 (13): 2 D1, 4 H12, 2 H8, 4 H4, 1 H1
- Totale (20): 3 D1, 5 H12, 2 H8, 6 H4, 4 H1
Come ultimo passo, la dimensione lotto di ogni strategia è stata impostata da uno script Python proprietario che ha trovato la migliore combinazione return / balance DD. Le strategie più correlate in DD ricevono allocazioni più piccole, e le strategie che portano più valore ricevono allocazioni lotto maggiori.
Magic number
Ogni strategia usa un magic number univoco a 8 cifre così MetaTrader può distinguere i suoi trade da altri EA o ordini manuali. Vedrete il magic su ogni ordine e posizione, e nel commento strategia (ad esempio SomaOil #1 81241201).
Le cifre non sono casuali — codificano cos'è la strategia:
- 1ª cifra — famiglia EA (8 = SomaOil)
- 2ª cifra — intervallo di ottimizzazione (1 = Res1, 2 = Res2)
- 3ª–4ª cifre — timeframe swing in ore (01 H1, 04 H4, 08 H8, 12 H12, 24 D1)
- 5ª cifra — ampiezza breakout (1 Broad, 2 Medium, 3 Narrow)
- 6ª cifra — obiettivo di ottimizzazione (1 Balance DD, 2 Equity DD)
- 7ª–8ª cifre — ID file set originale dal batch di ricerca
Esempio: magic 81241201 si legge come SomaOil · Res1 · D1 · Broad · Equity DD · set #01.
Questo rende facile identificare quale strategia ha aperto un trade nel terminale o nella cronologia del conto, senza aprire le impostazioni dell'EA.
Rischio e dimensionamento lotti
Sono disponibili due modalità di sizing:
- Lotto manuale — lotti fissi per trade
- Lot per balance step — sizing automatico in base al capitale del conto, scalato per strategia
Controlli aggiuntivi consentono di rifinire il profilo di rischio:
- Moltiplicatore di rischio globale sul lotto calcolato
- Tetto EA opzionale tramite MaxLots ( 0 predefinito = nessun limite EA; solo specifica broker); > 0 = massimo rigido
- Scelta tra saldo o equity come base di sizing
- Modalità OnlyUp — i lotti salgono con il picco di capitale ma non scendono mai durante i drawdown di trading; i prelievi riducono il picco di sizing e i depositi lo aumentano (entrambi attivano sincronizzazione immediata del picco e ribilanciamento lotto in sospeso). All'avvio l'EA imposta il picco storico dalla cronologia recente di trade chiusi (lookback configurabile), così la baseline OnlyUp è significativa dal primo tick invece di resettarsi a ogni riavvio
- Selettore valuta di base (USD, EUR, GBP, HKD, SGD o una coppia personalizzata) per un sizing corretto su conti non in USD
- Protezione margin call (predefinita attiva): prima di piazzare ordini l'EA tratta gli stop/limit pendenti sullo stesso lato come se richiedessero già il margine dell'ordine a mercato, così il margine libero non viene sovra-impegnato quando il broker riserva poco sui pendenti; può anche ridurre il lotto calcolato affinché, nel caso peggiore, gli ordini simultanei sullo stesso lato restino entro un budget di margine legato alla base di sizing. Disattivare solo se controllate completamente leva e margine disponibile.
Filtro news
SomaOil include un calendario news USA integrato che copre tre tipi di eventi ad alto impatto:
- NFP — Non-Farm Payrolls
- CPI — Consumer Price Index
- IR / FOMC — decisioni sui tassi delle banche centrali
Intorno a ogni evento l'EA può in modo indipendente bloccare nuovi ingressi, annullare ordini pendenti esistenti e chiudere posizioni aperte. Ogni strategia ha le proprie finestre minuti prima e dopo, quindi la protezione news è tarata per strategia e non applicata globalmente.
Il GMT del broker può essere impostato manualmente o rilevato automaticamente, così le finestre news si allineano sempre all'ora del broker, inclusi i cambi ora legale. Il classificatore è stato ristretto per escludere falsi positivi comuni come ADP Nonfarm Employment e discorsi/verbali FOMC.
Finestra di trading
Una finestra opzionale apertura lunedì / chiusura venerdì consente di evitare i gap del weekend. Potete scegliere se chiudere anche ordini pendenti o posizioni aperte fuori dalla finestra di trading.
Diverse strategie usano anche una finestra di sessione giornaliera integrata (ore inizio/fine per strategia) per evitare periodi di bassa liquidità. Fanno parte del preset del portafoglio e non sono input utente separati.
L'ottimizzazione è stata eseguita con chiusura del venerdì attiva, impostazione predefinita, quindi nessun sovra-ottimizzazione su condizioni di gap weekend rischiose.
Filtro spread
SomaOil può evitare di piazzare ordini pending di breakout quando lo spread del broker è troppo ampio — importante sul petrolio (rollover, news, bassa liquidità).
Il filtro riguarda solo gli ordini pending. Le posizioni aperte e le uscite (SL, TP, trailing, break-even) restano invariate.
- MaxSpreadPips (predefinito 80) — spread massimo in punti MT5 su quotazione WTI a 3 cifre. 0 = disattivato.
- RemovePendingSpreadSeconds (predefinito 60) — rimuove i pending della strategia se lo spread resta sopra il limite in modo continuo per questi secondi. 0 = solo blocco nuove entrate.
Normalizzazione 2/3 cifre; limite effettivo scalato per DefaultValue di ogni strategia e prezzo di riferimento del petrolio.
Conformità Prop Firm
È possibile applicare un offset pip casuale opzionale per trade a entry ed exit tramite MaxRandomizationPips. Il vostro conto avrà livelli leggermente diversi dagli altri trader che usano lo stesso EA — utile su conti prop firm e finanziati dove schemi di copy-trading identici possono essere segnalati. Zero per disabilitare.
SomaOil include anche un livello di conformità opzionale (off di default): lockout DD giornaliero max., regola no-hedge e cap ordini pending. Vedi EnablePropFirmCompliance e input correlati sotto.
Dashboard sul grafico
SomaOil disegna una dashboard live sul grafico che mostra:
- Portafoglio attivo
- Base sizing lotti e capitale effettivo
- Ordini pendenti e posizioni aperte divisi per Buy/Sell
- P/L a floating e P/L chiuso odierno
- Drawdown di saldo ed equity, assoluto e percentuale
- Statistiche slippage: tutto il periodo, 7 giorni, 24 ore
- Spread corrente e numero strategie attive
- Prossimi e ultimi eventi NFP, CPI e IR/FOMC
La dashboard può essere disabilitata nello Strategy Tester per backtest più veloci.
Parametri
Override
- EnableMagicOverride -> se attivo, i numeri ID trade sono assegnati come OverrideMagicBase + indice strategia; se disattivo (default) ogni strategia usa il proprio ID integrato
- OverrideMagicBase -> numero ID trade iniziale quando l'override magic è attivo
- EnableCommentOverride -> se attivo, tutti i trade condividono un commento; se disattivo (default) ogni strategia mantiene il proprio
- OverrideComment -> testo commento quando l'override commento è attivo
Direzione
- AllowBuyTrades -> consentire trade long e pendenti buy
- AllowSellTrades -> consentire trade short e pendenti sell
Dimensionamento lotti
- LotsAdjustMinChangePercent -> variazione min. % prima di aggiornare il lotto attivo
- Risk -> ManualLotSize (StartLots fisso) o LotSizeStep (auto da capitale)
- AdjustLotsizeToVariableValues -> ricalcolare i lotti al cambio di saldo o equity
- StartLots -> lotto fisso in manuale o riferimento minimo in step
- MaxLots -> tetto EA opzionale; 0 = solo specifica broker
- UseEquity -> dimensionare da equity invece che saldo
- OnlyUp -> i lotti salgono con il picco di capitale e non scendono mai durante i drawdown di trading; prelievi riducono il picco, depositi lo aumentano
- RestorePeakFromHistory -> impostare il picco OnlyUp dalla cronologia recente di trade chiusi all'avvio
- RestorePeakLookbackDays -> giorni di lookback per ripristino picco (0 = tutta la cronologia)
- ManualBalanceForLotSizing -> capitale fisso per sizing se > 0
- RiskMultiplier -> moltiplicatore globale sul lotto calcolato
- MarginCallProtection -> riservare margine su pendenti stesso lato e limitare il lotto al budget di margine
- BaseCurrency -> USD, EUR, GBP, HKD, SGD o custom su conti non USD
- CustomBaseCurrencyPair -> simbolo broker per conversione quando BaseCurrency è custom
GMT
- Broker_GMT_OFFSET_Summer -> offset GMT manuale broker estate (ore)
- Broker_GMT_OFFSET_Winter -> offset GMT manuale broker inverno (ore)
- AutoGMT -> rilevare GMT broker automaticamente (ignora offset manuali)
Filtri news
- EnableNFP_Filter -> attivare finestra protezione NFP
- NFP_CloseOpenTrades -> chiudere posizioni prima del NFP
- NFP_ClosePendingOrders -> annullare pendenti prima del NFP
- EnableIR_Filter -> attivare finestra IR / FOMC
- IR_CloseOpenTrades -> chiudere posizioni prima dell'IR
- IR_ClosePendingOrders -> annullare pendenti prima dell'IR
- EnableCPI_Filter -> attivare finestra CPI
- CPI_CloseOpenTrades -> chiudere posizioni prima del CPI
- CPI_ClosePendingOrders -> annullare pendenti prima del CPI
I minuti prima/dopo per strategia sono nel portafoglio, non parametri separati.
Orario di trading
- UseTradingTimeZones -> applicare finestra settimanale lunedì–venerdì
- KillPending -> annullare pendenti fuori finestra
- KillOpen -> chiudere posizioni fuori finestra
- MondayOpenHour / MondayOpenMinute -> la finestra si apre lunedì a quest'ora broker
- FridayCloseHour / FridayCloseMinute -> la finestra si chiude venerdì a quest'ora broker
Diverse strategie usano anche una finestra di sessione giornaliera integrata (ore inizio/fine per strategia) come parte del preset del portafoglio. Non sono input utente separati.
Dashboard
- DisableDashboardInTesting -> nascondere dashboard nello Strategy Tester
- DashboardUpdateSeconds -> intervallo aggiornamento dashboard (sec)
Spread Filter
- MaxSpreadPips -> spread max. in punti MT5 (convenzione 3 cifre); scalato per DefaultValue; 0 = off
- RemovePendingSpreadSeconds -> rimuovi pending dopo spread alto sostenuto (sec.); 0 = mai rimuovere
Conformità Prop Firm
Tutti gli input predefiniti off / zero — impatto zero sulle prestazioni se disabilitati.
- MaxRandomizationPips -> offset prop firm entry/exit; unico vs altri utenti EA (0 = off)
- EnablePropFirmCompliance -> interruttore master; deve essere true affinché le regole sotto abbiano effetto
- PF_MaxDailyDrawdownPercent -> perdita equity giornaliera max. come % della base giornaliera (0 = off)
- PF_MaxDailyDrawdownMoney -> perdita equity giornaliera max. in valuta conto (0 = off)
- PF_DailyResetHour -> ora broker/server (0–23) reset finestra giornaliera
- PF_DailyLossBufferPercent -> cuscinetto di sicurezza prima del limite rigido (default 10%)
- PF_DisallowHedging -> blocca entrate in direzione opposta; rimuove pending opposti
- PF_MaxTotalPendingOrders -> limite ordini pending EA totali (0 = off)
Setup consigliato
- Simbolo: petrolio greggio WTI — collegate l'EA al grafico US crude / WTI del vostro broker. Lo stesso strumento è spesso elencato con ticker diversi; sui nostri terminali di test abbiamo visto: XTIUSD, USOUSD, USOUSD.s, WTI, SpotCrude. SomaOil è progettato per simboli che iniziano con XTIUSD; se il broker usa un altro nome, aprite Market Watch e cercate WTI, crude, oil o USO per trovare il grafico corrispondente.
- Timeframe: qualsiasi (l'EA legge internamente i propri timeframe)
- Tipo conto: consigliato ECN / RAW-spread per spread stretti
- Saldo minimo consigliato: 2000 USD per il rischio predefinito. La dimensione lotto calcolata non può scendere sotto 0,01 per trade; conti al di sotto non possono ridurre ulteriormente il rischio.
- VPS: consigliato per esecuzione 24/5 stabile
- Aggiungete "https : // ea-license-server . somatrade . org" e "https : // www . worldtimeserver . com/" agli URL consentiti in MT5 (Strumenti - Opzioni - Expert Advisors)
Riepilogo
- 20 strategie breakout pre-ottimizzate su un singolo grafico WTI (XTIUSD)
- Due intervalli di ottimizzazione con OOS a validazione incrociata, dal 2018 al 2026
- Timeframe: D1, H12, H8, H4 e H1
- Uscite a livelli con break-even e trailing stop
- Protezione news USA integrata con filtraggio falsi positivi
- Filtro spread opzionale per pending (MaxSpreadPips + rimozione per spread alto sostenuto)
- Randomizzazione opzionale entry/exit per unicità prop firm (MaxRandomizationPips)
- Modalità conformità prop firm opzionale (DD giornaliero max., no-hedge, cap pending) — off di default
- Dashboard live completa sul grafico
- Lancio a prezzo a scalini trasparente: 100 USD iniziali, +100 USD ogni 10 copie, max. una volta al giorno
