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
Hmm quindi questo andrebbe bene?
In realtà ho cambiato Time[1] in Time[0] perché Time[1] stava saltando 1 barra in più, quindi Time[0] rappresenta effettivamente Open[0].
Hmm quindi questo andrebbe bene?
In realtà ho cambiato Time[1] in Time[0] perché Time[1] stava saltando un'altra barra, quindi Time[0] rappresenta effettivamente l'Open[0].
RefreshRates(); OrderClose( OrderTicket(), OrderLots(),OrderClosePrice() ,Slippage,CLR_NONE);
e controllare anche se orderclose ha successo
e controllare anche se orderclose ha successo
Bene, se non è successo, quando la funzione start() si ripete, testerà di nuovo quell'if() prima dell'orderclose() e poiché le condizioni saranno ancora vere per procedere, proverà a chiuderlo di nuovo.
Hmm quindi questo andrebbe bene?
In realtà ho cambiato Time[1] in Time[0] perché Time[1] stava saltando 1 barra in più, quindi Time[0] rappresenta effettivamente Open[0].
Se volete chiudere il più vicino possibile alla chiusura della barra, allora dovete determinare se il tick corrente è il primo tick della nuova barra. . . . poi dovete anche assicurarvi che la chiusura funzioni perché avrete solo una possibilità per barra.
Beh se non riesce allora quando la funzione start() si ripete testerà di nuovo quell'if() prima dell'orderclose() e siccome le condizioni saranno ancora vere per procedere, proverà a chiuderlo di nuovo.non posso provare a chiuderlo 2 volte nello stesso ciclo della start(), devo aspettare un altro tick no?
hai iniziato che deve chiudere l'ultimo tick della barra
abbiamo provato a capire che non è possibile sapere quando arriva l'ultima barra di tick
ora non importa se la chiusura fallisce, proviamo di nuovo, di nuovo, di nuovo sui tick successivi
Vi siete persi anche altri cambiamenti che ho suggerito
che senso hanno i refresh dopo la chiusura dell'ordine?
e sai perché slippage invece di TAKEPROFITPIPS
dipende dall'errorreturn puoi provare a chiuderlo 2 volte nello stesso ciclo
se tradecontext è troppo occupato e hai più trade all'interno del loop per chiudere il n grande possibilità che falliscano anche loro
No, questo chiuderà sempre indipendentemente dal fatto che il tick sia il tick della barra successiva o meno, per qualsiasi barra successiva a quella in cui il trade è stato aperto e in qualsiasi momento durante quella barra Time[0] sarà sempre maggiore di OrderOpenTime().
Se volete chiudere il più vicino possibile alla chiusura della barra, allora dovete determinare se il tick corrente è il primo tick della nuova barra. . . . poi dovete anche assicurarvi che la chiusura funzioni perché avrete solo una possibilità per barra.
Lo start() non si ripete dopo ogni tick? Mi sbaglio?
Comunque immaginatevi questo:
OrderOpenTime() = 12:12:01 (12 H 12 MIN 1 SEC)
L'ordine viene aperto, il pacchetto della funzione Orderclose() si trova dopo la mia OrderSend() nel codice principale, quindi, subito dopo aver aperto l'ordine, il mio pacchetto OrderClose() verificherà se le condizioni sono state soddisfatte per chiudere l'ordine o meno:
Time[0] è il prezzo di apertura di questa barra, quindi per logica comune deve essere più piccolo del tempo in cui l'ordine è stato aperto, perché l'ordine non può essere aperto prima dell'apertura della stessa barra.E': 12:12:00
Quindi con tutti i mezzi:
Se non riesce a chiudere l'ordine, per qualsiasi motivo, come lo slippage o altro, nessun problema, la start() si ripete
E alla prossima ripetizione il Time[0] sarà al 100% più grande del tempo di apertura dell'ordine, perché è logico, quindi se la prima chiusura fallisce l'altra OrderClose() avverrà ogni volta dopo, quando la start() si ripeterà, e siccome penso che la start() si ripeta ad ogni tick, allora non credo ci sia un modo migliore per chiudere l'ordine più velocemente, spero di essermi spiegato bene :)
hai iniziato che deve chiudere l'ultimo tick della barra
abbiamo provato a capire che non è possibile sapere quando arriva l'ultima barra di tick
ora non importa se la chiusura fallisce, proviamo ancora, ancora, ancora sui tick successivi
Vi siete persi anche altri cambiamenti che ho suggerito
che senso hanno i refresh dopo la chiusura dell'ordine?
e sai perché slippage invece di TAKEPROFITPIPS
dipende dall'errorreturn puoi provare a chiuderlo 2 volte nello stesso ciclo
se tradecontext è troppo occupato e hai più trade all'interno del loop per chiudere il n grande possibilità che falliscano anche loro
Lo start() non si ripete dopo ogni tick? Mi sbaglio?
Sì, start() viene chiamato per ogni tick, a meno che non sia ancora in esecuzione.
Comunque immagina questo:
OrderOpenTime() = 12:12:01 (12 H 12 MIN 1 SEC)
L'ordine viene aperto, il pacchetto della funzione Orderclose() si trova dopo la mia OrderSend() nel codice principale, quindi, subito dopo aver aperto l'ordine, il mio pacchetto OrderClose() verificherà se le condizioni sono state soddisfatte per chiudere l'ordine oppure no:
Time[0] è il prezzo di apertura di questa barra, quindi per logica comune deve essere inferiore al tempo di apertura dell'ordine, perché l'ordine non può essere aperto prima dell'apertura della stessa barra.
Quindi con tutti i mezzi:
Se non può chiudere l'ordine, per qualsiasi motivo, come lo slippage o altro, nessun problema, la start() si ripete
E alla prossima ripetizione il Time[0] sarà al 100% più grande del tempo di apertura dell'ordine, perché è logico, quindi se la prima chiusura fallisce l'altra OrderClose() avverrà ogni volta dopo, quando la start() si ripeterà, e siccome penso che la start() si ripeta ad ogni tick, allora non credo ci sia un modo migliore per chiudere l'ordine più velocemente, spero di essermi spiegato chiaramente :)
È abbastanza raro che il prezzo di chiusura di una barra non sia ripetuto nella barra successiva, non necessariamente il suo prezzo aperto...