Valeriy Yastremskiy Forse è perché il codice è incompleto, dato che ho rimosso tutte le funzioni inutili.
//+----------------------------------------------------------------------------+//| AverageRange.mq4 |//| Ким Игорь В. aka KimIV |//| http://www.kimiv.ru |//| |//| 14.09.2005 Скрипт для расчёта: |//| средней волатильности инструмента High-Low |//| среднего размера тела свечи ABS(Open-Close) |//| среднего размера тени свечи |//| |//| 17.11.2007 Возможность использования заданного количества баров |//+----------------------------------------------------------------------------+#property copyright"Ким Игорь В. aka KimIV"#property link"http://www.kimiv.ru"#property show_inputs
externdatetime BeginDateCalc = D'2013.01.01';
externdatetime EndDateCalc = D'2013.12.31';
externint NumberOfBars = 100;
//+----------------------------------------------------------------------------+//| script program start function |//+----------------------------------------------------------------------------+void start() {
int i;
int b = 0;
int bb = 0;
int h = 0;
int l = 0;
int s = 0;
int t = 0;
string st = "";
for (i = Bars; i > 0; i--) {
if ((Time [i] >= BeginDateCalc && Time [i] <= EndDateCalc && NumberOfBars <= 0)
|| (NumberOfBars > 0 && NumberOfBars >= i)) {
if (bb == 0) bb = i;
s += (High [i] - Low [i]) / Point;
t += MathAbs (Open [i] - Close [i]) / Point;
if (Open [i] > Close [i]) {
h += (High [i] - Open [i]) / Point;
l += (Close [i] - Low [i]) / Point;
} else {
h += (High [i] - Close [i]) / Point;
l += (Open [i] - Low [i]) / Point;
}
b++;
}
}
st = "Начало: " + TimeToStr (Time [bb], TIME_DATE | TIME_MINUTES) + "\n";
st = st + "Конец: " + TimeToStr (Time [bb - b + 1], TIME_DATE | TIME_MINUTES) + "\n";
st = st + "Использовано баров: " + b + "\n";
st = st + "Средняя волатильность: " + s / b + " п.\n";
st = st + "Средний размер тела: " + t / b + " п.\n";
st = st + "Средний размер верхней тени: " + h / b + " п.\n";
st = st + "Средний размер нижней тени: " + l / b + " п.";
Comment (st);
}
//+----------------------------------------------------------------------------+
Ad essere onesti, non capisco la logica di Kim, perché le condizioni di tempo della barra che supera il valore impostato e il numero di barre calcolate sono negative con OR il numero di barre calcolate è maggiore del numero di barre Barz)))) E allo stesso tempo corregge solo i parametri personalizzati)
E non visualizza nemmeno un avviso che l'utente ha sbagliato)
Logicamente, se NumberOfBars è specificato (maggiore di 0), il tempo è ignorato e solo le ultime barre sono prese in considerazione
Ma un utente può fare un errore con le date o se c'è un buco nella citazione, allora non viene stampato nulla, restituisce solo DivideByZero :-)
voidOnStart(){
double first=0.00001;
double point=0.00001;
for(uint i=0;i<10;++i){
double value=NormalizeDouble(first+i*point,5);
int res=(int)((value-first)/point);
if (res!=i)
PrintFormat("Alert: (%.5 f-%.5 f)/%.5 f!=%u, but ==%i",value,first,point,i,res);
}
}
2021.09.1211:06:26.041 Script test EURGBP,H1: removed
2021.09.1211:06:26.038 test EURGBP,H1: uninit reason 02021.09.1211:06:26.038 test EURGBP,H1: Alert: (0.00007-0.00001)/0.00001!=6, but ==52021.09.1211:06:26.038 test EURGBP,H1: Alert: (0.00003-0.00001)/0.00001!=2, but ==12021.09.1211:06:26.038 test EURGBP,H1: initialized
2021.09.1211:06:25.998 Script test EURGBP,H1: loaded successfully
Come fare in modo che la finestra dell'indicatore nasconda completamente il grafico dei prezzi?
Non posso farlo tramite ChartSetInteger(0,CHART_HEIGHT_IN_PIXELS,0,0). Devo prima impostare la dimensione dell'indicatore e poi aggiungervi l'altezza della finestra dei prezzi:
int chart_height=(int)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0);
IndicatorSetInteger(INDICATOR_HEIGHT,200+chart_height);
Tuttavia, se si apre la finestra dell'ordine in basso, la dimensione della finestra dell'indicatore diventa più grande della dimensione dello schermo e il terem mostra nuovamente il prezzo.
Non so come misurare la finestra dell'ordine, inoltre, continua a cambiare.
Aleksei Stepanenko grazie.
Valeriy Yastremskiy Forse è perché il codice è incompleto, dato che ho rimosso tutte le funzioni inutili.Ad essere onesti, non capisco la logica di Kim, perché le condizioni di tempo della barra che supera il valore impostato e il numero di barre calcolate sono negative con OR il numero di barre calcolate è maggiore del numero di barre Barz)))) E allo stesso tempo corregge solo i parametri personalizzati)
E non visualizza nemmeno un avviso che l'utente ha sbagliato)
Logicamente, se NumberOfBars è specificato (maggiore di 0), il tempo è ignorato e solo le ultime barre sono prese in considerazione
Ma un utente può fare un errore con le date o se c'è un buco nella citazione, allora non viene stampato nulla, restituisce solo DivideByZero :-)
qualcuno può sapere come convertire le quotazioni da mt5 a mt4? o qualsiasi modo per approfittare della migliore storia da mt5 a mt4... tranne TDS2😊
Ciao
qualcuno può sapere come convertire le quotazioni da mt5 a mt4? o qualsiasi modo per approfittare della migliore storia da mt5 a mt4... tranne TDS2😊
Esportazione/importazione
quindi mt5 ha un formato di citazione diverso. mt4 non li legge. questo è il problema...😎
quindi mt5 ha un formato di citazione diverso. mt4 non li legge. questo è il problema...😎
MT5 esporta in csv e mt4 legge tutto
Perché ho bisogno della divisione per punti?
...
Lo consiglio vivamente:
Altrimenti si ottiene un oops)))
Come fare in modo che la finestra dell'indicatore nasconda completamente il grafico dei prezzi?
Non posso farlo tramite ChartSetInteger(0,CHART_HEIGHT_IN_PIXELS,0,0). Devo prima impostare la dimensione dell'indicatore e poi aggiungervi l'altezza della finestra dei prezzi:
Tuttavia, se si apre la finestra dell'ordine in basso, la dimensione della finestra dell'indicatore diventa più grande della dimensione dello schermo e il terem mostra nuovamente il prezzo.
Non so come misurare la finestra dell'ordine, inoltre, continua a cambiare.
Cosa fare?
Per favore, aiutatemi!
Aiuta a tradurre questo codice in mql5...
Voglio capire come lavorare con le maniglie.
Apprezzerei il vostro aiuto.
Per favore, aiutatemi!
Aiuta a tradurre questo codice in mql5...
Voglio capire come lavorare con le maniglie.
Apprezzerei il vostro aiuto.
L'unica domanda riguarda questa linea
-50 ridondante e array