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:
sy- Nome dello strumento di mercato. Se impostate questo parametro, la funzione considererà solo le posizioni dello strumento specificato. Il valore predefinito -NULL significa lo strumento di mercato corrente.
tf- Timeframe. Il valore predefinito0 indica l'intervallo di tempo corrente.
op- operazione commerciale, tipo di posizione. Valori validi:OP_BUY,OP_SELL o-1. Il valore predefinito-1 significa qualsiasi posizione.
mn- Identificatore di posizione, MagicNumber. Il valore predefinito-1 significa qualsiasi identificatore.
Questi valori dovrebbero essere dichiarati prima della prima funzione speciale, cioè il fatto che siano inclusi nella descrizione della funzioneNumberOfBarOpenLastPos() non è sufficiente?
È anche scritto nella descrizione della funzione che
La selezione delle posizioni da prendere in considerazione è impostata da parametri esterni:
sy- Nome dello strumento di mercato. Se impostate questo parametro, la funzione considererà solo le posizioni dello strumento specificato. Il valore predefinito -NULL significa lo strumento di mercato corrente.
tf- Timeframe. Il valore predefinito0 indica l'intervallo di tempo corrente.
op- operazione commerciale, tipo di posizione. Valori validi:OP_BUY,OP_SELL o-1. Il valore predefinito-1 significa qualsiasi posizione.
mn- Identificatore di posizione, MagicNumber. Il valore predefinito-1 significa qualsiasi identificatore.
Per i parametri esterni? È necessario dichiararli prima della prima funzione speciale? Cioè sono nella descrizione della funzioneNumberOfBarOpenLastPos() stessanon è sufficiente?
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?
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:
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: