Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 502
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
La funzione passa attraverso e seleziona il più recente per tempo, cioè l'ultimo
Poi, abbiamo un selezionato, e lo sostituiamo nella funzioneiBarShift(sym, tf, oot ,true);
La funzione restituisce il numero di barra per tempo. Questo è tutto.
Purtroppo non posso verificarlo, ma quando l'ho usato, ha funzionato perfettamente, così come tutte le funzioni pubblicate qui da I. Kim
Scrive l'errore indicandoif( iOpen[0] != time_open )'iOpen' - identificatore non dichiarato
Ho scritto qualcosa di un po' sbagliato, un po' nell'altra direzione del pensiero. Cambiare iOpen[0] in Open[0]. Corretto. Per dirla in modo semplice. Quando apro un bar, ricordo l'ora di apertura del bar e nessun ordine è già stato preso su questo bar.
È anche scritto nella descrizione della funzione che
La selezione delle posizioni da prendere in considerazione è impostata da parametri esterni:
È anche scritto nella descrizione della funzione che
La selezione delle posizioni da prendere in considerazione è impostata da parametri esterni:
Abbastanza. Nei parametri esterni puoi inserire i valori di cui hai bisogno: Majik, quali posizioni stai cercando, se vuoi BUY(0) e SELL(1) - allora scrivi "-1".
Ho scritto qualcosa di un po' sbagliato, un po' nell'altra direzione del pensiero. Cambiare iOpen[0] in Open[0]. Corretto. Per dirla in modo semplice. Quando apro una barra, ricorderà l'ora di apertura della barra e nessun ordine sarà aperto su questa barra.
vengono aperti molti ordini e sembra che la condizione if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) prima dell'apertura di un non ordine sia soddisfatta poiché NumberOfBarOpenLastPos restituisce -1
vengono aperti molti ordini, e sembra che la condizione if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) sia soddisfatta prima che venga aperto un non ordine, perché NumberOfBarOpenLastPos restituisce -1
Se stai cercando degli ordini, allora devi usare la funzione nella sua versione completa, cioè con la possibilità di cercare per ordini, non solo per posizioni:
Questo è sufficiente. Nei parametri esterni si possono inserire i valori richiesti: Majik, quali posizioni si cercano, forse solo BUY, se BUY(0) e SELL(1) sono necessari - allora si scrive "-1".
quando inizio nel tester, non ci sono ordini aperti, forse è per questo che viene restituito -1, che è il motivo per cui la condizione if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) non tiene?
Quando si avvia nel tester, non ci sono ordini aperti, forse è per questo che viene restituito -1 e quindi la condizione if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) non è soddisfatta?
Lo controllerò ora.
Se stai cercando degli ordini, allora devi usare la funzione nella sua versione completa, cioè con la possibilità di cercare per ordini, non solo per posizioni:
restituisce ancora -1
restituisce ancora -1
Funziona perfettamente!
Da due posizioni ha scelto l'ultima, che è alla barra 11, come potete vedere nello screenshot:
Controllare il codice: