![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Cartella MT4\Experts\Logs:
17:28:48 FapTurbo50 EURUSDFXF,M5: aperto #2662451 compra 0.20 EURUSDFXF a 1.2909 ok
17:28:49 FapTurbo50 EURUSDFXF,M5: modificare #2662451 comprare 0.20 EURUSDFXF a 1.2909 sl: 1.2407 tp: 1.2929 ok
Quali sono le prossime righe di questo log? Tutte le linee per favore e non "filtrate" da ciò che ritenete importante o meno, solo semplici voci di log grezze. Specialmente tutte quelle con lo stesso o quasi stesso timestamp anche su tutti gli altri terminali.
Forse anche qualche strano automatismo FIFO in corso? Ho già visto broker spostare automaticamente gli stoploss esistenti senza preavviso, forse alcuni stanno anche chiudendo trade esistenti quando altri trade vengono aperti? In questo caso dovreste ringraziare le autorità di regolamentazione per aver "protetto" con successo il vostro denaro.
E come sono i vostri livelli di margine libero quando questo accade?
Le frecce rosse (triangoli o frecce a sinistra) appaiono nel grafico di Probability-EA nei momenti in cui le operazioni FAP sono chiuse?
Quando passi il mouse su queste frecce nel grafico di ProbabilityEA in modo da far apparire la piccola finestra gialla dei suggerimenti, i numeri dei ticket in questi suggerimenti corrispondono alle operazioni FAP chiuse erroneamente? (per esempio nel grafico dello screenshot che hai postato nel forum FF)
Inserire una Print() prima di ogni OrderClose() e OrderCloseBy(), compilare il codice modificato ed eseguirlo al posto dell'originale.
Cerca la presenza (o assenza) di una chiamata a OrderMagicNumber() vicino a qualsiasi OrderClose() o OrderCloseBy() nel codice.
Cercate anche qualsiasi cosa tra il controllo e la chiusura che possa cambiare l'ordine attualmente selezionato (come per esempio un altro ciclo su tutti gli ordini per trovare un ordine di compensazione o comunque correlato, questo cambierebbe la selezione corrente in qualcosa di completamente imprevedibile e un successivo OrderClose(OrderTicket(),...) porterebbe inevitabilmente scompiglio nel conto). Ogni ordine deve essere controllato rispetto al numero magico prima di poter essere chiuso. Non fare questo controllo o farlo male provocherà questo tipo di errore perché ogni EA ha sempre accesso a tutte le operazioni sul conto ed è responsabile di filtrarle attentamente.
Non esiste alcun meccanismo di filtro implicito di MT4 che possa in qualche modo schermare automaticamente un EA da altri trade su altri grafici, ogni EA deve implementarlo completamente da solo (e può fallire miseramente).
Inserire una Print() prima di ogni OrderClose() e OrderCloseBy(), compilare il codice modificato ed eseguirlo al posto dell'originale.
Cerca la presenza (o assenza) di una chiamata a OrderMagicNumber() vicino a qualsiasi OrderClose() o OrderCloseBy() nel codice.
Cerca anche qualsiasi cosa tra il controllo e la chiusura che possa cambiare l'ordine attualmente selezionato (come per esempio un altro ciclo su tutti gli ordini per trovare un ordine di compensazione o comunque correlato, questo cambierebbe la selezione corrente in qualcosa di completamente imprevedibile e un successivo OrderClose(OrderTicket(),...) porterebbe inevitabilmente scompiglio nel conto). Ogni ordine deve essere controllato rispetto al numero magico prima di poter essere chiuso. Non fare questo controllo o farlo male provocherà questo tipo di errore perché ogni EA ha sempre accesso a tutte le operazioni sul conto ed è responsabile di filtrarle attentamente.
Non esiste alcun meccanismo di filtro implicito di MT4 che possa in qualche modo schermare automaticamente un EA da altri trade su altri grafici, ogni EA deve implementarlo completamente da solo (e può fallire miseramente).
Ciao 7bit,
sembra una buona idea, ci proverò.
Saluti
Peter
Per quanto riguarda un paio di domande precedenti:
1) Non credo che usare un broker ECN (in particolare GoMarkets) faccia la differenza con questo problema. Ho avuto lo stesso problema con forex.com. In generale, mi piace GoMarkets e penso che siano buoni.
2) Non credo che fosse legato al margine o alle azioni. Il motivo è che "s/o" viene aggiunto ai commenti quando un'operazione viene chiusa a causa di un capitale insufficiente.
Peter
Si è scoperto che il problema era nella versione 7.1 di Probability EA. Ecco la risposta del venditore:
peterc005,
Questo problema è stato risolto con la v7.1.1 (rispetto alla v7.1). Inizialmente ho diminuito il Magic Number di 1 ogni volta che un ciclo veniva chiuso (il che notificava all'EA di chiudere il ciclo). Questo funziona bene se l'EA è l'unico in esecuzione, ma quando la gente voleva usare questo EA in aggiunta ad altri EA, ho modificato il codice in modo che il Magic Number rimanga costante, e l'EA usi altri modi per chiudere il ciclo.Ti manderò una copia della v7.1.1 e fammi sapere se stai ancora avendo il problema.
Michael
Apprezzo l'onestà e la franchezza del venditore, ma questo problema con l'EA mi è costato circa $5.000 e ha distrutto 3 conti in pochi mesi.
"Inizialmente ho diminuito il numero magico di 1 ogni volta che un ciclo veniva chiuso"
Sembra che lo sviluppatore di questo EA non sappia quale sia lo scopo dei numeri magici. Questo significa che è nelle sue prime fasi di sperimentazione, ma sta già vendendo il suo codice difettoso e buggato da principiante per soldi. Questo conferma totalmente tutto quello che ho detto sulla qualità del codice di questi EA commerciali. Non mi fiderei mai di queste cose.
La lezione da imparare qui deve essere: Non fidatevi di nessun EAs closed-source. L'indisponibilità del sorgente garantisce una cattiva qualità del codice.
Caro Peterc005
Ho avuto un problema simile sul mio VPS e ho scoperto che un'altra istanza di metatrader dalla stessa directory è in esecuzione sul backround e chiude i trade aperti dal primo metatrader.
Prova a chiudere tutti i MetaTraders e poi apri TaskManager e controlla se c'è qualche istanza di Terminal.exe in esecuzione, se è così riavvia la tua macchina e il problema sarà risolto
Puoi cercare Ghost detector su google per saperne di più su questo problema.