Problema con MT4 che apre una transazione e poi la richiude subito dopo - pagina 6

 
peterc005:


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?

 
Non è ancora definitivamente provato, ma sospetto che il problema sia la Probabilità EA

Ecco le ragioni:

1) Ho spento e riacceso Probability EA alcune volte su vari conti, i tempi in cui Probability EA era in funzione sembrano corrispondere ai tempi in cui avevo tutte queste operazioni chiuse in modo errato.

2) Ho notato che FAP Turbo scrive normalmente i record di apertura e chiusura nel log degli esperti (grazie per il suggerimento 7bit).

3) Ho notato che le circa 50 operazioni di FAP Turbo che si sono chiuse dopo un paio di secondi avevano un record di Apertura, ma nessun record di Chiusura nel Log Esperti.

4) Ho osservato che Probability EA sembra non scrivere nel log di Expert.

5) Questo implica che FAP Turbo ha aperto le operazioni in modo corretto, scrivendo un record nel registro Expert. Probability EA ha poi chiuso l'affare, ma non ha scritto nulla nell'Expert log. Sulla base del segnale, FAP Turbo ha poi aperto un'altra operazione, ripetendo il ciclo molte volte.

Le prove stanno aumentando, ma è ancora troppo presto per trarre conclusioni. Ho contattato il venditore dell'EA Probability per ulteriori informazioni. Decompilerò anche l'EA per vedere se ci sono errori logici evidenti.

 

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)

 
peterc005: Decompilerò anche l'EA per vedere se ci sono errori logici evidenti.

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).

 
7bit:

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.