Expert Advisors: N seconds N points

 

N seconds N points:

Der Expert Advisor verfolgt Positionen aller Symbole nach allen Magic Numbers. Wenn eine Position bereits "Waiting for seconds" offen ist und ihr Profit "Take Profit" Punkte erreicht hat, schließt der Expert Advisor die Position. Wenn der Profit nicht "Take Profit" Punkte erreicht hat, verschiebt der Expert Advisor den Take Profit Level.

Autor: Vladimir Karputov

 

Danke, das ist, was ich brauche.

Aber ich verstehe nicht den Punkt "Wenn der Gewinn nicht erreicht hat "Take Profit" Punkte - dann überträgt es das Niveau der Take Profit". Wo genau wird der TP verschoben?

Gibt es eine Version für MT4?

 
Valeriy Belozertsev:

Danke, das ist, was ich brauche.

Aber ich verstehe nicht den Punkt "Wenn der Gewinn nicht erreicht hat "Take Profit" Punkte - dann überträgt es das Niveau der Take Profit". Wo genau wird der TP verschoben?

Gibt es eine Version für MT4?


Den Anhängern des alten Terminals wird der Support vorenthalten. Als Bestrafung für Faulheit.

 
Valeriy Belozertsev:

Nur verstehe ich den Punkt "Wenn der Gewinn die "Take Profit"-Punkte nicht erreicht hat - dann wird das Take Profit-Level übertragen" nicht. Wo genau wird der TP verschoben?

Das ist mir ein Rätsel.
 
Vladimir Karputov:

Den Anhängern des alten Terminals wurde die Unterstützung entzogen. Als Strafe für Faulheit.

Das war's.

 
Vladimir Karputov:

Den Anhängern des alten Terminals wurde die Unterstützung entzogen. Als Strafe für Faulheit.


"Unsere Antwort auf Chamberlain".

Ohne die Unterstützung von "MT4-Adepten" werden Ihre Codes die besten Beispiele dafür bleiben, "wie man es nicht besser machen kann"

void OnTimer()
  {
//---
   for(int i=PositionsTotal()-1;i>=0;i--)
      if(m_position.SelectByIndex(i)) // wählt die Position über den Index aus, um weiteren Zugriff auf ihre Eigenschaften zu erhalten
         if(TimeCurrent()-m_position.Time()>InpSeconds)
           {
            double ExtTakeProfit=0;
            double m_adjusted_point;               // Punktwert angepasst für 3 oder 5 Punkte
            if(!InitTrade(m_position.Symbol(),m_position.Magic(),m_adjusted_point,ExtTakeProfit))
               continue;
...
  }
//+------------------------------------------------------------------+
//| Handelsobjekt initialisieren|
//+------------------------------------------------------------------+
bool InitTrade(const string symbol,const ulong magic,double &adjusted_point,double &ext_take_profit)
  {
...
//--- Abstimmung für 3 oder 5 Ziffern
   int digits_adjust=1;
   if(m_symbol.Digits()==3 || m_symbol.Digits()==5)
      digits_adjust=10;
   adjusted_point=m_symbol.Point()*digits_adjust;

   ext_take_profit=InpTakeProfit*adjusted_point;
//---
   return(true);
  }


Die Bedeutung der Kurse (5-stellig) ist bereits in der OnInit()-Phase bekannt und es ist nicht notwendig, sie bei der Analyse jeder Position auszuführen.

 
Andrey F. Zelinsky:

"Unsere Antwort auf Chamberlain".

Ohne die Unterstützung von "MT4-Adepten" werden Ihre Codes die besten Beispiele dafür bleiben, "wie man es am besten nicht macht"


Die Bedeutung der Kurse (5-stellig) ist bereits in der OnInit()-Phase bekannt, und es ist nicht notwendig, sie bei der Analyse jeder Position auszuführen und durchzuführen


Normalerweise mache ich es so: Ich definiere die Ziffern einmal in OnInit(), aber in diesem Expert Advisor gibt es eine mögliche Variante, wenn Positionen für völlig unterschiedliche Symbole im Terminal geöffnet werden. Daher muss ich für jede Position auf Nummer sicher gehen und die Ziffernkapazität definieren.

 
Vladimir Karputov:

... aber in diesem Expert Advisor besteht die Möglichkeit, dass im Terminal Positionen für völlig unterschiedliche Symbole eröffnet werden. Deshalb müssen wir für jede Position abgesichert sein und die Digitalisierung bestimmen.


Ist Ihnen schon einmal ein Handelskonto begegnet, bei dem die Ziffern der Notierungen (5-stellig und 4-stellig) für verschiedene Symbole unterschiedlich waren?

 
Andrey F. Zelinsky:

Die Bedeutung von Anführungszeichen (5-stellig) ist bereits in der OnInit()-Phase bekannt und muss nicht bei der Analyse jeder Position ausgeführt werden

Ich konnte nicht verstehen, warum viele Leute solche Konstruktionen verwenden (ich bin ihnen oft begegnet) - sie schauen auf die Punkte/Ziffern, um zusätzlich etwas mit ihnen zu machen.

Es muss einen Sinn geben, aber ich konnte nicht erkennen, warum sie es so schreiben. Immerhin kam es von jemandem.

 
Andrey F. Zelinsky:

Sind Sie schon einmal auf ein einziges Handelskonto gestoßen, bei dem der Wert der Notierungen (5-stellig und 4-stellig) für verschiedene Symbole unterschiedlich war?


Es gibt viele Beispiele (Sie müssen nur die Scheuklappen von Ihren Augen nehmen und weiter und weiter schauen). Ich werde warten, bis Sie es merken :)

 
fxsaber:

Ich habe nie verstanden, warum viele Leute solche Konstruktionen verwenden (ich bin ihnen mehr als einmal begegnet) - sie schauen auf die Punkte/Ziffern, um etwas Besonderes mit ihnen zu machen.

Es muss einen Grund dafür geben, aber ich konnte nicht erkennen, warum sie so schreiben. Immerhin kam es von jemandem.


Die Logik dahinter ist einfach - 1) um die gleichen Einstellungen für verschiedene Ziffern geeignet zu machen und 2) viele Leute sind einfach mehr an 4 Ziffern gewöhnt.

Es ist nur so, dass einige Leute es korrekt und unauffällig verwenden, während andere es hässlich finden.