Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1709

 
Andrey I.R.O.V #:
Per favore, ditemi se qualcuno sa come collegare MT4 o MT5 con PHP? Il robot di trading dovrebbe lavorare sul server, richiedere le quotazioni da un broker e creare/annullare/monitorare gli ordini. Il broker ha solo terminali MT4 e MT5, non ha API :) O sono stupido io e non succede affatto?

può essere fatto. Tutto può essere fatto.

Ma è garantito che rallenterà in php, non è progettato per tali scopi.

E poi la sintassi MQL è quasi la stessa, conoscendo php si può padroneggiare mql in una settimana.

 
MakarFX #:
non hai bisogno di tutto il codice, solo di OrderSend

quindi è abbastanza semplice

ticket = OrderSend(Symbol(),OP_BUY, Lot*3, Ask, Slippage, SLbuy, 0, "open buy order", Magic, 0, Blue);

o

ticket = OrderSend(Symbol(),OP_SELL, Lot*3, Bid, Slippage, SLsell, 0, "open Sell order", Magic, 0, Red);


La situazione è che collego ancora quelle o quelle operazioni tramite bool. E ne ho molti. Te l'ho detto, è più facile per me rimuovere il superfluo.

 
Alexey Viktorov #:

È più facile inserire una stampa con le condizioni per aprire un ordine da soli. Molto probabilmente, le condizioni di apertura dell'ordine vengono salvate dopo l'apertura del primo ordine. Per esempio, il numero di ordini aperti == 0 e dopo l'apertura del primo ordine, questo valore non è cambiato...

Il significato della tua ipotesi è compreso, probabilmente è così che succede, ma in pratica come trovare questo "risparmio". Il codice è enorme.

 
Порт-моне тв #:

quindi è abbastanza semplice

ticket = OrderSend(Symbol(),OP_BUY, Lot*3, Ask, Slippage, SLbuy, 0, "open buy order", Magic, 0, Blue);

o

ticket = OrderSend(Symbol(),OP_SELL, Lot*3, Bid, Slippage, SLsell, 0, "open Sell order", Magic, 0, Red);


La situazione è che collego ancora quelle o quelle operazioni tramite bool. E ne ho molti. Ti dico che per me è più facile rimuovere il superfluo.

Solo una nota: i lotti devono essere allineati. Anche se è solo una moltiplicazione per un intero.

 
Maxim Kuznetsov #:

solo una nota: i lotti devono essere allineati. Anche solo moltiplicando per un intero

cos'è l'"allineamento"? Grazie naturalmente, ma non è questo che mi preoccupa.

 
Порт-моне тв #:

Ho capito il succo della tua congettura, probabilmente è così che funziona, ma praticamente come trovare questo "salvataggio". Il codice è enorme.

Ecco le stampe per aiutarti a trovarle...

 
Alexey Viktorov #:

Le stampe ti aiuteranno a trovarli...

Bene, posso vedere dalla storia nel tester dove, quando e con quali parametri. Cosa succede?

 
Maxim Kuznetsov #:

può essere fatto. Tutto può essere fatto.

Ma è garantito che rallenterà in php, non è progettato per tali scopi.

E poi la sintassi MQL è quasi la stessa, conoscendo php si può padroneggiare mql in una settimana.

Grazie per i consigli, è già un po' più chiaro nella mia testa come e cosa fare. Posso farlo anche in MQL, purché sia un VPS
 

Ragazzi, non c'è bisogno di essere ridondanti. È come rimuovere due ordini con lo stesso prezzo, lotto e orario di apertura e questo è tutto! Questo sarà sufficiente! Nel tester su 100000 ordini è successo davvero 4 volte. Cioè, succede estremamente raramente, ma a causa di una tale doppietta, la strategia si è allontanata.

 
Порт-моне тв orario di apertura e questo è tutto! Questo sarà sufficiente! Nel tester su 100000 ordini è successo davvero 4 volte. Cioè, succede molto raramente, ma un tale doppio è successo, e la strategia si è spostata a causa di questo.

Fate questo e non ci sarà alcun raddoppio.

if(OrderSend(Symbol(),OP_BUY, Lot*3, Ask, Slippage, SLbuy, 0, "открыт ордер на покупку", Magic, 0, Blue))
   {Print("OpenBuy");}
if(OrderSend(Symbol(),OP_SELL, Lot*3, Bid, Slippage, SLsell, 0, "открыт ордер на продажу", Magic, 0, Red))
   {Print("OpenSell");}