Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1599
![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
Entrambe le condizioni combaciano...quindi si ottiene il primo risultato
Entrambe le condizioni combaciano...quindi si ottiene il primo risultato
Per qualche motivo non credo che restituisca nemmeno 1.
Questa condizione
Dice che è stato aperto un nuovo bar. Al primo tick della barra open == high == low == close e == Bid - da qui la condizione
o
non può essere soddisfatta...Oggi c'era una domanda sulla condizione if(i != i) Queste condizioni sono approssimativamente le stesse.
P.S.
con la funzione isCrossing() ha lasciato tutto com'è.
Per qualche motivo non credo che restituisca nemmeno 1.
Questa condizione
racconta dell'apertura di un nuovo bar. Sul primo tick della barra open == high == low == close e == Bid - quindi, la condizione
o
non può essere soddisfatta...C'era una domanda oggi sulla condizione if(i != i) Queste condizioni sono circa le stesse.
"1" ritorna, ha fatto il debug del codice in MetaEditor.
Inoltre, anche se tutto è uguale, lo è solo al primo tick.
"1" ritorna, ha fatto il debug del codice in MetaEditor.
Inoltre, anche se tutto è uguale, lo è solo al primo tick.
Beh, sì, mi sono sbagliato. La nuova barra sarà solo dopo che l'intera condizione sarà soddisfatta.
Prova a sostituire alto e basso con aperto. Forse non influenzerà troppo la strategia.
"1" ritorna, ha fatto il debug del codice in MetaEditor.
Inoltre, anche se tutto è uguale, lo è solo al primo tick.
Funziona così
Funziona così.
Ho fatto questo e funziona tutto, solo i messaggi di isCrossing() sono duplicati, perché il f-e è chiamato due volte per un tick.
Così l'ho lasciato com'era, solo che ora tutto da isCrossing() viene restituito alla variabile. Niente è duplicato e tutto funziona. Grazie a tutti :)
potete spiegare la differenza tra le funzioni?
per (int j = OrdersHistoryTotal()-1; j >= 0; j--)
{
se(OrderSelect(j, SELECT_BY_POS,MODE_HISTORY))
и
int i=OrdersHistoryTotal();
for(int pos=0; pos<i; pos++)
{
if(OrderSelect(pos, SELECT_BY_POS,MODE_HISTORY))