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
Dato che sto scrivendo per le opzioni binarie, ho fatto le cose un po' diversamente:
Questo sarebbe probabilmente corretto?
Ecco il problema
Ci sono 2 linee nel terminale per 1 ordine
E per l'ordine che è stato piazzato dall'Expert Advisor, Profit == 0
Penso che questo sia il problema
Ci sono 2 linee nel terminale per 1 ordine
E sull'ordine che è stato piazzato dall'Expert Advisor, Profit == 0
dove hai trovato un prezzo sotto lo zero - come fai a mostrare uno screenshot?
Non si vede in questo screenshot
Ti è già stato dato un consiglio su tutto l'algoritmo, non voglio interferire e non ho nemmeno guardato il tuo codice e lo stesso consiglio... Ma questo
ha attirato la mia attenzione. Quindi la mia domanda è: non è più facile e più leggibile usare l'operatore switch
Penso che sia più facile da leggere e capire. Forse funziona anche un po' più velocemente.Forse invece di una funzione basta usare un array volume[n]?
Forse sì... sono d'accordo.
Dove hai trovato un prezzo inferiore a zero, mostrami uno screenshot?
Non c'è niente del genere in questo screenshot.
Sto cercando di ottenere OrderProfit() - dà 0
ecco una conferma trovata profitto -0.01 come esce da quella linea aggiuntiva
Forse sì... sono d'accordo.
Non capisco il prezzo negativo, non c'è ancora.
contare il profitto totale in questo modo (estratto)
Quello che ti serve è evidenziato
for(i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderType()==ORDER_TYPE_BALANCE && OrderCloseTime()>startDate)Withdrawal=Withdrawal+OrderProfit()+OrderCommission()+OrderSwap();
if((OrderType()==ORDER_TYPE_BUY || OrderType()==ORDER_TYPE_SELL))
{
if(OrderCloseTime()>iTime(Symbol(),PERIOD_D1,0))hystCurrDay=hystCurrDay+OrderProfit()+OrderCommission()+OrderSwap();
if(OrderCloseTime()<iTime(Symbol(),PERIOD_D1,0) && OrderCloseTime()>iTime(Symbol(),PERIOD_D1,1))hystPrevDay=hystPrevDay+OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
Non vengo pagato, è per me stesso e per l'autosviluppo. Dopo il lavoro, è interessante fare una ricerca del graal
Non fate caso a me. Siamo solo io e Nikolay che abbiamo un piccolo incontro...
L'essenza del tuo problema: poiché OrderProfit() nel brokeraggio forex non dà alcun valore reale, devi definire un ordine chiuso positivamente/negativamente come la differenza tra il prezzo di chiusura e il prezzo aperto dell'ordine. Vi è già stato detto di questo
Forum sul trading, sistemi di trading automatico e test di strategia
Controllare cosa ho fatto di sbagliato?
Renat Akhtyamov, 2021.12.21 09:27
non capire la logica che c'è dietro
come mai?
come il prezzo di chiusura dell' ordine può essere inferiore a zero?
l'ordine BUY sarà in posizione positiva se il prezzo di chiusura è superiore a quello di apertura
ecco la condizione di un buy plus (escluse le commissioni e lo swap):
Se è il contrario, è un menoNon vengo pagato così tanto per me stesso e per il mio sviluppo personale. Dopo il lavoro, è divertente andare alla ricerca del Graal.
Sì, Natalia - era solo un meme della serie "Quando vieni pagato per una linea di codice".
Questo è il tipo di umorismo che hanno i programmatori.
Non hai bisogno di una funzione nel tuo caso.
Hai solo bisogno di formare le variabili Volume1 ... Le variabili Volume10 dovrebbero essere inizialmente formate come un array volume[10]
e poi fare riferimento ai suoi elementi volume[n] per indice n.
Non preoccupatevi - quasi ogni programmatore ci è passato.
La cosa principale è che ti piaccia davvero la programmazione. Lo sento.
Allora andrai lontano.