Ich wollte einen MT4 von einem offiziellen Anbieter installieren und einen Testlauf durchführen.
Nachmittags. Ich hatte ein Problem beider Installation desMT4-Terminals. Ich habe genau 4 Version von der Website heruntergeladen, es beginnt zu installieren, aber nach Abschluss der Installation MT5 Terminal erscheint. Wie installiere ich MT4 genau?
Antwort: Das können Sie nicht. Der Support für die Vorgängerversion wird eingestellt. Bitte verwenden Sie MT5.
Alles Unnötige entfernt, Funktion in den Hauptteil verschoben, Ihre Lösungen hinzugefügt, und wieder Array außerhalb des Bereichs in 'Test_Level.mq4' (39,40) -:)
alles ist in Ordnung
Und hier ist tatsächlich Array außerhalb des Bereichs in
//+------------------------------------------------------------------+//| Test_Level.mq4 |//| Copyright 2020, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2020, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"3.0"#property strictdouble Bar_data_D1 [][6]; // Копирует в массив данные баров указанного графика и возвращает количество скопированных баров D1double Low_D1_Level; // Возвращает значение минимальной цены бара D1double Min_D_Level ; // ближайшей минимальный D уровеньint A_C_R; // возвращает количество скопированных баров D1//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
DestroyObject();
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
A_C_R = ArrayCopyRates(Bar_data_D1,_Symbol,PERIOD_D1); // Копирует в массив данные баров указанного графика и возвращает количество скопированных баров
Low_D1_Level = iLow (_Symbol,PERIOD_D1,1); // Возвращает значение минимальной цены бара D1//--- Min_D_Leve V 1.2for(int i = 1; i<ArrayRange(Bar_data_D1,0) ;i++)
{
if(Bar_data_D1 [i][2] != Bar_data_D1 [i+1][2] && Bar_data_D1 [i][2] < Low_D1_Level)
{
Min_D_Level = Bar_data_D1 [i][2];break;
}
if(Bar_data_D1 [i][2] == Bar_data_D1 [i+1][2])
{
Min_D_Level = Low_D1_Level;break;
}
}
/*
//--- Min_D_Leve V 1.0
//for(int i = 1; i<ArrayRange(Bar_data_D1,0) ;i++) // так ошибки нет и линия не перерисовывается
for(int i = 1; ;i++) // а так выход за массив
{
Print(" i = ",i," Bar_data_D1 [i][2] = ",Bar_data_D1 [i][2]);
if(Bar_data_D1 [i][2]>=0)
{
if( Bar_data_D1 [i][2] < Low_D1_Level)
{
Min_D_Level = Bar_data_D1 [i][2];break;
}
}
}
*///+-------------------------Low_D1_Level----------------------------+ if(ObjectFind("Low_D1")!=Low_D1_Level)
{
ObjectDelete("Low_D1");
if(ObjectFind("Low_D1")!=0)
{
ObjectCreate("Low_D1",OBJ_HLINE, 0, Time[0],Low_D1_Level);
ObjectSet("Low_D1", OBJPROP_COLOR, clrMaroon);
ObjectSet("Low_D1", OBJPROP_WIDTH, 1);
}
}
if(ObjectFind("Low_D1_label")!=Low_D1_Level)
{
ObjectDelete("Low_D1_label");
if(ObjectFind("Low_D1_label") != 0)
{
ObjectCreate("Low_D1_label", OBJ_TEXT, 0, Time[13], Low_D1_Level);
ObjectSetText("Low_D1_label", "Low_D1: " + DoubleToStr(Low_D1_Level,_Digits), 8,"Verdana", Brown);
}
}
//+-------------------------Min_D_Level----------------------------+ if(ObjectFind("Min_D")!= Min_D_Level)
{
ObjectDelete("Min_D");
if(ObjectFind("Min_D")!=0)
{
ObjectCreate("Min_D",OBJ_HLINE, 0, Time[0],Min_D_Level);
ObjectSet("Min_D", OBJPROP_COLOR, clrMaroon);
ObjectSet("Min_D", OBJPROP_WIDTH, 1);
}
}
if(ObjectFind("Min_D_label")!=Min_D_Level)
{
ObjectDelete("Min_D_label");
if(ObjectFind("Min_D_label") != 0)
{
ObjectCreate("Min_D_label", OBJ_TEXT, 0, Time[30], Min_D_Level);
ObjectSetText("Min_D_label", "Min_D: " + DoubleToStr(Min_D_Level,_Digits), 8,"Verdana", Brown);
}
}
Comment(" A_C_R возвращает количество скопированных баров D1 = ",A_C_R);
}
//+------------------------------------------------------------------+//| функция удаление всех объектов созданных советником//+------------------------------------------------------------------+void DestroyObject()
{
int tot=ObjectsTotal();
for( int i=tot; i>=0; i--)
{
if(ObjectName(i)=="Low_MN1"){ObjectDelete(0,"Low_MN1");Print("<< Объект Low_MN удалён >>");}
if(ObjectName(i)=="Low_MN1_label"){ObjectDelete(0,"Low_MN1_label");Print("<< Объект Low_MN1_label удалён >>");}
if(ObjectName(i)=="Min_D"){ObjectDelete(0,"Min_D");Print("<< Объект Min_D удалён >>");}
if(ObjectName(i)=="Min_D_label"){ObjectDelete(0,"Min_D_label");Print("<< Объект Min_D_label удалён >>");}
}
}
Alles Unnötige entfernt, die Funktion in den Hauptteil verschoben, Ihre Lösungen hinzugefügt und wieder array out of range in 'Test_Level.mq4' (39,40) -:)
Fehler mit dem Terminal
den Code aus dem obigen Beitrag kopiert und den Test durchgeführt
Ich wollte einen MT4 von einem offiziellen Anbieter installieren und einen Testlauf durchführen.
Nachmittags. Ich hatte ein Problem beider Installation desMT4-Terminals. Ich habe genau 4 Version von der Website heruntergeladen, es beginnt zu installieren, aber nach Abschluss der Installation MT5 Terminal erscheint. Wie installiere ich MT4 genau?
Antwort: Das können Sie nicht. Der Support für die Vorgängerversion wird eingestellt. Bitte verwenden Sie MT5.
Du kannst es schaffen
Getestet über den gesamten verfügbaren Zeitraum
AUDUSD seit 2016.01.01
EURUSD seit 2011.01.01
GBPUSD seit 2011.01.01
verwendet und
и
keine Fehlerprotokolle beigefügtDie Lösung
Ich habe einen Indikator erstellt, der anscheinend alles richtig zeichnet.
Lösung
Zurück zur ersten Seite des Beitrags!
2020.12.14 14:23:44.222 Expert Test_Level AUDUSD,H1: entfernt
2020.12.14 14 14:23:44.234 Expert Test_Level AUDUSD,H1: erfolgreich geladen
2020.12.14 14:23:44.365 TestGenerator: aktuelle Spanne 20 verwendet
2020.12.14 14 14:23:45.263 2020.01.24 00:00:00 Test_Level test started
2020.12.14 14:24:29.044 2020.02.10 00:05:00 Test_Level AUDUSD,H1: array out of range in 'Test_Level.mq4' (39,40)
2020.12.14 14 14:24:29.044 2020.02.10 00:05:00 Testdurchlauf gestoppt aufgrund eines kritischen Fehlers im EA
2020.12.14 14:24:29.044 AUDUSD,H1: 245717 Tick-Ereignisse (265 Balken, 9638212 Balkenzustände) verarbeitet in 0:00:43.781 (Gesamtzeit 0:00:44.766)
Alles Unnötige entfernt, Funktion in den Hauptteil verschoben, Ihre Lösungen hinzugefügt, und wieder Array außerhalb des Bereichs in 'Test_Level.mq4' (39,40) -:)
alles ist in Ordnung
Und hier ist tatsächlich Array außerhalb des Bereichs in
Zurück von der ersten Seite des Beitrags!
Alles Unnötige entfernt, die Funktion in den Hauptteil verschoben, Ihre Lösungen hinzugefügt und wieder array out of range in 'Test_Level.mq4' (39,40) -:)
Fehler mit dem Terminal
den Code aus dem obigen Beitrag kopiert und den Test durchgeführt
hier ist das Protokoll
Fehler mit dem Terminal
den Code aus dem obigen Beitrag kopiert und den Test durchgeführt
Hier ist das Protokoll.
Hier ist die Nachricht.
Und mit der Visualisierung laufen von 1.01.2020 AUDUSD
Ich denke, es macht keinen Unterschied.
Wer ist Ihr Makler?
Welches Terminal benutzen Sie?