[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 335

 
snowman647 >> :

Ich möchte einen Expert Advisor, der Zufallsvariablen so zufällig wie möglich verwendet)) Wenn ich ihn nicht finde, werde ich ihn posten.

Soweit ich weiß, gibt es in MCL keine Zufallszahl. Es gibt eine Pseudo-Zufallszahl. Es ist also so ziemlich dasselbe wie das von mir vorgeschlagene Schema.

Über Pseudo-Zufallszahlen lesen Sie hier https://www.mql4.com/ru/search/?keyword=%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D0%BE%D0%B5+%D1%87%D0%D0%B8%D1%81%D0%BB%D0%BE

 
vik-777 >> :
>> Hallo, können Sie mir sagen, wie ich einen Balken nach Zeit suchen und den Eröffnungs- und Schlusskurs anzeigen kann?

Nochmals, ich brauche wirklich

 
Stepan241 >> :

Zunächst einmal ist der Eintrag nicht ganz korrekt

MA_1 = iMA(NULL,0,Periode_MA_1,Sdvig_1,MODE_SMA,PRICE_CLOSE,0); // Funktion Indikator aufrufen
MA_2 = iMA(NULL,0,Zeitraum_MA_2,Sdvig_2,MODE_SMA,PRICE_CLOSE,0);

Die Nullen sollten durch 1 ersetzt werden

Um den Zeitpunkt der Überschreitung zu bestimmen, sollte nicht nur der aktuelle Wert (über oder unter), sondern auch der vorherige Wert berücksichtigt werden

Daher sollten wir hinzufügen

MA_1_Prev = iMA(NULL,0,Zeitraum_MA_1,Sdvig_1,MODE_SMA,PRICE_CLOSE,2); // Aufruf der Indikatorfunktion
MA_2_Prev= iMA(NULL,0,Zeitraum_MA_2,Sdvig_2,MODE_SMA,PRICE_CLOSE,2);

Hinweis Nummer 2

Mit anderen Worten, dieser Block sieht jetzt wie folgt aus

MA_1 = iMA(NULL,0,Zeitraum_MA_1,Sdvig_1,MODE_SMA,PRICE_CLOSE,1); // Funktion Indikator aufrufen
MA_2 = iMA(NULL,0,Zeitraum_MA_2,Sdvig_2,MODE_SMA,PRICE_CLOSE,1);

MA_1_Prev = iMA(NULL,0,Zeitraum_MA_1,Sdvig_1,MODE_SMA,PRICE_CLOSE,2); // Aufruf der Indikatorfunktion
MA_2_Prev= iMA(NULL,0,Zeitraum_MA_2,Sdvig_2,MODE_SMA,PRICE_CLOSE,2);

Die Linie

if (MA_2 < MA_1 && Fact_Up == true)

ersetzen durch if (MA_2 < MA_1 && MA_2_Prev>MA_1_Prev && Fact_Up == true)


Ersetzen Sie die zweite Bedingung und die Ausstiegsbedingung auf die gleiche Weise. Der neue Zustand ist blau markiert. Wir gehen nun eine Kaufposition ein, wenn der erste gleitende Durchschnitt größer als der zweite ist, während der vorherige Wert des ersten gleitenden Durchschnitts kleiner als der vorherige Wert des zweiten ist.

Ich danke Ihnen.

 
vik-777 писал(а) >>

>> wieder, ich brauche wirklich

 
DDFedor >> :

>> Das war's, es findet heraus, wie viele Sekunden es bis zu diesem Takt sind.

datetime some_time=D'2004.03.21 12:00';

int shift=iBarShift("EUROUSD",PERIOD_M1,some_time);

 
vik-777 >> :

>> Das war's, es findet heraus, wie viele Sekunden es bis zu diesem Takt sind.

aber wie erfährt man den Eröffnungs- und Schlusskurs dieses Balkens?

 
vik-777 писал(а) >>

und wie man den Eröffnungs- und Schlusskurs dieses Balkens herausfindet

https://docs.mql4.com/ru/series

dann wird die Nummer des gefundenen Balkens in den Zeitreihenfunktionen verwendet...

double MyOpenPrice =  iOpen(Symbol(),Period(),iBarShift(Symbol(),Period(), some_time));
 

Ich verstehe nicht, wie man das macht, ich habe schon im Internet nach einem Beispiel gesucht (2 Tage) und konnte es nicht finden.

 
DDFedor >> :

https://docs.mql4.com/ru/series

Dann wird die Nummer des gefundenen Balkens in den Zeitreihenfunktionen verwendet...

Ich danke Ihnen vielmals

 
vik-777 >> :
>> Hallo, können Sie mir sagen, wie ich einen Balken nach Zeit suchen und den Eröffnungs- und Schlusskurs anzeigen kann?


datetime some_time=D'2009.12.07 01:15';
int shift=iBarShift("EURUSD",PERIOD_M1,some_time);

Alert("бар: ",shift," * время: ",TimeToStr(some_time)," * цена откр.: ",
iOpen("EURUSD",PERIOD_M1,shift)," * цена закр.: ",iClose("EURUSD",PERIOD_M1,shift));