[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 313
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
No. Non è necessario dichiarare una variabile all'interno del ciclo ad ogni iterazione.
Spero di non aver cancellato nulla, altrimenti il compilatore si lamenterebbe della parola else:
bool Torg=true;
if(OrdersTotal()>0){for(int i=OrdersTotal()-1;i>=0;i--){
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if(OrderMagicNumber()!=MagicNumber) continue;
if(OrderOpenTime()>=Time[0]) Torg=false;
}
}
}
Spero di non aver cancellato nulla di necessario, altrimenti il compilatore si lamenterebbe della parola else:
if(OrdersTotal()>0){// linea non necessaria - se non ci sono ordini, il contatore del ciclo sarà a zero e il ciclo non sarà eseguito
for(int i=OrdersTotal()-1;i>=0;i--){// passa attraverso tutti gli ordini
if (! OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){// se nessun ordine è selezionato, allora...
if(OrderMagicNumber()!=MagicNumber) continue; //se il numero magico non è il nostro, allora procedete ad un altro ordine
if(OrderOpenTime()>=Time[0]) Torg=false;
}
// Ma cosa succede se l'ordine è ancora selezionato dalla lista?
}
}
P.S.
La linea che segnala un numero di errore quando si seleziona un ordine non dovrebbe essere stata rimossa per qualche motivo - a volte succede che salta in aria. In generale, la gestione degli errori è meglio usata ovunque possa verificarsi.
if(OrdersTotal()>0){// linea non necessaria - se non ci sono ordini, il contatore del ciclo sarà a zero e il ciclo non sarà eseguito
for(int i=OrdersTotal()-1;i>=0;i--){// passa attraverso tutti gli ordini
if (! OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){// se nessun ordine è selezionato, allora.
if(OrderMagicNumber()!=MagicNumber) continue; //se il numero magico non è il nostro, allora procedete ad un altro ordine
if(OrderOpenTime()>=Time[0]) Torg=false;
}
// Ma cosa succede se l'ordine è ancora selezionato dalla lista?
}
}
bool Torg;
if(OrdersTotal()==0) Torg=true;
if(OrdersTotal()>0){
for(int i=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if(OrderMagicNumber()!=MagicNumber) continue;
if(OrderOpenTime()>=Time[0]) Torg=false;
if(OrderOpenTime()<Time[0]) Torg=true;
}
}
}
Che ne dite di questo?
Cosa succede se provi a controllare tu stesso questo ciclo nello script? Beh, solo stampando il risultato - quale posizione assume la variabile Torg nei diversi casi. Pensi di non poterlo fare da solo?
Non credo.
Scarica - ti aiuterà - http://depositfiles.com/files/eg4fmn3bp