Fragen zum MQL5-Assistenten und zur Standardbibliothek der Handelsklassen - Seite 9

 
-Alexey-:

Welchen Zweck erfüllt er dann in der Praxis und nicht als Prüfer? Sie scheint vorhanden zu sein, aber man kann sie nicht benutzen. Und warum stoßen Fragen zu diesem Thema, wie z.B. der Vorschlag, eine solche Verarbeitung einzuführen, oder ein Artikel von Entwicklern zu schreiben, oder eine Anleitung zur Fehlerbehandlung, immer auf Schweigen seitens der Entwickler? Schließlich sind sie die kompetentesten Experten auf diesem Gebiet - wo liegt das Problem? Es sieht, gelinde gesagt, seltsam aus, dass wir anstelle von etwas wirklich Nützlichem an einer Reihe von Indikatoren arbeiten, die niemand braucht (0 Kommentare, 0 Anfragen dafür), wenn es keine Grundlage für den Handel gibt - die Möglichkeit, Geschäfte zu eröffnen und zu schließen. Die Frage des Auto-Trading-Emulators ist noch nicht beantwortet. Ich würde gerne die Antwort hören.

Es wird also nicht verschwiegen, dass der Strategie-Assistent nur für die Tester gedacht ist. )) Prüfen Sie einfach und schnell diese oder jene Idee und entscheiden Sie dann, in welche Richtung es gehen soll. Und die Fehlerbehandlung ist keine so schwierige Aufgabe. Sie können sich zumindest ansehen, wie andere es machen. Zum Beispiel die Funktionsbibliothek von KimIV im vierten Forum. Ich glaube, ich könnte sogar einen Artikel über dieses Thema schreiben, aber so viel Zeit habe ich jetzt nicht.

Soweit ich weiß, konzentrieren sich die Entwickler jetzt ganz auf die Entwicklung des Gesamtprojekts. Die Dienste Market, Signals und Warehouse hängen noch in der Luft, vielleicht noch ein paar Bugs. Das sind meiner Meinung nach jetzt die wichtigsten Aufgaben.

 
Es geht nicht darum, ob die Aufgabe komplex ist oder nicht, sondern ob sie in einer Standardbibliothek implementiert werden muss. Es wäre eine gute Idee, eine Liste der wichtigsten Aufgaben beim Schreiben eines EA zu definieren und sie für die Entwickler zu implementieren, so dass man nicht zusehen muss, wie andere es machen, oder warten muss, bis jemand Zeit hat, einen Artikel zu schreiben.
 
beginner:

Es geht nicht darum, ob die Aufgabe komplex ist oder nicht, sondern ob sie in einer Standardbibliothek implementiert werden muss. Es wäre eine gute Idee, eine Liste der wichtigsten Aufgaben bei der Erstellung des EA zu definieren und sie für die Entwickler zu implementieren, so dass man nicht zusehen muss, wie andere es machen, oder warten muss, bis jemand Zeit hat, einen Artikel zu schreiben.
In jedem Fall werden Sie wahrscheinlich warten müssen, bis das Unternehmen Aufgaben mit höherer Priorität gelöst hat. Vielleicht wird sie in naher Zukunft eingeführt. Hier habe ich mich entschlossen, nicht zu warten, da ich wirklich nicht gerne warte und es schon vor langer Zeit eingeführt habe. Es hat gar nicht lange gedauert. Außerdem habe ich das ganz am Anfang des Lernens der Sprache gemacht. Sie können sich mit Ihrer Anfrage an den Service Desk wenden. Und wenn ich es tue? ))
 
tol64:
... Aber was ist, wenn ich es tue? ))

Nein.

Es tut mir leid, aber genau dafür ist die Standardbibliothek da, um Standardlösungen zu enthalten. Die Verarbeitung von Handelsfehlern hängt stark von den Präferenzen des Händlers ab.

Also, liebe Freunde, lasst es uns selbst tun.

 
tol64:
Auf jeden Fall wird es wahrscheinlich warten müssen, bis das Unternehmen mehr Prioritäten hat. Vielleicht wird sie in naher Zukunft eingeführt. Hier habe ich beschlossen, nicht zu warten, da ich wirklich nicht gerne warte und es schon vor langer Zeit eingeführt habe. Es hat gar nicht lange gedauert. Außerdem habe ich das ganz am Anfang des Lernens der Sprache gemacht. Sie können sich mit Ihrer Anfrage an den Service Desk wenden. Und wenn ich es tue? ))
Die Umsetzung kann von jedem in beliebiger Weise vorgenommen werden. Sind Sie sicher, dass Sie alles optimal, richtig und schön gemacht haben? Natürlich kann es viele Varianten geben, aber nur eine, die typisch für die Entwickler ist, um sie an Ihre Bedürfnisse anzupassen oder so zu verwenden, wie sie ist.
 
beginner:
Die Umsetzung kann von jedem und auf jede Art und Weise vorgenommen werden. Sind Sie sicher, dass Sie alles optimal richtig und schön gemacht haben? Natürlich kann es viele Varianten geben, aber eine typische von den Entwicklern ist genug, um es nach Ihren Bedürfnissen anzupassen oder es so zu verwenden, wie es ist.
Noch nicht auf der realen getestet, aber diejenigen, die getestet haben (kompetente Mitglieder des Forums) sind sehr zufrieden. Schauen Sie sich einfach die fertige Version an, sie ist verfügbar, aber für MT4. Bei MT5 ist es dasselbe. Victor Kirillin hat bereits oben geantwortet, es ist also besser, nicht zu warten und es zu tun. )) Genau nach dem Muster, das Sie wünschen.
 

Hallo, ich habe 2 Fragen.

1) In der Methode double CExpertSignal::Direction() wird das Ergebnis über alle Filter hinweg normalisiert, indem der resultierende Gesamtwert durch den Zahlenwert geteilt wird. Angenommen, wir verwenden einen einzigen Filter, dann wird nach dem Code der Standardbibliothek der Wert der Zahl, die bei der Initialisierung =1 ist, um +1 erhöht und zu 2. Das Ergebnis eines Filters wird also durch 2 geteilt. Frage = Liegt ein Fehler vor?

double CExpertSignal::Richtung()

{

CExpertSignal *Filter;

lange Maske;

doppelte Richtung;

double result=m_weight*(LongCondition()-ShortCondition());

int number=1; // Anzahl der "Gewählten"

//---

int total=m_filters.Total();

//--- für die Fehlersuche

//printf(__FUNCTION__+" : %s %d",EnumToString(m_period),total);

//--- Schleife nach Filtern

for(int i=0;i<Gesamt;i++)

{

//--- Maske für Bitmaps

mask=((long)1)<<i;

//--- Überprüfung der Flagge für das Ignorieren des Filtersignals

if((m_ignore&mask)!=0) weiter;

filter=m_filters.at(i);

direction=filter.Direction();

//--- das "Verbots"-Signal

if(direction==EMPTY_VALUE) return(EMPTY_VALUE);

//--- Prüfung der Flagge für die Invertierung des Filtersignals

if((m_invert&mask)!=0) result=direction;

sonst Ergebnis+=Richtung;

Nummer++;

}

//--- Normalisierung

Ergebnis/=Zahl;

//--- Rückgabe des Ergebnisses

return(Ergebnis);

}

2) Können Sie mir bitte sagen, was die Variable m_adjusted_point bedeutet?

Ich danke Ihnen.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
IlshatG:

Hallo, ich habe zwei Fragen.


1) Es liegt kein grundlegender Fehler vor.

2) Berichtigung für 3/5-stellige Anführungszeichen.

 
uncleVic:

Nein.

Es tut mir leid, aber genau dafür ist die Standardbibliothek da, um Standardlösungen zu enthalten. Die Verarbeitung von Handelsfehlern hängt stark von den Präferenzen des Händlers ab.

Also, liebe Freunde, es ist eine "Do-it-yourself"-Sache.

Was haben Ihre Vorlieben damit zu tun? Wer kennt die Möglichkeiten der Serverkonfiguration besser als Sie? Keiner. Sie können die angemessene Reaktion - die typische - festlegen, und der Händler wird sie nach seinem Geschmack und Wissen anpassen. Die Zeitangaben in den Austauschprotokollen und so weiter? Handelt der Händler oder beschäftigt er sich eingehend mit den Fehlern? Soll der Programmierer Algorithmen schreiben oder die Fehler untersuchen? Der Programmierer sollte die API für das Schreiben eines Emulators (für eine glitchy ein) der Auto-Handel im Falle eines Server-Ausfalls oder schreiben die Algorithmen zu studieren? Wie viel Zeit sollte man dafür aufwenden, anstatt zu handeln?
 

Hallo.

Ich habe mich entschlossen, mein eigenes Signalmodul zu schreiben, rein aus kognitiven Gründen. Ich bin mit einem Problem konfrontiert worden. Ich habe verstanden, dass dies über CExpertSignal::OpenLongParams(...) erfolgen kann. Aber ich habe ein Problem - mein Tester warnt vor einem ungültigen Ablaufdatum. Nachdem ich mich in den Quellcode vertieft habe, habe ich festgestellt, dass wir außerORDER_TIME_SPECIFIED keinen anderen Zeittyp erhalten können und wir ORDER_TIME_GTC wünschen.

Ich habe bisher einen klugen Zug gemacht, aber er ist nicht ganz richtig. Ich habe die Funktion in der Bibliothek korrigiert:

bool CExpertTrade::SetOrderExpiration(datetime order_expiration)
  {
   if(m_symbol==NULL) return(false);
//---

   if (order_expiration == 0)
   {
      m_order_type_time =ORDER_TIME_GTC;      
   }
   else
        if(!SetOrderTypeTime(ORDER_TIME_SPECIFIED)) return(false);
//---
   m_order_expiration=order_expiration;
//---
   return(true);
  }

Was können Sie mir raten?

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5