Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1891

 
Tretyakov Rostyslav #:

Das heißt, wenn es keine Aufträge gibt

Ja, oder wenn die Inanspruchnahme unter einem bestimmten Niveau liegt. Aber soweit ich verstanden habe, hat die Nullstellung nichts damit zu tun. Wenn es keine Nullstellung gibt, dann gibt es einen endlosen Abschluss von Aufträgen, und in meinem Fall ist ein Auftrag nicht abgeschlossen.

 
EVGENII SHELIPOV #:

Ja, oder eine Absenkung unter ein bestimmtes Niveau. Aber soweit ich verstanden habe, hat die Nullstellung nichts damit zu tun, wenn es keine Nullstellung gibt, dann gibt es einen endlosen Abschluss von Aufträgen, und in meinem Fall ist ein Auftrag nicht abgeschlossen.

Dies liegt daran, dass diese Bedingung nach Abschluss des ersten Auftrags nicht mehr gilt.

if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==0 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)

damit es nicht weiter zur Schließfunktion geht

 
Tretyakov Rostyslav #:

Denn nachdem der erste Auftrag abgeschlossen ist, ist diese Bedingung nicht mehr gültig

das heißt, sie reicht nicht weiter, bis zur Funktion des Schließens

Glauben Sie, dass diese Bedingung in dem Befehl zum Schließen von Aufträgen und in der Funktion zum Schließen von Aufträgen enthalten ist, wenn ich diese Bedingung aus der Funktion zum Schließen von Aufträgen entferne?

 
EVGENII SHELIPOV #:

Glauben Sie, dass diese Bedingung im Befehl zum Schließen von Aufträgen und in der Funktion zum Schließen von Aufträgen enthalten ist, wenn ich diese Bedingung aus der Funktion zum Schließen von Aufträgen entferne?

Das wird die Dinge beschleunigen... warum sollte man dasselbe zweimal überprüfen.

Übrigens, Sie haben zwei verschiedene Funktionen gebucht

ClosseMinMaxPenultimateOrdersZero()

и

ClosseMinMaxPenultimateOrders()
Ist das die Absicht?
 
Tretyakov Rostyslav #:

Das wird die Dinge beschleunigen... warum sollte man dasselbe zweimal überprüfen.

Übrigens, Sie haben zwei verschiedene Funktionen gebucht

и

Funktioniert das so?

Ich habe es jetzt überprüft und der EA schließt schlecht ohne diese Bedingung, so ist es unmöglich, ohne sie zu tun.

 
Vitaly Muzichenko #:

Bitte helfen Sie mir!

Ich erhalte überhaupt nicht das, was ich erwarte. Ich muss die Protokolldatei lesen.

Sie hätten hier beginnen sollen:

#include <WinAPI\\fileapi.mqh>
 
EVGENII SHELIPOV #:

Ich habe es jetzt überprüft und ohne sie schließt der Expert Advisor schlecht, also gibt es keine Möglichkeit, es ohne sie zu tun.

Sie sind also nicht dasselbe.

               if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==0 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)
               if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==1 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)
 
Иван Funktion FileSeek an den Anfang der Datei zu setzen, waren erfolglos.
Mein Verstand reicht nicht aus, um den Grund dafür zu verstehen. Erklären Sie bitte, was zum Teufel hier los ist.

Und? Hat jemand einen Hinweis?

 

Freunde, bitte helft.

Ich habe einen Multicurrency EA, den ich in mql4 geschrieben habe. Im Testgerät funktioniert das natürlich nicht. Ich habe beschlossen, dass ich zu mql5 wechseln sollte.

Ich habe alle Compilerfehler angepasst und behoben. mit Ausnahme der Verwendung von technischen Indikatoren. Ich habe sehr wenig Ahnung, was ich mit diesem EA machen soll. Die Dokumentation ist unverständlich und umfasst zwei Seiten. Vielleicht suche ich an der falschen Stelle.

Eine Zeile des Codes in mql4 wie folgt

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Periode,0,MODE_EMA,PRICE_OPEN,0);

oder

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0);

Laut der Dokumentation ändert sich die gesamte Seite des Codes in mql5. Handles, Puffer, Arrays mit Parametern, this to init, this to calculate, Fehlerbehandlung bei der Handle-Erstellung... Das ist verrückt... Vielleicht suche ich an der falschen Stelle.

Und wenn ich mehrere Paare und mehrere Zeitrahmen verwende, bekomme ich dort "Krieg und Frieden".

 
Sergey Dymov einen Multicurrency EA, den ich in mql4 geschrieben habe. Im Testgerät funktioniert das natürlich nicht. Ich habe beschlossen, dass ich zu mql5 wechseln sollte.

Ich habe alle Compilerfehler angepasst und behoben. mit Ausnahme der Verwendung von technischen Indikatoren. Ich habe kaum eine Ahnung, was ich mit meinem Kopf machen soll. Die Dokumentation ist unverständlich und umfasst zwei Seiten. Vielleicht suche ich an der falschen Stelle.

Eine Zeile des Codes in mql4 wie folgt

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Periode,0,MODE_EMA,PRICE_OPEN,0);

oder

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0);

Laut der Dokumentation ändert sich die gesamte Seite des Codes in mql5. Handles, Puffer, Arrays mit Parametern, this to init, this to calculate, Fehlerbehandlung bei der Handle-Erstellung... Das ist verrückt... Vielleicht suche ich an der falschen Stelle.

Und wenn ich mehrere Paare und mehrere Zeitrahmen verwende, bekomme ich dort "Krieg und Frieden".

int handleSQ=-1;
double BufferSQ[1];
int OnInit()
{

  handleSQ=iCustom(Symbol(),PERIOD_CURRENT,"squares",Period1,Period2,Period3,Dev_Step_1,Dev_Step_2,Dev_Step_3);
  if(handleSQ<0) {
    return(INIT_FAILED);
    Print("handleSQ = ",handleSQ,"  error = ",GetLastError());
  }
//---
  return(INIT_SUCCEEDED);
}

void OnTick()
{

    int copy=CopyBuffer(handleSQ,0,1,1,BufferSQ);
    if(copy<0) Print("Неудачная попытка копирования Squares");
    u1=BufferSQ[0];//iCustom(Symbol(),PERIOD_CURRENT,"squares_v2",Period1,Period2,Period3,Dev_Step_1,Dev_Step_2,Dev_Step_3,i);
Grund der Beschwerde: