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

 
Igor Makanu:

Höchstwahrscheinlich benötigen Sie Variante 1, dann verwenden Sie im Indikator im Berechnungszyklus, in dem Sie nach Balken suchen, die folgende Struktur:

Sie haben die erforderliche Zeit in Time[i], nachdem Sie die Bedingung geprüft haben

Ich danke Ihnen für Ihre Antwort. Ich verwende die FunktionCheckTimer(), bei der ichstartTime und endTime als Datumübergebe.TimeDayOfWeek()gibt Werte von 1 bis 5 zurück, wie ich es verstehe. Wie kann ich sie in das Datumsformat umwandeln, um sie in der FunktionCheckTimer()zu verwenden? Oder muss ich auch diese Funktion ändern?

 
Gerkl:

Vielen Dank für die Antwort. Ich verwende die FunktionCheckTimer(), bei der ichstartTime und endTime als Datumübergebe.TimeDayOfWeek()gibt Werte von 1 bis 5 zurück, wie ich es verstehe. Wie kann ich sie in das Datumsformat umwandeln, um sie in der FunktionCheckTimer()zu verwenden? Oder muss ich auch diese Funktion ändern?

Wie wäre es damit

int   shift = iBarShift(NULL,PERIOD_W1,Time[i]);  
  
datetime startTime = iTime(NULL,PERIOD_W1,shift); 
datetime endTime = startTime + PeriodSeconds(PERIOD_W1); 
 
Alekseu Fedotov:

Vielleicht ist das so

Danke, aber es wird die ganze Woche von Sonntag bis Sonntag angezeigt, und ich brauche Montag bis Freitag (Handelswoche).


Woche

 

Wie kann ich am besten 10 Kopien desselben EA in einen EA einfügen, aber mit unterschiedlichen Parametern?


Ich glaube ja...
Der gesamte Code des EA in einer Funktion.
Und machen Sie einfach die Eingabeparameter der EA-Parameter der Funktion.

In Ontick registrieren Sie die Funktion einfach 10 Mal mit unterschiedlichen Parametern.


Und wir sollten die Aufträge durch Kommentare aufteilen.
Vorschreiben unterschiedlicher Kommentare für verschiedene Kopien der EA.

 
multiplicator:

Wie kann ich am besten 10 Kopien desselben EA in einen EA einfügen, aber mit unterschiedlichen Parametern?


Ich glaube ja...
Der gesamte Code des EA in einer Funktion.
Und machen Sie einfach die Eingabeparameter der EA-Parameter der Funktion.

Schreiben Sie die Funktion in Ontick einfach 10 Mal neu, mit unterschiedlichen Parametern.


Und wir sollten die Aufträge durch Kommentare aufteilen.
Wir werden für die verschiedenen Exemplare des EA unterschiedliche Kommentare schreiben.

Es ist besser, verschiedene Majiks zu machen

 
Vladimir Pastushak:

Es ist besser, die Mejis anders zu machen

Warum besser?
Es ist nur so, dass dort vielleicht noch ein anderer EA gehandelt wird.
 
Gerkl:

Danke, aber so wird die ganze Woche von Sonntag bis Sonntag angezeigt, während ich Montag bis Freitag brauche (Handelswoche).

Wenn Ihnen das passt, addieren Sie die Zeit von 5 Tagen in Sekunden = 5 * 24 * 60 * 60 und Sie erhalten die Startzeit von Freitag.

es ist schwer zu erraten, was Sie brauchen, aber es ist immer zuverlässiger, die Öffnungszeit einer Bar in TF zu verwenden


Multiplikator:
warum besser?
vielleicht wird dort noch ein anderer EA gehandelt.

Da der Auftragskommentar nicht zuverlässig ist, überschreiben einige Server den Kommentar bei 0 Uhr oder fügen eigene Informationen hinzu.

magik ist zuverlässig, haben Sie kein Mitleid mit Zahlen? magik ist vom Typ int - lesen Sie in der Hilfe, was die maximale Zahl ist, die Sie in int.... haben Sie genug magische Zahlen für mehrere Milliarden Expert Advisors... Sei nicht gierig, gib die magischen Zahlen aus ))))

 
Igor Makanu:

da der Auftragskommentar unzuverlässig ist, überschreiben einige Server den Kommentar bei 0 Uhr oder fügen Dienstinformationen an ihn an

wizard ist zuverlässig, tun Ihnen die Zahlen nicht leid? wizard ist vom Typ int - lesen Sie in der Hilfe, welche maximale Zahl in int.... gespeichert werden kann. Sie haben genug magische Zahlen für mehrere Milliarden EAs... Sei nicht gierig, gib magische Zahlen aus ))))

Ich habe ein Klischee: ein EA - eine magische Zahl.


Sie müssen nicht alle Orden der Eule schließen, also brauchen Sie auch keinen gemeinsamen Magier für die Eule.

 

Hallo, ich brauche einen Rat. Bei diesem Expert Advisor, der alle Positionen mit Profit Equity schließt, kommt es häufig zu Slippages. D.h. Gewinn erreicht einen bestimmten Wert, Trades werden dann geschlossen, dann nicht, nicht vom ersten Mal an, im Allgemeinen

extern double EquityProfit  = 1.2;

int start()
  {
   Comment("" ,AccountName(),"\n""ACCOUNT"  ,AccountNumber(),"\n""FREE MARGIN"  ,AccountFreeMargin(),"\n""EQUITY"  ,AccountEquity(),"\n""BALANCE"  ,AccountBalance());

   if(AccountEquity() > AccountBalance()*EquityProfit)
     {
      int total=OrdersTotal();

      for(int i=total-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS)==true)
           {
            int type=OrderType();

            bool result=false;

            switch(type)
              {
               case OP_BUY       : result=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Red);
               break;
               case OP_SELL      : result=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Red);
              }

            if(result==false)
              {
               Sleep(0);
              }
           }
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
Vladimir Baskakov:

Hallo, ich brauche einen Rat. Dieser Expert Advisor, der alle Positionen bei Profit Equity schließt, hat häufige Slippages. D.h. wenn der Gewinn den angegebenen Wert erreicht, werden die Geschäfte entweder geschlossen oder nicht, beim ersten Mal überhaupt nicht.

Sie müssen die Überschreitung des Eigenkapitals mit dem Kennzeichen

Dann müssen Sie alle Aufträge schließen, bis sie 0 erreichen, und die Flagge invertieren.

Nun hat ein Teil der Aufträge geschlossen und ein anderer Teil nicht. Das Eigenkapital hat sich geändert, so dass die Bedingung beim nächsten Tick nicht mehr richtig funktioniert.

Grund der Beschwerde: