[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 265

 

was die Zeilen bedeuten: 1) if (Volume [0]>1) return;

2) if (Open [1]>ma) ; ?

Ich danke Ihnen!

 
okvseok:

was die Zeilen bedeuten: 1) if (Volume [0]>1) return;

2) if (Open [1]>ma) ; ?

Ich danke Ihnen!


1) Wenn das Volumen der Null-Kerze größer als 1 ist, wird zurückgegeben.

2) Wenn der Eröffnungskurs der ersten Kerze höher ist als der Wert in der Variablen ma. Das Konstrukt

 if (Open [1]>ma) ;

hat keine Existenzberechtigung, da aus der Bedingung nichts folgt. Es ist dem Verarbeiter nicht klar, was er zu tun hat, wenn die Bedingung erfüllt ist oder nicht.

 
okvseok:

was die Zeilen bedeuten: 1) if (Volume [0]>1) return;

2) if (Open [1]>ma) ; ?

Ich danke Ihnen!

Normalerweise wird die Bedingung 1 angewendet, um festzustellen, ob ein neuer Balken geöffnet wurde. Wenn in Ihrem Beispiel das aktuelle Bar-Volumen >1 ist, beenden Sie das Programm und das Programm funktioniert überhaupt nicht. In der zweiten, nach if (...), aber vor ; sollten Sie eine Aktion beschreiben.
 
drknn:
Das ist eine etwas missverständliche Bezeichnung. Die Frage ist, wie man in einem EA vorschreibt, nicht in einem Indikator. Aber trotzdem danke, auch wenn die Frage offen bleibt.

 
kwadrad:
Das ist nicht ganz der Punkt. Die Frage ist, wie man sie in einen EA schreibt, nicht in einen Indikator. Aber trotzdem danke, auch wenn die Frage offen bleibt.

Sie haben nach dem Code gefragt - ich habe Ihnen den Code gegeben.

Dies ist auch in einem EA machbar. Sie müssen ein Array deklarieren, es mit RSI-Werten füllen und dann dieses Array nach Belieben verarbeiten. Einschließlich der Funktion iMAOnArray()

 
drknn:

Sie haben nach dem Code gefragt - ich habe Ihnen den Code gegeben.

Dies ist auch in einem EA machbar. Sie müssen ein Array deklarieren, es mit RSI-Werten füllen und dann dieses Array nach Belieben verarbeiten. Einschließlich der Verwendung der Funktion iMAOnArray()

Es sind die Feinheiten beim Deklarieren und Befüllen mit Array-Werten, die Schwierigkeiten verursachen, d.h. sie funktionieren nicht im Diagramm. Vielleicht fülle ich das Feld von der falschen Seite aus oder die Schreibweise ist nicht korrekt. Es funktioniert im Indikator. Es funktioniert nicht im EA.
 
kwadrad:
Es sind die Feinheiten beim Deklarieren und Füllen des Arrays mit Werten, die Schwierigkeiten bereiten, d.h. sie funktionieren nicht im Diagramm. Vielleicht fülle ich das Feld auf der falschen Seite aus oder die Schreibweise ist schief. Es funktioniert im Indikator. Sie befindet sich nicht in einem EA.
Haben Sie Artikel zu diesem Thema gelesen?
Übertragung des Codes eines Indikators in den Code eines Expert Advisors. Konstruktion eines Indikators.
Übertragen des Indikatorcodes in den Expert Advisor Code. Allgemeine Schemata für den Aufbau eines Expert Advisors und Indikatorfunktionen
 
kwadrad:
Es sind die Feinheiten beim Deklarieren und Füllen des Arrays mit Werten, die Schwierigkeiten bereiten, d.h. sie funktionieren nicht im Diagramm. Vielleicht fülle ich das Feld auf der falschen Seite aus oder die Schreibweise ist schief. Es funktioniert im Indikator. Es funktioniert nicht im EA.
// перед блоком инициализации советника пишем:
  extern int RazmerMassiva=10;// размер будущего массива
  double Massiv[1];//Перед блоком инициализации объявляем массив
  // в старте советника пишем:
  if(ArrayResize(Massiv,RazmerMassiva)==(-1)){
    Print("Ошибка № ",GetLastError()," при изменении размерности массива - размерность не изменена");
  }
  else{// заполняем массив значениями
    for(int i=0;i<RazmerMassiva;i++){
      Massiv[i]=iRSI(/* Сюда вставить нужные параметры */);
      // сразу проверяем что у нас в массив внесено
      Print("Massiv[",i,"] = ",Massiv[i]);
    }
  }
  // далее точно так же организзуем цикл, заполняющий другой массив значениями, возвращаемыми
  // функцией iMAOnArray() и точно так же сразу принтуем результат. Если принты показывают
  //биллеберду, то становится понятно в каком направлении искать. Без принтов Вы не разберётесь,
  //как работать с iMAOnArray()
 
Was zum Teufel ist das: 2012.07.20 07:15:00 '*****': order sell 0.10 EURUSD opening at 1.2256 sl: 0.0000 tp: 0.0000 failed [Trade context is busy], aber für buy orders not busy?

Und nun das Gegenteil: 2012.07.20 07:51:13 '*****': order buy 0.10 EURUSD opening at 1.2258 sl: 0.0000 tp: 0.0000 failed [Trade context is busy]

Worum könnte es sich dabei handeln?
 
yosuf:
Was zum Teufel ist das: 2012.07.20 07:15:00 '*****': order sell 0.10 EURUSD opening at 1.2256 sl: 0.0000 tp: 0.0000 failed [Trade context is busy], aber für 'buy' orders not busy?

Und nun das Gegenteil: 2012.07.20 07:51:13 '*****': order buy 0.10 EURUSD opening at 1.2258 sl: 0.0000 tp: 0.0000 failed [Trade context is busy]

Worum könnte es sich dabei handeln?


https://www.mql5.com/ru/forum/100321

PS. Yusuf, die Forumssuche funktioniert.