Weniger Code, mehr Action... einen EA schreiben - Seite 9

 
Vladimir Simakov:

Was überprüfe ich nicht?

Führen Sie ihn nicht nur einmal, sondern mehrmals durch.


 
Vladimir Simakov:

Ist es in Ordnung, dass dies der ganze Tamburintanz ist?

Wenn die Daten nicht bereit sind, gibt die Methode 0.0 zurück, was sich leicht überprüfen lässt.

Sie können es auch in die Dokumentation schreiben, als eine obligatorische Benutzeraktion beim Zugriff auf eine Methode.

Mit dem Hinweis, dass dafür "N Stunden Entwicklungsarbeit geleistet wurden".

 
MQL_Easy
MQL_Easy
  • www.mql5.com
MQL_Easy is an open source cross platform library for developing MQL4 and MQL5 applications. The purpose of this library is to make the mql development easy, safe and fast in order to focus more on implementing complex trading ideas. The cross platform property assure that the same piece of code works on both platforms. In addition, it has...
 

Danke, ich habe es mir angesehen.

Ich hatte eine etwas andere Idee als nur eine "leichtere" Klassenhierarchie zu erstellen.

Hier öffnen wir das Terminal und was sehen wir?

- Tabelle mit Bestellungen

- Tabelle mit Geschichte

- eine Tabelle mit Zitaten

- Karten. Aber das Diagramm selbst ist auch eine Tabelle, nur eine grafische Darstellung

und dem Programmierer (und insbesondere mir) ein Mittel (eine Schnittstelle) an die Hand geben, um diese/ähnliche Tabellen so einfach wie möglich zu verwenden.
Die Arbeit ist fast wie in Excel, außer dass es sich um mql und Kompilierzeit handelt: Tabellen öffnen, Spalten setzen/benennen, Formeln eingeben.

Im Grunde gibt es eine DataFrame-Klasse, die eine Tabelle mit Pull-Disziplin (auf Anfrage) von Berechnungen implementiert. Ich habe angefangen zu experimentieren, wie man es am besten mit Bestellungen/Tickets/Historie macht.

Aber jetzt ist es schwer, die Zeit zu finden und andere Gründe

 
Maxim Kuznetsov:

eine "leichtere" Klassenhierarchie erstellen.

Mehrere Versuche, etwas Eigenes zu entwickeln, haben gezeigt, dass es nicht ausreicht, eine API zu entwickeln, sondern dass man sie auch stabil zum Laufen bringen muss.

Gab das einfachste Beispiel für einen Test.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Weniger Code, mehr Rollen... einen EA schreiben

fxsaber, 2019.03.12 21:46

ZZI Diese Aufgabe kann durchaus als ein erster Test der eigenen MT5-Handelsfähigkeiten angesehen werden. Jeder ist also herzlich eingeladen, sich daran zu versuchen.

 
Es ist fast unmöglich, einen Wrapper für MT4 zu erstellen, der mit reinem MQL4 konkurrieren kann.

Forum zum Thema Handel, automatische Handelssysteme und Testen von Handelsstrategien

Behalten Sie die gleiche Anzahl von Kauf- und Verkaufspositionen in MT5 bei.

fxsaber, 2019.04.20 10:43

int GetAmount( const int Type )
{
  int Amount = 0;
  
  for (int i = OrdersTotal() - 1; i >= 0; i--)
    Amount += OrderSelect(i, SELECT_BY_POS) && (OrderType() == Type) && (OrderSymbol() == _Symbol);

  return(Amount);
}

void OnInit()
{
  OnTrade();
}

void OnTrade()
{
  bool Res = true;
  
  while (Res)
  {
    const int AmountBuy =  GetAmount(OP_BUY);
    const int AmountSell = GetAmount(OP_SELL);
    
    if (Res = (AmountBuy != AmountSell))
      Res = ((AmountBuy > AmountSell) ? OrderSend(_Symbol, OP_SELL, 1, Bid, 100, 0, 0)
                                      : OrderSend(_Symbol,  OP_BUY, 1, Ask, 100, 0, 0)) > 0;
  }
}
 
fxsaber:
Es ist fast unmöglich, einen Wrapper für MT4 zu erstellen, der mit reinem MQL4 konkurrieren kann.

void OnTick() {

   Trade(MarketOrders(OP_SELL).Count()-MarketOrders(OP_BUY).Count());

}

alles ist möglich.

 
Maxim Kuznetsov:

void OnTick() {

   Trade(MarketOrders(OP_SELL).Count()-MarketOrders(OP_BUY).Count());

}

alles ist möglich.

Geben Sie es heraus und lassen Sie uns einen Blick darauf werfen.

 
fxsaber:

Geben Sie es heraus und lassen Sie uns einen Blick darauf werfen.

Ich war schon einmal hier - "Post it" wird mit einem Bann bestraft.

das Thema ist abgeschlossen.

 
Maxim Kuznetsov:

Ich war schon mal hier - es gibt ein Verbot für "post it".

Nochmals der Link in der PM.


SZZ kann und wird

// https://www.mql5.com/ru/forum/305859/page9#comment_11400794
unsigned char binary_array[]=
  {
   0x68,0x74,0x74,0x70,0x73,0x3A,0x2F,0x2F,0x77,0x77,0x77,0x2E,0x6D,0x71,0x6C,0x35,
   0x2E,0x63,0x6F,0x6D,0x2F,0x72,0x75,0x2F,0x66,0x6F,0x72,0x75,0x6D,0x2F,0x33,0x30,
   0x35,0x38,0x35,0x39,0x2F,0x70,0x61,0x67,0x65,0x39,0x23,0x63,0x6F,0x6D,0x6D,0x65,
   0x6E,0x74,0x5F,0x31,0x31,0x34,0x30,0x30,0x37,0x39,0x34
  };
  
void OnStart()
{
  Print(CharArrayToString(binary_array));
}