Leider habe ich nur noch ein halbes Gigabyte Datenverkehr bis 14.09. um 14 Uhr, also werde ich nicht nachschauen. Ich werde mich um diese Zeit kümmern. Das ist etwas...
Danke, Nikolai - dank dir habe ich gelernt, wie viel ich gewonnen habe, weil ich keine Ahnung vom Debugger hatte.
Wenn ich mich darauf verlassen hätte, hätte ich jetzt nichts mehr. Vielleicht hätte ich das auch getan, aber nur halb so viel.
Ganz einfach, weil ich nicht in der Lage gewesen wäre, einen kolossalen Vorteil zu nutzen, um meine eigene Sprache beim Programmieren zu verwenden.
Seltsam, denn Sie können viel besser Englisch als ich, obwohl ich in Kanada lebe. Warum sollte man lange Namen nicht auf Englisch schreiben? Allerdings werden sie nicht rot hervorgehoben.
Nikolai Semko: Es ist seltsam, denn Sie können viel besser Englisch als ich, obwohl ich in Kanada lebe. Warum sollte man lange Namen nicht auf Englisch schreiben? Allerdings werden sie nicht rot hervorgehoben.
Auf jedes Wort in Ihrem Kopf (wenn auch unbewusst) übersetzen?
Die Muttersprache ist biologisch im Gehirn verankert. Die Verständigung ist am schnellsten möglich. Fremde Sprache wird immer erst verarbeitet, bevor sie verstanden wird.
Reine Biologie.
Ich verstehe meinen eigenen Code auf Russisch viel schneller, als wenn ich Englisch verwenden würde. Ich kann sie mir viel besser merken.
Auf jedes Wort in Ihrem Kopf (wenn auch unbewusst) übersetzen?
Die Muttersprache ist biologisch im Gehirn verankert. Die Verständigung ist am schnellsten möglich. Fremde Sprache wird immer erst verarbeitet, bevor sie verstanden wird.
Reine Biologie.
Ich verstehe meinen eigenen Code auf Russisch viel schneller, als wenn ich Englisch verwenden würde. Ich kann es mir viel besser merken.
Und versuchen Sie, etwas mit #define zu machen. Ich bin nur gerade nicht an meinem Computer. Vielleicht können Sie im Debugger irgendwie mit russischen Variablennamen arbeiten, wenn Sie nicht ohne sie auskommen können.
Auf jedes Wort in Ihrem Kopf (wenn auch unbewusst) übersetzen?
Die Muttersprache ist biologisch im Gehirn verankert. Die Verständigung ist am schnellsten möglich. Fremde Sprache wird immer erst verarbeitet, bevor sie verstanden wird.
Reine Biologie.
Ich verstehe meinen eigenen Code auf Russisch viel schneller, als wenn ich Englisch verwenden würde. Ich erinnere mich viel besser daran.
Zufälligerweise hatte ich nie Englisch - nicht in der Schule, nicht in einem einzigen Institut, nicht in einem zweiten. Ich verstehe es immer noch nicht nach Gehör. Ich lerne es gerade selbst, aber meine ersten Versuche waren lange bevor ich mit dem Programmieren angefangen habe. Annygdot " - Wie hast du so schnell Englisch gelernt? - Was gibt es da zu lernen - sie haben alle Wörter aus C++" - das bin ich.
Und wissen Sie was? Aus irgendeinem Grund habe ich noch nie einen anglophonen Menschen in meinem Leben gehabt. Sprechen Sie also für sich selbst - verallgemeinern Sie nicht für alle.
Nikolai Semko: Versuchen Sie, etwas mit #define zu machen. Ich bin nur gerade nicht an meinem Computer. Vielleicht können Sie im Debugger irgendwie mit russischen Variablennamen arbeiten, wenn Sie nicht ohne sie auskommen.
Ich habe meinen Lösungscode zur Erleichterung der Öffentlichkeit ins Englische übersetzt.
//+------------------------------------------------------------------+//| Новый бар 2.mq4 |//| Peter Konow |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Peter Konow"#property link"https://www.mql5.com"#property version"1.00"#property strict//+------------------------------------------------------------------+datetime Last_Bar_Time;
int Periodicity = 25;
int All_symbols;
string Symbols[];
int Timeframes[7] = {PERIOD_M1,PERIOD_M5,PERIOD_M15,PERIOD_M30,PERIOD_H1,PERIOD_H4,PERIOD_D1};
int All_Timeframes = 7;
int All_bars_table[][7];
bool New_Bar_Events[][7];
//+------------------------------------------------------------------+//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- create timerEventSetMillisecondTimer(25);
//-------------------------------------------------------------//Записываем время последнего бара на момент загрузки эксперта. //Для корректного начала работы, робота нужно запустить на М1. //-------------------------------------------------------------
Last_Bar_Time = Time[0];
//------------------------------------------------------------- //Узнаем сколько символов есть в обзоре рынка.//---------------------------------------------------------
All_symbols = SymbolsTotal(true);
//--------------------------------------------------------- //Устанавливаем размер массива Symbols. Внутри него будут записаны//имена всех символов, которые есть в окне обзоре рынка.//---------------------------------------------------------ArrayResize(Symbols,All_symbols);
//---------------------------------------------------------//Устанавливаем размеры массивов "All_bars_table[]" и "New_Bar_Events[]".//В массиве "All_bars_table[]" будет записыватся текущее количество баров каждого символа//и каждого таймфрейма. А в массиве "New_Bar_Events[]" устанавливаться флаги//события нового бара для каждого символа и каждого таймфрейма. //---------------------------------------------------------ArrayResize(All_bars_table,All_symbols);
ArrayResize(New_Bar_Events,All_symbols);
//---------------------------------------------------------//Записываем наименования символов обзора рынка в массив "Symbols[]".//---------------------------------------------------------for(int a1 = 0; a1 < All_symbols; a1++)
{
Symbols[a1] = SymbolName(a1 + 1,true);
//Возможно, нумерация символов в обзора рынка идет с нуля.//Тогда: Symbols[a1] = SymbolName(a1,true);
}
//---------------------------------------------------------return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//--- destroy timerEventKillTimer();
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
}
//+------------------------------------------------------------------+//| Timer function |//+------------------------------------------------------------------+voidOnTimer()
{
staticbool Start_count;
staticint Current_period;
//---------------------------//Нам нужен корректный старт отсчета. Это должно быть время начала бара.//---------------------------if(!Start_count && Last_Bar_Time != Time[0])Start_count = true;
//--------------------------- if(Start_count)Current_period++;
//--------------------------- //В следующем цикле, мы будем обращатся к функции iBars для получения количества баров на //каждом из символов и таймфреймов, которые будем проходить в цикле.//Далее, будем сравнивать записанное количество баров с текущим и при //наличии разницы установим флаг события нового бара в массив "New_Bar_Events[]".//---------------------------if(Current_period*Periodicity >= 1000)
{
for(int a1 = 0; a1 < All_symbols; a1++)
{
string This_symbol = Symbols[a1];
//---------------------------------for(int a2 = 0; a2 < All_Timeframes; a2++)
{
int This_timeframe = Timeframes[a2];
//------------------------------------------int All_current_bars = iBars(This_symbol,This_timeframe);
//------------------------------------------if(All_current_bars > All_bars_table[a1][a2])
{
//------------------------------------------------------------//Если это не самая первая запись в массив All_bars_table,//то фиксируем событие нового бара.//------------------------------------------------------------if(All_bars_table[a1][a2])
{
New_Bar_Events[a1][a2] = true;
}
//------------------------------------------------------------//Устанавливаем новое значение текущего количества баров.//------------------------------------------------------------
All_bars_table [a1][a2] = All_current_bars;
}
//------------------------------------------
}
}
//---------
Current_period = 0;
}
//-----------------------------------------------//Здесь наш код...//Здесь наш код...//Здесь наш код...//-----------------------------------------------//После завершения всех вызовов на этом событии таймера//снимаем флаги событий нового бара.if(!Current_period)Refresh_new_bar_events_table();
//-----------------------------------------------
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+//Функция снимает флаги событий нового бара.//Эта процедура осуществляется после выполнения всего пользовательского//кода один раз в минуту. Вплоть до момента очищения массива флагов //новых баров, все функции могут их видеть обращаясь к массиву напрямую.//+------------------------------------------------------------------+void Refresh_new_bar_events_table()
{
for(int a1 = 0; a1 < All_symbols; a1++)
{
for(int a2 = 0; a2 < All_Timeframes; a2++)
{
New_Bar_Events[a1][a2] = false;
}
}
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+//Пример использования событий нового бара в пользовательском функционал.//Просто обращаемся к глобальному массиву "New_Bar_Events[a1][a2]" напрямую//и используем событие в наших торговых алгоритмах.//+------------------------------------------------------------------+void Trading_on_new_bars_strategy()
{
for(int a1 = 0; a1 < All_symbols; a1++)
{
string This_symbol = Symbols[a1];
//----------------------------------for(int a2 = 0; a2 < All_Timeframes; a2++)
{
bool New_bar = New_Bar_Events[a1][a2];
int This_timeframe = Timeframes[a2];
//----------------------------------if(New_bar && This_symbol == "EURUSD" && This_timeframe == PERIOD_M15)
{
//Buy();
}
//---------------------------------- if(New_bar && This_symbol == "AUDUSD" && This_timeframe == PERIOD_M30)
{
//Sell();
}
//----------------------------------
}
}
}
//+------------------------------------------------------------------+
Ich hoffe, ich habe nichts durcheinander gebracht.
Danke, Nikolai - dank dir habe ich gelernt, wie viel ich gewonnen habe, weil ich keine Ahnung vom Debugger hatte.
Wenn ich mich darauf verlassen hätte, hätte ich jetzt nichts mehr. Vielleicht hätte ich das auch getan, aber nur halb so viel.
Ganz einfach, weil ich nicht in der Lage gewesen wäre, einen kolossalen Vorteil zu nutzen, um meine eigene Sprache beim Programmieren zu verwenden.
Ich bin mir ziemlich sicher, dass ich alles viel schneller und in besserer Qualität erledigen würde, wenn ich solche Werkzeuge wie OOP und Debugger bei meiner Arbeit einsetzen würde!
Nikolai Semko: Ich bin mir ziemlich sicher, dass ich alles viel schneller und besser machen würde, wenn ich Werkzeuge wie OOP und Debugger bei meiner Arbeit einsetzen würde!
Ich werde mich nicht dagegen wehren. Die Zeit und die Praxis werden zeigen, ob ich den richtigen Weg, den richtigen Ansatz und die richtigen Mittel gewählt habe.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Nein.
Leider habe ich nur noch ein halbes Gigabyte Datenverkehr bis 14.09. um 14 Uhr, also werde ich nicht nachschauen. Ich werde mich um diese Zeit kümmern. Das ist etwas...
Danke, Nikolai - dank dir habe ich gelernt, wie viel ich gewonnen habe, weil ich keine Ahnung vom Debugger hatte.
Wenn ich mich darauf verlassen hätte, hätte ich jetzt nichts mehr. Vielleicht hätte ich das auch getan, aber nur halb so viel.
Ganz einfach, weil ich nicht in der Lage gewesen wäre, einen kolossalen Vorteil zu nutzen, um meine eigene Sprache beim Programmieren zu verwenden.
Es ist seltsam, denn Sie können viel besser Englisch als ich, obwohl ich in Kanada lebe. Warum sollte man lange Namen nicht auf Englisch schreiben? Allerdings werden sie nicht rot hervorgehoben.
Auf jedes Wort in Ihrem Kopf (wenn auch unbewusst) übersetzen?
Die Muttersprache ist biologisch im Gehirn verankert. Die Verständigung ist am schnellsten möglich. Fremde Sprache wird immer erst verarbeitet, bevor sie verstanden wird.
Reine Biologie.
Ich verstehe meinen eigenen Code auf Russisch viel schneller, als wenn ich Englisch verwenden würde. Ich kann sie mir viel besser merken.
Auf jedes Wort in Ihrem Kopf (wenn auch unbewusst) übersetzen?
Die Muttersprache ist biologisch im Gehirn verankert. Die Verständigung ist am schnellsten möglich. Fremde Sprache wird immer erst verarbeitet, bevor sie verstanden wird.
Reine Biologie.
Ich verstehe meinen eigenen Code auf Russisch viel schneller, als wenn ich Englisch verwenden würde. Ich kann es mir viel besser merken.
Auf jedes Wort in Ihrem Kopf (wenn auch unbewusst) übersetzen?
Die Muttersprache ist biologisch im Gehirn verankert. Die Verständigung ist am schnellsten möglich. Fremde Sprache wird immer erst verarbeitet, bevor sie verstanden wird.
Reine Biologie.
Ich verstehe meinen eigenen Code auf Russisch viel schneller, als wenn ich Englisch verwenden würde. Ich erinnere mich viel besser daran.
Zufälligerweise hatte ich nie Englisch - nicht in der Schule, nicht in einem einzigen Institut, nicht in einem zweiten. Ich verstehe es immer noch nicht nach Gehör. Ich lerne es gerade selbst, aber meine ersten Versuche waren lange bevor ich mit dem Programmieren angefangen habe. Annygdot " - Wie hast du so schnell Englisch gelernt? - Was gibt es da zu lernen - sie haben alle Wörter aus C++" - das bin ich.
Und wissen Sie was? Aus irgendeinem Grund habe ich noch nie einen anglophonen Menschen in meinem Leben gehabt. Sprechen Sie also für sich selbst - verallgemeinern Sie nicht für alle.
Versuchen Sie, etwas mit #define zu machen. Ich bin nur gerade nicht an meinem Computer. Vielleicht können Sie im Debugger irgendwie mit russischen Variablennamen arbeiten, wenn Sie nicht ohne sie auskommen.
Ich habe meinen Lösungscode zur Erleichterung der Öffentlichkeit ins Englische übersetzt.
Ich hoffe, ich habe nichts durcheinander gebracht.
Danke, Nikolai - dank dir habe ich gelernt, wie viel ich gewonnen habe, weil ich keine Ahnung vom Debugger hatte.
Wenn ich mich darauf verlassen hätte, hätte ich jetzt nichts mehr. Vielleicht hätte ich das auch getan, aber nur halb so viel.
Ganz einfach, weil ich nicht in der Lage gewesen wäre, einen kolossalen Vorteil zu nutzen, um meine eigene Sprache beim Programmieren zu verwenden.
Um der Öffentlichkeit den Zugang zu erleichtern, habe ich meinen Lösungscode ins Englische übersetzt.
Ich hoffe, ich habe nichts durcheinander gebracht.
Probieren Sie es aus und sehen Sie das Ergebnis.
Ich bin mir ziemlich sicher, dass ich alles viel schneller und besser machen würde, wenn ich Werkzeuge wie OOP und Debugger bei meiner Arbeit einsetzen würde!
Ich werde mich nicht dagegen wehren. Die Zeit und die Praxis werden zeigen, ob ich den richtigen Weg, den richtigen Ansatz und die richtigen Mittel gewählt habe.
Probieren Sie einen Druck aus und sehen Sie das Ergebnis
Wie lauten Ihre Ergebnisse?
Von wo aus rufen Sie die Funktion auf?