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

 
Mihail Matkovskij #:

Aber es erhöht das Risiko. Das gilt auch für Martin, für die Mittelwertbildung und andere ähnliche Strategien. Aber alle können von denen, die sie verstehen, sinnvoll genutzt werden.

Im Gegenteil, sie verringert das Risiko. Hier müssen wir die richtige Absicherungsanlage wählen und können ruhig schlafen. Doch bei der Mittelwertbildung ist der Schlaf oft gestört.

 
Mihail Matkovskij #:

Es kommt darauf an, welches Los mit welchem Gewinn... Ich denke, es ist besser, die Positionen nach Gewinn zu sortieren. Und schließen Sie die fettesten zuerst!

Es kommt darauf an, wofür :-) eine schöne Kurve in den Signalen zu zeichnen und den "Erholungsfaktor" gleich mit zu senken...

 
Vitaly Muzichenko #:

Im Gegenteil, sie verringert das Risiko. Hier gilt es, die richtige Absicherungsanlage grob richtig zu wählen und Sie können gut schlafen. Doch bei der Mittelwertbildung wird der Schlaf oft gestört.

Oh... Sie brauchen also einen zusätzlichen Vermögenswert dafür? Interessant... Klingt nach Risiko-/Verlustdiversifizierung...

Ich dachte immer, beim Hedging ginge es um gegensätzliche Positionen in ein und demselben Instrument.

 
Mihail Matkovskij #:

Ah... Sie brauchen also einen zusätzlichen Vermögenswert dafür? Interessant... Klingt nach Risiko-/Verlustdiversifizierung...

Ich dachte immer, beim Hedging ginge es um gegensätzliche Positionen in ein und demselben Instrument.

Es heißt Locking, von dem Wort Lock.

 
Tretyakov Rostyslav #:
Siehe

Guten Morgen Rostislav!!!

Könnten Sie sich zu den gestrigen Änderungen äußern, deren Logik ich nicht nachvollziehen kann?

//-------------------------------------------------------------------+
   Spread       = MarketInfo(Symbol(),MODE_SPREAD)*Point;
   MinLot       = MarketInfo(Symbol(),MODE_MINLOT);
   Balance      = AccountInfoDouble(ACCOUNT_BALANCE);
   FreeMargin   = AccountInfoDouble(ACCOUNT_MARGIN_FREE);
   avg_buy      = ObjectGetDouble(0,"AveragePriceLine0",OBJPROP_PRICE);
   avg_sell     = ObjectGetDouble(0,"AveragePriceLine1",OBJPROP_PRICE);
   Drawdown     = (Balance - FreeMargin)/Balance*100;
//-------------------------------------------------------------------+  Команда на удаление линий отображающую среднюю цену и текста
   if(CountTrade() == 0)
     {
      flag_close=0;
      ObjectsDeleteAll(0,"AveragePriceLine");
      if(ObjectFind(0,"signal4")==0&&CountTrade(0)<1)//для бай
        {
         ObjectDelete(0,"signal4");
        }
      if(ObjectFind(0,"signal3")==0&&CountTrade(1)<1)//для селл
        {
         ObjectDelete(0,"signal3");
        }
     }
 
EVGENII SHELIPOV #:

Guten Morgen Rostislav!!!

Könnten Sie sich zu den gestrigen Änderungen äußern, deren Logik ich nicht nachvollziehen kann?


Wenn es keine offenen Aufträge gibt, erhält flag_close den Wert "0".

   if(CountTrade() == 0)
     {
      flag_close=0;

Wenn flag_close=0; wird die Anfrage an ClosseAll() beendet

 
Tretyakov Rostyslav #:

Wenn es keine offenen Aufträge gibt, erhält flag_close den Wert "0".

Wenn flag_close=0; wird die Anforderung von ClosseAll() beendet

Ja, ich habe es verstanden.

Sie benötigen sie beim Löschen von Objekten.

Das Interessante daran ist, dass, wenn die Flagge an dieser Stelle gesperrt ist, der Expert Advisor seltsam wird

 
EVGENII SHELIPOV #:

Ja, ich verstehe das.

Warum sie beim Löschen von Objekten benötigt wird.

Das Interessante daran ist, dass der Expert Advisor seltsame Dinge tut, wenn Sie die Flagge an dieser Stelle blockieren.

Dies hat nichts mit dem Löschen von Objekten zu tun

Es ist eine Feststellung des Fehlens von Aufträgen

   if(CountTrade() == 0)
     {
      flag_close=0;
      ObjectsDeleteAll(0,"AveragePriceLine");
      if(ObjectFind(0,"signal4")==0&&CountTrade(0)<1)//для бай
        {
         ObjectDelete(0,"signal4");
        }
      if(ObjectFind(0,"signal3")==0&&CountTrade(1)<1)//для селл
        {
         ObjectDelete(0,"signal3");
        }
     }

Sie können alle internen Vorgänge durchführen, die keine Abwesenheit von Aufträgen erfordern

Außerdem gibt es in diesem Teil des Codes eine Menge unnötiger Dinge,

Diese Variante hat die gleiche Wirkung wie die vorherige

   if(CountTrade() == 0)
     {
      flag_close=0;
      ObjectsDeleteAll(0,"AveragePriceLine");
      ObjectDelete(0,"signal4");
      ObjectDelete(0,"signal3");
     }
 
Tretyakov Rostyslav #:

Was hat das Entfernen von Gegenständen mit

es geht darum festzustellen, ob es keine Aufträge gibt

und im Inneren können Sie jede Operation durchführen, die keine Aufträge erfordert

Außerdem gibt es in diesem Teil des Codes eine Menge unnötiges Zeug,

Diese Variante hat die gleiche Wirkung wie die vorherige

Ich verstehe es, Rostislav.

Ich verstehe nicht, warum, wenn ich die Flagge in dieser Funktion zu blockieren, die EA beginnt zu öffnen und zu schließen 100-200 Aufträge zu einer Zeit

 
Vitaly Muzichenko #:

Es heißt Locking, von dem Wort Lock.

Ja, aber ein Schloss lässt sich mit demselben Los öffnen. Und zwei unterschiedlich gerichtete Aufträge werden gleichzeitig eröffnet. Eine Absicherung ist, wenn ein Geschäft in einen Drawdown geht und der Händler eine Position mit einem größeren Lot in die gleiche Richtung eröffnet (ich habe das mit verschiedenen Richtungen verwechselt), was bedeutet, dass der Preis sich umkehren wird, um einen Gewinn bei einem Geschäft mit einem größeren Lot zu erzielen und den Verlust bei einem Geschäft mit einem kleineren Lot zu decken oder den Durchschnitt auf 0 zu bringen. Wenn ich etwas falsch verstanden habe, korrigieren Sie mich.