[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 99

 
ScioMe:

Unter diesen Namen gespeichert, öffnet sich das neue Diagramm auf die gleiche Weise wie das alte. Es gibt eine Datei strategytester.htm im Ordner templates, aber ich weiß nicht, was ich mit dieser Datei machen soll.

Das bedeutet, dass etwas falsch gemacht wurde, vielleicht wurde MT nicht neu gestartet. Getestet, sollte funktionieren.
 
zas:
Hallo, können Sie mir bei dieser Frage helfen, ich habe sie im Forum nicht gefunden. Die Sache ist die, dass, wenn ich eine Datei in Excel öffne, die Daten als Datum dargestellt werden, und wenn ich das Datumsformat ändere, erhalte ich die falschen Daten. Ich habe verschiedene Arten von Daten ausprobiert, aber es ist das Gleiche. Ich habe versucht, den Datentyp (Excel fragt) beim Laden anzugeben, aber die Zahlen scheinen als gepunktete Zahl dargestellt zu werden (z. B. 1,5624), und Excel will nichts mit ihnen machen.

Die Frage bezieht sich nicht auf das Thema des Forums, denn Sie müssen einen Computerkurs besuchen und lernen, mit Word und Excel umzugehen, oder ein Buch über diese Programme finden und studieren.

Und auf Ihre spezifische Frage, markieren Sie die notwendigen Zellen, bringen Sie den Cursor auf sie, klicken Sie die rechte Maustaste, dann "Zellen formatieren ..." und wählen Sie das gewünschte Format der Datenpräsentation.

 

Leute, gebt mir einen Tipp...

Sie müssen den ersten Peak des Histogramms mit dem zweiten vergleichen, wenn der zweite im abs-Wert kleiner ist, dann öffnen Sie buy, vorausgesetzt, dass beide unter Null sind und weisen Sie danach den Wert des zweiten dem ersten Peak zu, wenn nach der Bildung des ersten Peaks die Histogrammspalte vom negativen in den positiven Bereich übergegangen ist, dann annullieren Sie das Vorhandensein des ersten Peaks, wie ich es getan habe - d.h. durch die Bedingung setzen wir beide Flags zurück.

Es stellt sich heraus, dass, wenn ich die Parameter des ersten Peaks identifiziere, dieselbe Bedingung (dieselben Parameter) auch für den zweiten gilt. Und das ist ein Fehler... Ich möchte irgendwie "trennen" diese Tatsachen (mit ihren einzigartigen Parameter) der Bildung von Zahlen 1 und 2, gebe ich meinen Code und Figur für die Bucht ...

double a1,a2,a11,a22;//  значения первого и второго пика 
bool fl1 = false;    //  флаги наличия 1-го и 2-го пика для их сравнения для входа в рынок по 3-ему варианту АО
bool fl2 = false;    //
bool signal_buy = false;
bool signal_sell = false;

double AO1 =  iAO(Symbol(), signal_period, 1);
double AO2 =  iAO(Symbol(), signal_period, 2);
double AO3 =  iAO(Symbol(), signal_period, 3);
  
 
 
if (AO3 < 0 && AO3 > AO2 && AO2<0 && AO2 < AO1 && AO1 < 0 && fl1==false && fl2==false) {a1 = AO22; fl1=true; Print ("образование первого пика",DoubleToStr(a1,6) );}
//    определение наличия 1-го пика, флаг установлен
 Print ("первый пик = ", DoubleToStr(a1, 6) );
 
// в след строке ошибка - получается, что после идентификации 1-го пика - эти же условия выполняются и для 2-го, а этого быть не должно... 
 if (AO3<0 && AO3>AO2 && AO2<0 && AO2<AO1 && AO1<0 && fl1==true && fl2==false)                        // определение наличия 2-го пика, флаги установлены
      { 
        a11 = AO2; fl1=true; fl2=true; Print ("образование второго пика", DoubleToStr (a11,6));
        if (a1<a11 && High [0] > High [1]) 
           { signal_buy = true; a1=a11; fl1=true;fl2=false;}    // активируем бай и запоминаем параметры как первого пика   
        else { a1=a11; fl1=true;fl2=false;}                     // просто запоминаем новый минимум - первый пик   
      }                                                       
  
 if (AO2>0 || High [0] < High [1]) {fl1=false; fl2=false;}     // если какой - либо столбец гистограммы  пересекает 0-ю линию между сигналами 2-а пика
                                                               // то сигнал считается недействительным. Cбрасываем флаги
 if (Mas_Tip[0]!=0 && signal_buy == true )  return(10);        // при доливке и сигнале к покупке открываемся с рынка 
 signal_buy = false;                                           // сбрасываем сигнал к покупке
 
 

 

Alle Jungs, die helfen können, einen Roboter für den Handel zu schaffen, haben nur eine Idee und brauchen Hilfe bei der Umsetzung, ich selbst in der Programmierung ist nicht stark, können Sie sogar Geld bekommen, aber vernünftig!

 
ZahvatkiN:

Alle Jungs, die helfen können, einen Roboter für den Handel zu schaffen, haben nur eine Idee und brauchen Hilfe bei der Umsetzung, ich selbst in der Programmierung ist nicht stark, können Sie sogar Geld bekommen, aber vernünftig!

Ich kann es für einen angemessenen Betrag tun.
 

Ich kann das nicht verstehen.

Auf Russisch geschrieben, aber ich kann den Abschnitt "Handbuch" nicht verstehen https://docs.mql4.com/ru/basis/variables/formal

Zitat:

Parameter per Referenz können nur innerhalb eines einzelnen Moduls übergeben werden....... (Von welchem Modul ist die Rede?)

Arrays können auch per Referenz übergeben werden, wobei alle Änderungen in das ursprüngliche Array übernommen werden . (Ändert die Elemente des Arrays?)

 
Hallo alle, ich habe auf dem Forum den ganzen Tag graben und nicht finden, bitte beraten, wo Sie die Geschichte der Notierungen Euro usd 1 min in hst, csv-Format oder wie man am besten, um es für einen maximalen Zeitraum zu laden, das Terminal gibt nur ein Jahr. Bitte senden Sie mir Links oder Dateien. ICH BIN IHNEN IM VORAUS DANKBAR.
 
Frage???

Ich habe einen schwebenden Auftrag eröffnet -

Ticket = OrderSend(...,OP_SELLSTOP,...,TP,SL);

Wenn(Ticket>0)

{alles ist in Ordnung, warten Sie auf die Ausführung des ausstehenden Auftrags, wenn er ausgeführt wird, ist alles in Ordnung}

sonst

{Warten Sie, bis der nächste Takt geschlossen wird, und wenn der Auftrag nicht geöffnet wird, schließen Sie ihn zwangsweise mit OrderDelite();}

Hilfe beim Code

"Warten auf die Ausführung eines schwebenden Auftrags"

"Warten Sie auf das Schließen des nächsten Balkens und schließen Sie die Order mit OrderDelite(), wenn sie nicht geöffnet wurde."

 
for(k=0; k<KPeriod; k++)              // перебрать KPeriod баров
  if(Low[k]<minimum) minimum=Low[k];  // найти минимум

Wie kann man diese Funktion durch die Funktion iLowest richtig ersetzen?

minimum=Low[iLowest (NULL, 0, MODE_LOW, KPeriod, 0)] - richtig?

 
robot:
Frage???

{Warten Sie, bis der nächste Balken geschlossen wird, und wenn der Auftrag nicht geöffnet wurde, schließen Sie ihn zwangsweise mit OrderDelite();}

Hilfe beim Code

"Warten auf die Ausführung eines schwebenden Auftrags"

"Warten Sie auf das Schließen des nächsten Balkens und schließen Sie die Order mit OrderDelite(), wenn sie nicht geöffnet wurde."

sollten Sie ein wenig von der Logik und dem Wesen der Arbeit mit Aufträgen verstehen.

Um eine anstehende Verarbeitung durchzuführen oder auf ein Ereignis zu warten, müssen Sie sich den aktuellen Zustand des Systems merken und ihn mit dem erwarteten vergleichen.

In Ihrem Fall gibt es ein Ereignis - ein neuer Balken wurde geöffnet, aber der Auftrag wurde nicht ausgelöst.

Dazu können Sie wie folgt vorgehen:

- Merken Sie sich den Parameter Ticket und die Uhrzeit der Bar, zu der Sie geöffnet haben. Wenn es einen neuen Balken gibt, können Sie sofort das zuvor gespeicherte Ticket aufrufen und prüfen, ob es sich um ein Marktticket oder ein anfängliches schwebendes Ticket handelt. Und wenn sie noch nicht abgeschlossen ist, löschen Sie sie.

Diese Variante ist nicht für den realen Handel gedacht, sondern nur für Tester.

----------

Sie benötigen also Time[], OrderSelect(), OrderType(), OrderCloseTime().

Grund der Beschwerde: