Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1128
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
Ciao, ho uno strano comportamento della funzione di sistema OrderCalcProfit, ho la sensazione che il parametro volume sia ignorato nel calcolo, cioè la dimensione del profitto è sempre calcolata per il volume 1.0
Sto cercando di verificarlo nel tester per diverse coppie di valute su diversi conti demo.
1. Il calcolo è corretto per 1.0, vedi calc_profi101.png.
2. La seconda e tutte le chiamate successive della funzione restituiscono un risultato di profitto basato su un volume di 1.0, il valore del volume è ignorato, vedi uno screenshot (calc_profit02.png) - volume passato 0.5, ma il risultato è ancora lo stesso che per 1.0
Potete dirmi quale potrebbe essere il problema. Grazie
Ciao, ho uno strano comportamento della funzione di sistema OrderCalcProfit, ho la sensazione che il parametro volume sia ignorato nel calcolo, cioè la dimensione del profitto è sempre calcolata per il volume 1.0
Sto cercando di verificarlo nel tester per diverse coppie di valute su diversi conti demo.
1. Il calcolo è corretto per 1.0, vedi calc_profi101.png.
2. La seconda e tutte le chiamate successive della funzione restituiscono un risultato di profitto basato su un volume di 1.0, il valore del volume è ignorato, vedi uno screenshot (calc_profit02.png) - volume passato 0.5, ma il risultato è ancora lo stesso che per 1.0
Puoi dirmi quale potrebbe essere il problema. Grazie
Penso che la risposta sia nella guida:
"... profitto
[out] Variabile che conterrà il valore di profitto calcolato se la funzione ha successo. Il valore della stima del profitto dipende da molti fattori e può cambiare quando cambia l'ambiente di mercato. ... "
Aggiunto: anche se questa è solo un'ipotesi.
Ciao, ho uno strano comportamento della funzione di sistema OrderCalcProfit, ho la sensazione che il parametro volume sia ignorato nel calcolo, cioè la dimensione del profitto è sempre calcolata per il volume 1.0
Sto cercando di verificarlo nel tester per diverse coppie di valute su diversi conti demo.
1. Il calcolo è corretto per 1.0, vedi calc_profi101.png.
2. La seconda e tutte le chiamate successive della funzione restituiscono un risultato di profitto basato su un volume di 1.0, il valore del volume è ignorato, vedi uno screenshot (calc_profit02.png) - volume passato 0.5, ma il risultato è ancora lo stesso che per 1.0
Potete dirmi quale potrebbe essere il problema. Grazie
Ecco l'esaminatore del test - tutto funziona correttamente:
e il risultato:
Puoi darmi un suggerimento. È possibile e come posso trovare programmaticamente la lingua del terminale in uso?
Determino questo o la lingua del terminale russo o se un altro - l'output è in inglese.
Aggiunto: pensavo di aver salvato tutte le lingue dall'enumerazione TERMINAL_LANGUAGE - ma non lo trovo. Deve aver perso ...
Buon giorno a tutti, qualcuno può aiutare ad aggiungere qui che a SL non sarebbe solo un rollover ma anche aggiungere un sacco o più. E quando il TP viene attivato, restituisce un lotto.
1. Sconsiglio categoricamente l'uso di funzioni che selezionano una posizione in base a un carattere. Usa una funzione che seleziona una posizione per un indice in una lista.
2. Per sapere come è stata chiusa una posizione, l'enumerazioneENUM_DEAL_REASON deve essere vista in OnTradeTransaction.
Esempio con ENUM_DEAL_REASON:
Stop Loss Take Profit
CodeBase | 2017.07.13 07:42 |Vladimir Karputov| EAs | MetaTrader 5
È possibile inserire i dati di accesso al conto in un programma di terzi e gestire il conto e, sapete, aprire/chiudere posizioni?
O è solo attraverso un robot installato sull'account?
Sto trasferendo gli indicatori da MQL4 a MQL5, domanda sui buffer e le "trame". L'indicatore ha 2 buffer e 1 trama:
#proprietà indicator_buffers 2
#proprietà indicator_plots 1
SetIndexBuffer(0,Array1,INDICATOR_CALCULATIONS);
SetIndexBuffer(1,Array2,INDICATOR_DATA);
Se il primo buffer viene utilizzato per i calcoli, ecc. e il secondo deve essere tracciato, allora
Innanzitutto, è necessario impostare DRAW_NONE per il primo buffer se è già impostato su INDICATOR_CALCULATIONS nella funzione SetIndexBuffer() ?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_NONE);
secondo, quale indice dovrei impostare in PlotIndexSetInteger() invece del punto interrogativo (?) se solo il secondo buffer dovrebbe essere disegnato?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_HISTOGRAM);
In terzo luogo, se uso due stili di tipo DRAW_HISTOGRAM, posso impostare il colore per ciascuno di essi e ottenere un istogramma come nell'indicatore Volumes, dove le barre verdi e rosse si alternano, ma se uso DRAW_HISTOGRAM2, posso impostare anche due colori per una barra o solo un colore è impostato per questo stile?
Sto trasferendo gli indicatori da MQL4 a MQL5, domanda sui buffer e le "trame". L'indicatore ha 2 buffer e 1 trama:
#proprietà indicator_buffers 2
#proprietà indicator_plots 1
SetIndexBuffer(0,Array1,INDICATOR_CALCULATIONS);
SetIndexBuffer(1,Array2,INDICATOR_DATA);
Se il primo buffer viene utilizzato per i calcoli, ecc. e il secondo deve essere tracciato, allora
Innanzitutto, è necessario impostare DRAW_NONE per il primo buffer se è già impostato su INDICATOR_CALCULATIONS nella funzione SetIndexBuffer() ?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_NONE);
secondo, quale indice dovrei impostare in PlotIndexSetInteger() invece del punto interrogativo (?) se solo il secondo buffer dovrebbe essere disegnato?
PlotIndexSetInteger(?,PLOT_DRAW_TYPE,DRAW_HISTOGRAM);
In terzo luogo, se uso due stili di tipo DRAW_HISTOGRAM, posso impostare il colore per ciascuno di essi e ottenere un istogramma come nell'indicatore Volumes, dove le barre verdi e rosse si alternano, ma se uso DRAW_HISTOGRAM 2, posso impostare anche due colori per una barra o solo un colore è impostato per questo stile?
Perché sei così duro con te stesso? Qual è il problema di assegnare prima i buffer di visualizzazione e poi quelli ausiliari?
Per DRAW_HISTOGRAМ2 sono definiti 3 buffer e la sequenza è obbligatoria, 2 buffer di valore prima, seguiti da un buffer di colore. Ma c'è una differenza tra DRAW_HISTOGRAM e DRAW_HISTOGRAM2 in quanto DRAW_HISTOGRAM è disegnato da zero al valore nel buffer, mentre DRAW_HISTOGRAM2 è disegnato dal valore di un buffer al valore di un altro buffer.