Valeriy Yastremskiy Vielleicht liegt es daran, dass der Code unvollständig ist, da ich alle unnötigen Funktionen entfernt habe.
//+----------------------------------------------------------------------------+//| 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);
}
//+----------------------------------------------------------------------------+
Um ehrlich zu sein, verstehe ich Kims Logik nicht, warum die Bedingungen, dass die Balkenzeit den eingestellten Wert überschreitet und die Anzahl der berechneten Balken negativ ist mit ODER die Anzahl der berechneten Balken größer ist als die Anzahl der Balken Barz)))) Und gleichzeitig korrigiert es die benutzerdefinierten Parameter)
Und es wird nicht einmal eine Warnung angezeigt, dass der Benutzer etwas falsch gemacht hat)
Wenn NumberOfBars angegeben ist (größer als 0), wird die Zeit logischerweise ignoriert und nur die letzten Balken werden berücksichtigt.
Aber ein Benutzer kann einen Fehler bei den Daten machen, oder wenn es ein Loch im Zitat gibt, dann wird nichts gedruckt, es gibt nur DivideByZero zurück :-)
kann jemand wissen, wie man Kurse von mt5 zu mt4 konvertieren? oder irgendwelche Möglichkeiten, um die Vorteile der besseren Geschichte von mt5 zu mt4 zu nehmen... außer TDS2😊
kann jemand wissen, wie man Kurse von mt5 zu mt4 konvertieren? oder irgendwelche Möglichkeiten, um die Vorteile der besseren Geschichte von mt5 zu mt4 zu nehmen... außer TDS2😊
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
Wie kann das Indikatorfenster das Preisdiagramm vollständig ausblenden?
Ich kann es nicht über ChartSetInteger(0,CHART_HEIGHT_IN_PIXELS,0,0) machen, sondern muss zuerst die Größe des Indikators einstellen und dann die Höhe des Preisfensters dazu addieren:
int chart_height=(int)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0);
IndicatorSetInteger(INDICATOR_HEIGHT,200+chart_height);
Wenn Sie jedoch das untere Auftragsfenster öffnen, wird die Größe des Indikatorfensters größer als die Bildschirmgröße, und das Terem zeigt wieder den Preis an.
Ich weiß nicht, wie man das Auftragsfenster messen kann, außerdem ändert es sich ständig.
Aleksei Stepanenko dankt Ihnen.
Valeriy Yastremskiy Vielleicht liegt es daran, dass der Code unvollständig ist, da ich alle unnötigen Funktionen entfernt habe.Um ehrlich zu sein, verstehe ich Kims Logik nicht, warum die Bedingungen, dass die Balkenzeit den eingestellten Wert überschreitet und die Anzahl der berechneten Balken negativ ist mit ODER die Anzahl der berechneten Balken größer ist als die Anzahl der Balken Barz)))) Und gleichzeitig korrigiert es die benutzerdefinierten Parameter)
Und es wird nicht einmal eine Warnung angezeigt, dass der Benutzer etwas falsch gemacht hat)
Wenn NumberOfBars angegeben ist (größer als 0), wird die Zeit logischerweise ignoriert und nur die letzten Balken werden berücksichtigt.
Aber ein Benutzer kann einen Fehler bei den Daten machen, oder wenn es ein Loch im Zitat gibt, dann wird nichts gedruckt, es gibt nur DivideByZero zurück :-)
kann jemand wissen, wie man Kurse von mt5 zu mt4 konvertieren? oder irgendwelche Möglichkeiten, um die Vorteile der besseren Geschichte von mt5 zu mt4 zu nehmen... außer TDS2😊
Hallo
kann jemand wissen, wie man Kurse von mt5 zu mt4 konvertieren? oder irgendwelche Möglichkeiten, um die Vorteile der besseren Geschichte von mt5 zu mt4 zu nehmen... außer TDS2😊
Export/Import
mt5 hat also ein anderes Format für Anführungszeichen. mt4 kann sie nicht lesen. Das ist das Problem...😎
mt5 hat also ein anderes Format für Anführungszeichen. mt4 kann sie nicht lesen. Das ist das Problem...😎
MT5 exportiert nach csv und mt4 liest alles
Warum brauche ich die Division durch Punkt?
...
Ich kann es nur empfehlen:
Andernfalls erhalten Sie ein "oops")))
Wie kann das Indikatorfenster das Preisdiagramm vollständig ausblenden?
Ich kann es nicht über ChartSetInteger(0,CHART_HEIGHT_IN_PIXELS,0,0) machen, sondern muss zuerst die Größe des Indikators einstellen und dann die Höhe des Preisfensters dazu addieren:
Wenn Sie jedoch das untere Auftragsfenster öffnen, wird die Größe des Indikatorfensters größer als die Bildschirmgröße, und das Terem zeigt wieder den Preis an.
Ich weiß nicht, wie man das Auftragsfenster messen kann, außerdem ändert es sich ständig.
Was ist zu tun?
Bitte um Hilfe!
Hilfe bei der Übersetzung dieses Codes in mql5...
Ich möchte verstehen, wie man mit Griffen arbeitet.
Ich würde Ihre Hilfe sehr schätzen.
Bitte um Hilfe!
Hilfe bei der Übersetzung dieses Codes in mql5...
Ich möchte verstehen, wie man mit Griffen arbeitet.
Ich würde Ihre Hilfe sehr schätzen.
Die einzige Frage bezieht sich auf diese Zeile
-50 redundant und Array