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

 
Maksim Kalachev #:

Ich habe gelesen, dass nur der Indikator als Indikator eingerichtet ist. Aber wenn ich die Demo lade, erscheint sie in den EAs

Stellen Sie nicht dieselbe Frage in verschiedenen Threads des Forums.

Ich habe Ihnen dort geantwortet:

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

Artyom Trishkin, 2022.04.05 15:13

Sie haben es mit alten Handlern geschrieben.

Sie sollten OnCalculate() verwenden.


 
Artyom Trishkin #:

Stellen Sie nicht dieselbe Frage in verschiedenen Threads des Forums.

Ich habe Ihnen dort geantwortet:


Ich lese es bereits. Ich danke Ihnen!

 
Kann ich meine Korrespondenz mit einer Person löschen? Ich möchte einen Chat mit einem Benutzer schließen
 
makssub #:

Guten Tag.

Hilfe mit dem Code, vielleicht gibt es Beispiele.
Aufgabe:

Es gibt mehrere offene Aufträge mit unterschiedlichen Losen und in unterschiedlichen Richtungen. Einer von ihnen ist mit Gewinn begraben, nehmen wir an, es sind 20. Es gibt jedoch einen offenen Auftrag mit einem negativen Gewinn, nehmen wir an -55 mit 0,05 Lots. Ich möchte einen Teil einer negativen Order um den Betrag des Gewinns einer positiv geschlossenen Order schließen, um den Drawdown zu verringern.

Ich habe versucht, dies mit dem while-Operator zu schreiben, aber es hat nicht geklappt.

Ich danke Ihnen im Voraus.

Sie haben nicht geschrieben, ob es sich um dasselbe Instrument oder um verschiedene Positionen handelt?
 

Warum funktioniert der MT5-Code, aber nicht der MT4-Code? 1Z5Z bauen

Speichert das Muster, wendet das Muster aber nicht an

//+------------------------------------------------------------------+
//|                                              File Read Write.mq4 |
//|                      Copyright © 2008, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string SYMBOL;
string ccname;
void OnStart()
  {

   SYMBOL = _Symbol;
   ccname = SYMBOL;
   SaveTemplate();
 
 DownloadTemplate();
     
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void SaveTemplate(void)
  {
   if(ChartSaveTemplate(0, ccname))
      Print("Template successfully saved!  " + SYMBOL);
   else
      Print("Template save Failed!  " + SYMBOL);
   return;
  }
//+------------------------------------------------------------------+
void DownloadTemplate(void)
  {

   if(ChartApplyTemplate(0,ccname))
      return;
   else
      Print("Template download Failed!  " + SYMBOL);
  }

 
Können Sie mir bitte sagen, wie ich das Programm dazu bringe, nur dann zu funktionieren, wenn eine neue Kerze begonnen hat, und nach dem Ausführen des Codes stillzuhalten und auf den Beginn der nächsten Kerze zu warten?
 
Ivan Butko eine neue Kerze begonnen hat und nach dem Ausführen des Codes zu lauern und warten auf den Beginn der nächsten Kerze?

Das nennt man Eröffnungspreise.
Das ist elementar.

 
Pavel Malyshko #:

Das nennt man Eröffnungspreise.
ist elementar.

Ich werde daraus nicht schlau. Ein Häkchen kommt rein, der Scheck geht durch. Beim nächsten Ticken wird erneut geprüft. Die gleiche Zeitschaltuhr passt nicht in die Öffnung.

Die einzige Möglichkeit, die mir einfällt, besteht darin, die Uhrzeit der Öffnung zu speichern, die Uhrzeit der Kerze dazu zu addieren und die aktuelle Uhrzeit mit dem neuen Wert zu vergleichen

 
Ivan Butko #:

Das verstehe ich nicht. Eine Zecke kommt rein, sie wird kontrolliert. Wenn die nächste Zecke kommt, wird sie wieder kontrolliert. Die gleiche Zeitschaltuhr passt nicht in die Öffnung.

Ich kann mir nur die Öffnungszeit merken, die Kerzenzeit dazu addieren und die aktuelle Zeit mit dem neuen Wert vergleichen

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests.

Alle Fragen von Neulingen in MQL4 und MQL5, jede Hilfe und Diskussion von Algorithmen und Codes

Valeriy Yastremskiy, 2022.03.30 09:37

 
static datetime OldTime=0;
if(iTime(NULL,0,0)!=OldTime)
      {
      Alert("ДИВЕРГЕНЦИЯ НА "+Symbol()); OldTime=iTime(NULL,0,0);
      }

Wenn Sie den Algorithmus nicht kennen, erhalten Sie eine Warnung, wenn der Preis das Tagesende erreicht. Wenn ein neuer Balken erscheint, wirdiTime(NULL,0,0) geändert und die Gleichheit wird nicht einmal sein, dann wird die Gleichheit und das if falsch sein.

Sie können es auch so machen.

static bool FlagNewBar=false;
   if(BarTime!=Time[0])
     {
      BarTime=Time[0];
      FlagNewBar=true;
     }

Oder wir könnten einen neuen Balken in einem beliebigen Zeitrahmen erhalten.

bool FlagNewBarF(int prd, datetime &ArgBarTime,bool &FlagNbar)
  {
   FlagNbar=false;
   if(ArgBarTime!=iTime(NULL,prd,0))
     {
      ArgBarTime=iTime(NULL,prd,0);
      FlagNbar=true;
     }

   return(FlagNbar);
  }

Der Aufruf würde folgendermaßen aussehen

 if(FlagNewBarF(1, BarTime1,FlagNewBar1))
     {
      Alert("FlagNbar1 ",FlagNewBar1,"BarTime1 ",TimeToStr(BarTime1,TIME_DATE|TIME_SECONDS));
      
     }

   if(FlagNewBarF(5, BarTime5,FlagNewBar5))
     {
      Alert("FlagNbar5 ",FlagNewBar5,"BarTime5 ",TimeToStr(BarTime5,TIME_DATE|TIME_SECONDS));
     
     }

 
Valeriy Yastremskiy #:
Sie haben nicht geschrieben, ob es sich um dasselbe Instrument oder um verschiedene Positionen handelt?

Es sollte sich dabei um dasselbe Währungspaar handeln, z. B. EurUsd. Beide sind in Buy geöffnet.