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
Ciao esperti, qual è la vostra opinione su questa soluzione?
Ciao esperti, qual è la vostra opinione su questa soluzione?
Naturalmente. Questo è un totale chiudere tutto.
A volte ci sono situazioni (per esempio vuoi chiudere immediatamente troppi trade aperti) in cui la versione "originale" non funziona. Questa versione va bene per questo.
Naturalmente. Questa è una chiusura totale.
A volte ci sono situazioni (per esempio vuoi chiudere immediatamente troppi trade aperti) in cui la versione "originale" non funziona. Questa versione va bene per questo.
Ciao,
Ho una domanda sui loop while. Voglio eseguire l'EA corrente in un ciclo il più frequentemente possibile. Quindi, il mio pensiero è quello di mettere il codice corrente all'interno di un loop while con una funzione sleep inclusa all'interno che fa sì che il while venga eseguito solo ogni 1 millisecondo.
Tuttavia, quando ho fatto questo, (ho inserito alcune chiamate di funzione Print("...") che tengono traccia di ciò che sta accadendo in ogni ciclo), vedo questo blocco e non ci sono più stampe sullo schermo.
Mi sto chiedendo quale possa essere il problema. Va bene far girare l'EA su un ciclo così frequente come 1ms? Ci sarebbe un problema nel cercare di ottenere l'ultimo bid/ask per esempio dal server ogni millisecondo? Questo metterebbe troppo carico lì, causando il freeze?
Forse qualcos'altro che il mio algoritmo sta facendo sta causando questo, non sono sicuro.
L'ho eseguito su cicli di 200ms e ottengo ancora lo stesso problema (anche se non così immediato). Potrebbe esserci un problema con la stampa di troppe righe nel file di log?
Grazie per qualsiasi consiglio su questo.
saluti,
C.
14967057:
Ho una domanda sui loop while. Voglio eseguire l'EA corrente in un loop il più frequentemente possibile.
Quindi, il mio pensiero è quello di mettere il codice corrente all'interno di un loop while con una funzione sleep inclusa all'interno che fa sì che il while venga eseguito solo ogni 1 millisecondo.
Ci sarebbe un problema nel cercare di ottenere l'ultima offerta/domanda.
Potrebbe esserci un problema con la stampa di troppe linee nel file di log?
Ciao,
Ho scoperto che il problema che avevo non era dovuto all'incapsulamento del mio codice EA all'interno di un ciclo while con uno sleep di 1ms. Questa parte sembra a posto (indipendentemente da dove stampo a schermo o meno), dato che l'ho fatto girare per l'ultima mezz'ora senza problemi.
Il problema era dovuto a un altro subdolo while che avevo nel codice e che alla fine ha fatto sì che l'EA rimanesse intrappolato in un ciclo infinito.
Grazie per l'input Gooly e Roesder.
saluti,
Ciao a tutti. Ho letto questo argomento e ho una domanda. Cerco di fare un codice che cancelli l'ordine pendente (solo STOP, nessun LIMIT), ma solo se è stato attivato un altro ordine pendente (inizio OP_SELL o OP_BUY). Quindi il codice è questo (ma ci sono degli errori, ma non so dove). Potreste dare un'occhiata al mio codice per favore?
OrdersTotal() non corretto...
Sono stato sorpreso da una sequenza di codice di looping che utilizza OrdersTotal() che non dà risultati corretti (osservato con due diversi broker).
Sto usando MT4 versione 1090 su un desktop Linux Ubuntu-MATE 16.04, con WINE 3.0
Ecco cosa ho usato...
for(int cc = 0; cc < OrdersTotal(); cc++)
{
if (!OrderSelect(cc, SELECT_BY_POS, MODE_TRADES) ) continua;
se (OrderSymbol() != Symbol() ) continua;
if (OrderType() > 1) continue; //--ignorare le operazioni in sospeso
OpenTradecnt++; //-conta per ogni posizione live di quel simbolo che esiste
Print("count of the open trades of this symbol is: ", OpenTradecnt);
}
Ho notato con due diversi broker che il valore di OrdersTotal() non sempre concorda con quello che viene mostrato nella scheda 'Trade' del broker MT4. Inizialmente, ho pensato che fosse il broker a causare il non corretto funzionamento di OrdersTotal(). Quando l'ho notato sul secondo broker, ho iniziato a chiedermi se MT4 avesse un 'problema' interno, o se il mio codice fosse sbagliato O se fosse un problema con MT4 che si sincronizza correttamente con il server....?
Dopo aver letto questo thread del forum, mi chiedo se avrei un cambiamento nei risultati per cambiare il ciclo for:
for(int cc = OrdersTotal() - 1; cc >= 0; cc--)
{
...........
}
O, c'è un flag o una linea di codice che assicuri che OrdersTotal() sia correttamente sincronizzato durante un evento OnTick()?
Qualsiasi chiarimento su questo sarebbe molto utile e sarebbe molto apprezzato!
Usa il pulsante </> per inserire il tuo codice.