Zuerst merken wir uns die Größe des Arrays, dann überprüfen wir den Index auf maximal die Größe des Arrays.
Bei der Suche nach Extremen weiß ich auch nicht, wie viele es geben wird. Ich speichere die gefundene Anzahl in der Variablen. Danach prüfe ich, ob die Anzahl der gefundenen Extrema nicht zu hoch ist. Ich arbeite mit statischen Arrays, bei denen ein Überschreiten mit Null- oder Zufallswerten behaftet ist.
Ich habe Ihre Aufgabe so verstanden, dass Sie nach denselben täglichen Mindestwerten suchen.
Ich würde es so lösen. Zuerst würde ich die minimalen Extrema in das Array einspeichern (auf dem Bild haben Sie es genau so, und in der Bedingung vergleichen Sie alle täglichen Tiefstpreise). Und dann würde ich nach denselben mit einiger Genauigkeit suchen.
4)Aleksey Stepanenko- Ein Mann, der nicht nur redet, sondern einen Code von Grund auf geschrieben hat, aber das Problem bleibt.
5) Und der ganze Rest.
Jetzt geht's los: Ich habe denvon Aleksei Stepanenko geschriebenen Code #property Version "2.00" getestet.
Siehe Bildschirmfoto 1
Wir sehen, dass Day1 und DayMin auf einer Parallele 0,67366 liegen,
Außerdem: Wenn es für dieses Werkzeug keine Vorgeschichte gäbe, wäre es normal.
Wir öffnen das Werkzeug und zeichnen Linien; es wird im Tester nicht zurückgerollt.
und gehen Sie den Verlauf manuell durch.
In der Geschichte von 2019.10.16 um 15.00 Uhr finden wir das Tagestief
wir werfen eine Leine aus und gehen rückwärts.
Und dann stellen wir fest, dass hier etwas nicht stimmt und der Pegel (Wert) von DayMin auf Bildschirm 1 = 67233 sein sollte
Ich fange gerade an, MQL4 zu studieren, und es fällt mir schwer, den Codevon Aleksei Stepanenko zu verstehen (Klasse in Klasse, Arrays überschreiben Arrays, etc.).
Ich habe eine Frage an die Experten, wie Ihre Indikatoren und alle Ihre Produkte funktionieren (ich würde mich dafür schämen)
Auf Seite 9 des Beitrags der Grund für die Adresse in erweiterter Form#88 https://www.mql5.com/ru/forum/357558/page9#comment_19689951
4)Aleksey Stepanenko- Ein Mann, der nicht nur redet, sondern einen Code von Grund auf geschrieben hat, aber das Problem bleibt.
5) Und der ganze Rest.
Jetzt geht's los: Ich habe denvon Aleksei Stepanenko geschriebenen Code #property Version "2.00" getestet.
Siehe Bildschirmfoto 1
Wir sehen, dass Day1 und DayMin auf einer Parallele 0,67366 liegen,
Außerdem: Wenn es für dieses Instrument keine Vorgeschichte gäbe, wäre es normal.
Sehen wir uns Screenshot 2 an
Wir öffnen das Werkzeug, gießen die Leinen; es wackelt nicht im Prüfgerät
und gehen Sie den Verlauf manuell durch.
Wir sehen uns denScreenshot 3 an
In der Geschichte von 2019.10.16 um 15.00 Uhr finden wir das Tagestief
Werfen wir die Leine aus und gehen rückwärts
Sehen wir unsScreenshot 4 an
Und dann verstehen wir, dass hier etwas falsch ist und der Pegel (Wert) von DayMin auf dem Screenshot 1 = 67233 sein sollte
Ich fange gerade an, MQL4 zu lernen, und es fällt mir schwer, den Codevon Aleksei Stepanenko zu verstehen (es gibt eine Klasse in der Klasse, Arrays schreiben Dinge um, usw.).
Ich habe eine Frage an Experten, wie Ihre Indikatoren und alle Ihre Produkte funktionieren (es wäre schade für mich)
Auf Seite 9 des Beitrags wird der Grund für die Beschwerde in erweiterter Form#88 https://www.mql5.com/ru/forum/357558/page9#comment_19689951
Der Algorithmus tut das, was er sagt, und nicht das, was Sie denken, dass er tut. Ich drucke auch in eine Datei und sehe nach, was gezählt wurde, und oft ist es nicht das, was ich denke, sondern das, was ich geschrieben habe.
Der Algorithmus tut, was er sagt, nicht, was Sie denken. Ich drucke auch in eine Datei und sehe, was dort berechnet wird, und oft gar nicht, was ich geplant habe, sondern was ich geschrieben habe.
Ich weiß nicht, wie jemand Code schreibt.
Aber ich persönlich schreibe alles einfach und übersichtlich für mich in den aktuellen Stilen und kann keine zufälligen Werte bekommen.
aber es ist klar, wo die Beine wachsen. und wenn es außer Reichweite ist, wird nicht weiter gepfiffen.
(der Algorithmus tut, was geschrieben steht, und nicht, wie Sie denken ) Der Algorithmus sollte tun, was Sie denken und nicht, wie er will. andernfalls ist es ein Abfluss der Ablagerung. Und persönlich passt diese Option nicht zu mir.
Beispiel globale Variablen (Obwohl dies für manche wie ein Vorsintflutliches erscheinen mag)
//+------------------------------------------------------------------+//| new_test.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"1.4"#property strict//------------------------------------------------------------------+int Order_MagicNumber; // для авто торговли int Magic = 0 ; //для ручная торговля//------------------------------------------------------------------+externcolor Color = Black; // Color линия Bidexternbool Objects = true ; // Удалять объекты созданные Cоветникомexternint In_Time = 3 ; // Время входа эксперта на рынок (время терминала)externint Out_Time = 23 ; // Время выхода эксперта с рынка (время терминала)externint Time_End_Friday = 18 ; // Время после которого не торгуем в пятницу (время терминала)externstring r_t = "" ; // + externint Step = 10 ; // Step trailing stop ( Шаг трал стопа ) //--------------------------------------------------------------------------------------------------------externstring R_T = "Параметры" ; // ===================== Ручная Торговля ====================externint Take_Profit = 5000 ; // Take Profit externint Stop_Loss = 1200 ; // Stop Loss externint Stop_Loss_Profit = 15 ; // Stop loss without loss ( Стоп-лосс без убытка )externint Start_Profit = 50 ; // Start Trailing Stop ( Старт трейлинг стоп )externstring a_t = "" ; // + //--------------------------------------------------------------------------------------------------------externstring A_T = "Параметры" ; // ================ Автоматическая торговля =================externint Take_Profit_A = 2500 ; // Take Profit externint Stop_Loss_A = 1200 ; // Stop Loss externint Stop_Loss_Profit_A = 15 ; // Stop loss without loss ( Стоп-лосс без убытка )externint Start_Profit_A = 50 ; // Start Trailing Stop ( Старт трейлинг стоп ) //------------------------------------------------------------------+//--------------------------------------------------------------------------------------------------------externstring A_S = "Параметры" ; // ======================= Scalping =========================externint Take_Profit_S = 10000 ; // Take Profit externint Stop_Loss_S = 1500 ; // Stop Loss externint Stop_Loss_Profit_S = 15 ; // Stop loss without loss ( Стоп-лосс без убытка )externint Start_Profit_S = 30 ; // Start Trailing Stop ( Старт трейлинг стоп ) //------------------------------------------------------------------+string symbol_EURUSD = "EURUSD" ;
string symbol_GBPUSD = "GBPUSD" ;
string symbol_AUDUSD = "AUDUSD" ;
string symbol_NZDUSD = "NZDUSD" ;
string symbol_USDCHF = "USDCHF" ;
string symbol_USDJPY = "USDJPY" ;
string symbol_USDCAD = "USDCAD" ;
string symbol_USDCNH = "USDCNH" ;
string symbol_SPX500 = "SPX500" ;
//-------------------------------------------------------------------+double Rvi_Blue_H1;
double Rvi_Red_H1;
double Rvi_Blue_H4;
double Rvi_Red_H4;
double Rvi_Blue_D1;
double Rvi_Red_D1;
double Rvi_Blue_W1;
double Rvi_Red_W1;
//-------------------------------------------------------------------+double TakeProfit = NormalizeDouble (Take_Profit* _Point , _Digits ); // Тейк-профит ручная торговляdouble StopLoss = NormalizeDouble (Stop_Loss* _Point , _Digits ); // Стоп-лосс ручная торговляdouble StopLossProfit = NormalizeDouble (Stop_Loss_Profit* _Point , _Digits ); // Стоп-лосс безубытка ручная торговляdouble StartProfit = NormalizeDouble (Start_Profit* _Point , _Digits ); // Стрт-профит ручная торговля//-------------------------------------------------------------------+double TakeProfit_S = NormalizeDouble (Take_Profit_S* _Point , _Digits ); // Тейк-профит Scalping double StopLoss_S = NormalizeDouble (Stop_Loss_S* _Point , _Digits ); // Стоп-лосс Scalping double StopLossProfit_S = NormalizeDouble (Stop_Loss_Profit_S* _Point , _Digits ); // Стоп-лосс безубытка Scalping double StartProfit_S = NormalizeDouble (Start_Profit_S* _Point , _Digits ); // Стрт-профит Scalping //-------------------------------------------------------------------+ double TakeProfit_B = NormalizeDouble (Take_Profit_A* _Point , _Digits ); // Тейк-профит Breakdown автоматической торговли double TakeProfit_C = NormalizeDouble (Take_Profit_A* _Point , _Digits ); // Тейк-профит Center автоматической торговли double TakeProfit_ATR = NormalizeDouble (Take_Profit_A* _Point , _Digits ); // Тейк-профит ATR автоматической торговлиdouble TakeProfit_H1 = NormalizeDouble (Take_Profit_A* _Point , _Digits ); // Тейк-профит H1 автоматической торговлиdouble TakeProfit_H4 = NormalizeDouble (Take_Profit_A* _Point , _Digits ); // Тейк-профит H4 автоматической торговлиdouble TakeProfit_D1 = NormalizeDouble (Take_Profit_A* _Point , _Digits ); // Тейк-профит D1 автоматической торговлиdouble TakeProfit_W1 = NormalizeDouble (Take_Profit_A* _Point , _Digits ); // Тейк-профит W1 автоматической торговлиdouble TakeProfit_TB = NormalizeDouble (Take_Profit_A* _Point , _Digits ); // Тейк-профит Trend_Bar автоматической торговлиdouble StopLoss_B = NormalizeDouble (Stop_Loss_A* _Point , _Digits ); // Стоп-лосс Breakdown автоматической торговлиdouble StopLoss_C = NormalizeDouble (Stop_Loss_A* _Point , _Digits ); // Стоп-лосс Cente автоматической торговлиdouble StopLoss_ATR = NormalizeDouble (Stop_Loss_A* _Point , _Digits ); // Стоп-лосс ATR автоматической торговлиdouble StopLoss_H1 = NormalizeDouble (Stop_Loss_A* _Point , _Digits ); // Стоп-лосс H1 автоматической торговлиdouble StopLoss_H4 = NormalizeDouble (Stop_Loss_A* _Point , _Digits ); // Стоп-лосс H4 автоматической торговлиdouble StopLoss_D1 = NormalizeDouble (Stop_Loss_A* _Point , _Digits ); // Стоп-лосс D1 автоматической торговлиdouble StopLoss_W1 = NormalizeDouble (Stop_Loss_A* _Point , _Digits ); // Стоп-лосс W1 автоматической торговлиdouble StopLoss_TB = NormalizeDouble (Stop_Loss_A* _Point , _Digits ); // Стоп-лосс Trend_Bar автоматической торговлиdouble StopLossProfit_B = NormalizeDouble (Stop_Loss_Profit_A* _Point , _Digits ); // Стоп-лосс безубытка Breakdown автоматической торговлиdouble StopLossProfit_C = NormalizeDouble (Stop_Loss_Profit_A* _Point , _Digits ); // Стоп-лосс безубытка Center автоматической торговлиdouble StopLossProfit_ATR = NormalizeDouble (Stop_Loss_Profit_A* _Point , _Digits ); // Стоп-лосс безубытка ATR автоматической торговлиdouble StopLossProfit_H1 = NormalizeDouble (Stop_Loss_Profit_A* _Point , _Digits ); // Стоп-лосс безубытка H1 автоматической торговлиdouble StopLossProfit_H4 = NormalizeDouble (Stop_Loss_Profit_A* _Point , _Digits ); // Стоп-лосс безубытка H4 автоматической торговлиdouble StopLossProfit_D1 = NormalizeDouble (Stop_Loss_Profit_A* _Point , _Digits ); // Стоп-лосс безубытка D1 автоматической торговлиdouble StopLossProfit_W1 = NormalizeDouble (Stop_Loss_Profit_A* _Point , _Digits ); // Стоп-лосс безубытка W1 автоматической торговлиdouble StopLossProfit_TB = NormalizeDouble (Stop_Loss_Profit_A* _Point , _Digits ); // Стоп-лосс безубытка Trend_Bar автоматической торговлиdouble StartProfit_B = NormalizeDouble (Start_Profit_A* _Point , _Digits ); // Стрт-профит Breakdown автоматической торговлиdouble StartProfit_C = NormalizeDouble (Start_Profit_A* _Point , _Digits ); // Стрт-профит Center автоматической торговлиdouble StartProfit_ATR = NormalizeDouble ((Start_Profit_A* 2 )* _Point , _Digits ); // Стрт-профит ATR автоматической торговлиdouble StartProfit_H1 = NormalizeDouble ((Start_Profit_A* 2 )* _Point , _Digits ); // Стрт-профит H1 автоматической торговлиdouble StartProfit_H4 = NormalizeDouble ((Start_Profit_A* 2 )* _Point , _Digits ); // Стрт-профит H4 автоматической торговлиdouble StartProfit_D1 = NormalizeDouble ((Start_Profit_A* 2 )* _Point , _Digits ); // Стрт-профит D1 автоматической торговлиdouble StartProfit_W1 = NormalizeDouble ((Start_Profit_A* 2 )* _Point , _Digits ); // Стрт-профит W1 автоматической торговлиdouble StartProfit_TB = NormalizeDouble ((Start_Profit_A* 2 )* _Point , _Digits ); // Стрт-профит Trend_Bar автоматической торговлиdouble step = NormalizeDouble (Step* _Point , _Digits ); // Шаг трал стопа ручная торговля//-------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Функция Level
//+------------------------------------------------------------------+
double Bar_data_D1 [][6]; // Копирует в массив данные баров указанного графика и возвращает количество скопированных баров D1
int ACR_D1; // Возвращает количество скопированных баров D1
double Bar_data_W1 [][6]; // Копирует в массив данные баров указанного графика и возвращает количество скопированных баров W1
int ACR_W1; // Возвращает количество скопированных баров W1
double Bar_data_MN1 [][6]; // Копирует в массив данные баров указанного графика и возвращает количество скопированных баров MN1
int ACR_MN1; // Возвращает количество скопированных баров MN1
double High_D1_Level; // Возвращает значение максимальной цены бара D1
double Low_D1_Level; // Возвращает значение минимальной цены бара D1
double High_W1_Level; // Возвращает значение максимальной цены бара W1
double Low_W1_Level ; // Возвращает значение минимальной цены бара W1
double High_MN1_Level; // Возвращает значение максимальной цены бара MN1
double Low_MN1_Level; // Возвращает значение минимальной цены бара MN1
double Max_D_Level; // ближайшей максимальный D уровень
double Min_D_Level ; // ближайшей минимальный D уровень
double Max_W_Level ; // ближайшей максимальный W уровень
double Min_W_Level ; // ближайшей минимальный W уровень
double Max_MN_Level ; // ближайшей максимальный MN уровень
double Min_MN_Level ; // ближайшей минимальный MN уровень
//+------------------------------------------------------------------+
double Lots; // переменная для расчёта лота и вывода в кнопке
string lots; // переменная для отоброжения имя кнопки Lots
string sell; // переменная для отоброжения имя кнопки Sell
string bay; // переменная для отоброжения имя кнопки Bay
string balance; // переменная для отоброжения имя кнопки balance
int avto_torgovlya; // объекта «Кнопка» Авто_торговля
int avto_tral_stop; // объекта «Кнопка» Авто_трал_стоп
int break_even; // объекта «Кнопка» Безубыток
int scalper; // объекта «Кнопка» scalper
//-------------------------------------------------------------------+
int Time_Seconds; // сохроняем секунду
int Time_Minute; // сохроняем минуту
int Time_Hour; // сохроняем час
int ticks_to_close = 10; // количество тиков до снятия эксперта с терменала
int ExtRVIPeriod = 10;
datetime Order_datetime_S;
datetime Time_Day;
//-------------------------------------------------------------------+
string String_Order; // описание сигнала Bay или Sell
int Signal_Order_1; // если 1 то Bay - если -1 то сел (обнуляем 1 раз в день)
double BuyTralStop_S, SellTralStop_S;
int N1_Order_Bay_Time; // записываем время последней сделки (обнуляем 1 раз в день)
int N1_Order_Sell_Time; // записываем время последней сделки (обнуляем 1 раз в день)
int tframe[] = { 1 , 5 , 15 , 30 , 60 , 240 , 1440 , 10080 , 43200 };
string tf[] = { "M1" , "M5" , "M15" , "M30" , " H1" , " H4" , "D1" , "W1" , "MN1" };
int tfnumber = 9 ;
int ADX_Period = 14 ;
int ADX_Price = PRICE_CLOSE ;
double Step_Psar = 0.02 ;
double Max_Psar = 0.2 ;
color UpColor = clrBlue ;
color DownColor = clrRed ; // Trend_Barcolor FlatColor = clrLime ;
color TextColor = clrGreen ;
int Corner = 0 ;
double Psar;
double PADX,NADX;
string TimeFrameStr;
double IndVal[ 9 ];
//-------------------------------------------------------------------+string lots; // переменная для отображения имя кнопки Lotsstring sell; // переменная для отображения имя кнопки Sellstring bay; // переменная для отображения имя кнопки Baystring balance; // переменная для отображения имя кнопки balanceint avto_torgovlya; // объекта «Кнопка» Авто_торговляint avto_tral_stop; // объекта «Кнопка» Авто_трал_стопint break_even; // объекта «Кнопка» Без убытокint scalper; // объекта «Кнопка» scalper //-------------------------------------------------------------------+double Lots; // переменная для расчёта лотаint Time_Seconds; // сохраняем секунду int Time_Minute; // сохраняем минуту int Time_Hour; // сохраняем часint Friday; //переменная для торговли в пятницу если равно 0 торговля разрешена 1 торговля запрещена int ticks_to_close = 10 ; // количество тиков до снятия эксперта с терминалаint ExtRVIPeriod = 10 ;
datetime Order_datetime_S;
//-------------------------------------------------------------------+string File_Name;
int file_handle;
int Signal[ 100 ]; // Signal [0] текущий день Signal [10] Shaping_Signal Bay // Signal [1] H1 Signal [11] Shaping_Signal Sell// Signal [2] H4 Signal [12] // Signal [3] D1 Signal [13]// Signal [4] W1 Signal [14]// Signal [5] Scalper Signal [15]// Signal [6] Breakdown Signal [16]// Signal [7] Center Signal [17]// Signal [8] ATR Signal [18]// Signal [9] Trend_Bar Signal [19]//-------------------------------------------------------------------+int ATR_Period = 5 ;
double beginner = 0 ;
int timeshift = 0 , timeshifts = 0 ;
double H4, L4, H4t, L4t;
double fullatr;
double ATR_Level_5, ATR_Level_6;
double rates_d1 [][ 6 ];
double ATR_Level [ 10 ]; //Сохраняем в массиве Signal[100] значение линий //ATR_Level[0] line BAY//ATR_Level[1] line SELL //ATR_Level[2] line Center//ATR_Level[3] line High_d1 Предыдущий день//ATR_Level[4] line Low_d1 Предыдущий день //ATR_Level[5] line D_max от line SELL//ATR_Level[6] line D_min от line BAY //-------------------------------------------------------------------+double BuyTralStop, SellTralStop;
double BuyTralStopS, SellTralStopS;
double BuyTralStopH1, SellTralStopH1;
double BuyTralStopH4, SellTralStopH4;
double BuyTralStopD1, SellTralStopD1;
double BuyTralStopW1, SellTralStopW1;
double BuyTralStop_C, SellTralStop_C;
double BuyTralStop_B, SellTralStop_B;
double BuyTralStop_ATR, SellTralStop_ATR;
double BuyTralStop_TB, SellTralStop_TB;
//-------------------------------------------------------------------+int S_Order_Time[ 2 ]; // [0] Bay// [1] Sellstring S_Order; // описание сигнала
Глобальные переменные создаются путем размещения их объявлений вне описания какой-либо функции. Глобальные переменные определяются на том же уровне, что и функции, т. е. не локальны ни в каком блоке. Область видимости глобальных переменных - вся программа, глобальные переменные доступны из всех функций, определенных в программе...
Aber ich persönlich schreibe für mich alles einfach und klar in diesem Stil , und ich bekomme keine zufälligen Werte.
Aber es ist klar, woher die Beine kommen, und wenn das stimmt, dann fliegtes nicht mit einem Pfiff weiter.
Ich glaube nicht, aber es ist klar, woher die Beine kommen. wenn es außerhalb der Reichweite ist, ist es wahr, nicht nur weiter weg.(Der Algorithmus tut, was er sagt, nicht was Sie denken) der Algorithmus sollte tun, was Sie denken, sonst wird es Ihre Einzahlung verlieren. Ich persönlich halte nichts von dieser Option.
Es gibt keine Logik. Sie haben keine zufälligen Werte, aber es gibt einen Ausreißer in der Matrix.
Und der Hauptwiderspruch besteht darin, dass der Algorithmus nicht das tut, was er will, sondern das, was er geschrieben hat. Ohne jeden Zusammenhang mit den Bedürfnissen.
One Click Close The script allows users to easily close positions if their profit/loss reaches or exceeds a value specified in pips. Please set slippage value first. Sometimes some positions do not close due to high volatility of the market. Please set larger slippage or restart the script. The free demo version is: ...
Vierter Tag... die gesamte fortschrittliche Menschheit...
Und er ist außer Reichweite.
Wir warten auf Sie!
Das verstehe ich nicht ganz.
Zuerst merken wir uns die Größe des Arrays, dann überprüfen wir den Index auf maximal die Größe des Arrays.
Bei der Suche nach Extremen weiß ich auch nicht, wie viele es geben wird. Ich speichere die gefundene Anzahl in der Variablen. Danach prüfe ich, ob die Anzahl der gefundenen Extrema nicht zu hoch ist. Ich arbeite mit statischen Arrays, bei denen ein Überschreiten mit Null- oder Zufallswerten behaftet ist.
Ich mag keine dynamischen Arrays, aber Ihr Fall ist ziemlich groß.
Ich habe Ihre Aufgabe so verstanden, dass Sie nach denselben täglichen Mindestwerten suchen.
Ich würde es so lösen. Zuerst würde ich die minimalen Extrema in das Array einspeichern (auf dem Bild haben Sie es genau so, und in der Bedingung vergleichen Sie alle täglichen Tiefstpreise). Und dann würde ich nach denselben mit einiger Genauigkeit suchen.
Wir laden unsere Experten ein:
1) Vitaly Muzichenko ist der wichtigste Experte unseres Postens (Guru), wenn man nach den von ihm geschriebenen Produkten urteilt.
2)Valeriy Yastremskiy
3)Alexej Tarabanow
4)Aleksey Stepanenko- Ein Mann, der nicht nur redet, sondern einen Code von Grund auf geschrieben hat, aber das Problem bleibt.
5) Und der ganze Rest.
Jetzt geht's los: Ich habe denvon Aleksei Stepanenko geschriebenen Code #property Version "2.00" getestet.
Siehe Bildschirmfoto 1
Wir sehen, dass Day1 und DayMin auf einer Parallele 0,67366 liegen,
Außerdem: Wenn es für dieses Werkzeug keine Vorgeschichte gäbe, wäre es normal.
Wir öffnen das Werkzeug und zeichnen Linien; es wird im Tester nicht zurückgerollt.
und gehen Sie den Verlauf manuell durch.
In der Geschichte von 2019.10.16 um 15.00 Uhr finden wir das Tagestief
wir werfen eine Leine aus und gehen rückwärts.
Und dann stellen wir fest, dass hier etwas nicht stimmt und der Pegel (Wert) von DayMin auf Bildschirm 1 = 67233 sein sollte
Ich fange gerade an, MQL4 zu studieren, und es fällt mir schwer, den Codevon Aleksei Stepanenko zu verstehen (Klasse in Klasse, Arrays überschreiben Arrays, etc.).
Ich habe eine Frage an die Experten, wie Ihre Indikatoren und alle Ihre Produkte funktionieren (ich würde mich dafür schämen)
Auf Seite 9 des Beitrags der Grund für die Adresse in erweiterter Form#88 https://www.mql5.com/ru/forum/357558/page9#comment_19689951
Wir laden unsere Experten ein:
1) Vitaly Muzichenko ist der wichtigste Experte unseres Postens (Guru), wenn man die Produkte betrachtet, die er geschrieben hat.
2)Valeriy Yastremskiy
3)Alexej Tarabanow
4)Aleksey Stepanenko- Ein Mann, der nicht nur redet, sondern einen Code von Grund auf geschrieben hat, aber das Problem bleibt.
5) Und der ganze Rest.
Jetzt geht's los: Ich habe denvon Aleksei Stepanenko geschriebenen Code #property Version "2.00" getestet.
Siehe Bildschirmfoto 1
Wir sehen, dass Day1 und DayMin auf einer Parallele 0,67366 liegen,
Außerdem: Wenn es für dieses Instrument keine Vorgeschichte gäbe, wäre es normal.
Sehen wir uns Screenshot 2 an
Wir öffnen das Werkzeug, gießen die Leinen; es wackelt nicht im Prüfgerät
und gehen Sie den Verlauf manuell durch.
Wir sehen uns denScreenshot 3 an
In der Geschichte von 2019.10.16 um 15.00 Uhr finden wir das Tagestief
Werfen wir die Leine aus und gehen rückwärts
Sehen wir unsScreenshot 4 an
Und dann verstehen wir, dass hier etwas falsch ist und der Pegel (Wert) von DayMin auf dem Screenshot 1 = 67233 sein sollte
Ich fange gerade an, MQL4 zu lernen, und es fällt mir schwer, den Codevon Aleksei Stepanenko zu verstehen (es gibt eine Klasse in der Klasse, Arrays schreiben Dinge um, usw.).
Ich habe eine Frage an Experten, wie Ihre Indikatoren und alle Ihre Produkte funktionieren (es wäre schade für mich)
Auf Seite 9 des Beitrags wird der Grund für die Beschwerde in erweiterter Form#88 https://www.mql5.com/ru/forum/357558/page9#comment_19689951
Der Algorithmus tut das, was er sagt, und nicht das, was Sie denken, dass er tut. Ich drucke auch in eine Datei und sehe nach, was gezählt wurde, und oft ist es nicht das, was ich denke, sondern das, was ich geschrieben habe.
Der Algorithmus tut, was er sagt, nicht, was Sie denken. Ich drucke auch in eine Datei und sehe, was dort berechnet wird, und oft gar nicht, was ich geplant habe, sondern was ich geschrieben habe.
Ich weiß nicht, wie jemand Code schreibt.
Aber ich persönlich schreibe alles einfach und übersichtlich für mich in den aktuellen Stilen und kann keine zufälligen Werte bekommen.
aber es ist klar, wo die Beine wachsen. und wenn es außer Reichweite ist, wird nicht weiter gepfiffen.
(der Algorithmus tut, was geschrieben steht, und nicht, wie Sie denken ) Der Algorithmus sollte tun, was Sie denken und nicht, wie er will. andernfalls ist es ein Abfluss der Ablagerung. Und persönlich passt diese Option nicht zu mir.
Beispiel globale Variablen (Obwohl dies für manche wie ein Vorsintflutliches erscheinen mag)
Vierter Tag... die gesamte fortschrittliche Menschheit...
Und er ist außer Reichweite.
Wir warten auf Sie!
Ich sehe das so.
Ich freue mich, Sie zu sehen!
Schlagen Sie es nach, oder?
Aber ich persönlich schreibe für mich alles einfach und klar in diesem Stil , und ich bekomme keine zufälligen Werte.
Aber es ist klar, woher die Beine kommen, und wenn das stimmt, dann fliegtes nicht mit einem Pfiff weiter.
Ich glaube nicht, aber es ist klar, woher die Beine kommen. wenn es außerhalb der Reichweite ist, ist es wahr, nicht nur weiter weg.(Der Algorithmus tut, was er sagt, nicht was Sie denken) der Algorithmus sollte tun, was Sie denken, sonst wird es Ihre Einzahlung verlieren. Ich persönlich halte nichts von dieser Option.
Es gibt keine Logik. Sie haben keine zufälligen Werte, aber es gibt einen Ausreißer in der Matrix.
Und der Hauptwiderspruch besteht darin, dass der Algorithmus nicht das tut, was er will, sondern das, was er geschrieben hat. Ohne jeden Zusammenhang mit den Bedürfnissen.
Warum fragen Sie nicht die Autoren?
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link "https://www.mql5.com"