Expert Advisors: Puria method

 

Puria method:

Ein Handelssystem auf Basis der Puria Methode.

Puria method

Autor: Vladimir Karputov

 
Automated-Trading:

Puria-Methode:

Autor: Vladimir Karputov

Hallo Vladimir. Entschuldige, dass ich hier eine Frage stelle, aber ich kann MT-5 nach der Neuinstallation von Windows nicht öffnen, weil ich mein Passwort nicht gespeichert habe, als ich mein Netting-Konto in Hedge geändert habe. Könnten Sie mir bitte sagen, was zu tun ist? Das Login ist bekannt.

Ich danke Ihnen.

 
Shara1:

Hallo Vladimir. Entschuldige, dass ich hier eine Frage stelle, aber ich kann MT-5 nach der Neuinstallation von Windows nicht öffnen, weil ich mein Passwort nicht gespeichert habe, als ich mein Netzkonto in Hedge geändert habe. Kannst du mir bitte sagen, was ich tun soll? Das Login ist bekannt.

Ich danke Ihnen.

Es gibt nichts, was Sie tun können. Es ist grausam, aber eine gute Impfung für die Zukunft: Passwörter und Logins sollten aufbewahrt werden.
 
Vladimir Karputov:
Da ist nichts zu machen. Es ist grausam, aber es ist eine gute Impfung für die Zukunft: Passwörter und Logins sollten aufbewahrt werden.

Ich muss also ein neues herunterladen und mich registrieren?

Und wenn ich nicht schon eine Demo in Admiralmarketing habe?

Ich danke Ihnen.

 
Hallo Vladimir,

- "MinProfitStep (Mindestgewinnschritt, in Pips)"
- "MinProfitPercent (Koeffizient der Gewinnmitnahme bei "Minimum profit step")".

Ich glaube, dass diese Funktionen nicht effizient oder nicht korrekt funktionieren.
Ich vermute, dass diese Funktion für den Kontotyp "Netting" geschrieben wurde und der EA-Code nicht für "Hedge-Konten" konzipiert ist.

Können Sie überprüfen, ob diese Funktion auf Konten vom Typ "Hedge" korrekt funktioniert? ?

Vielen Dank

 
Edviao:
Hallo, Vladimir,

- "MinProfitStep (Mindestgewinnschritt, in Pips)"
- "MinProfitPercent (Koeffizient der Gewinnmitnahme bei "Minimum profit step")"

Ich glaube, dass diese Funktionen nicht effizient oder korrekt arbeiten.
Ich vermute, dass diese Funktion für den Kontotyp "Netting" geschrieben wurde und der EA-Code nicht für "Hedge-Konten" ausgelegt ist.

Können Sie überprüfen, ob diese Funktion auf Konten vom Typ "Hedge" korrekt funktioniert? ?

Danke

Aus der Beschreibung des EA:

Er hält nicht mehr als eine Position im Markt - daher kann er sowohl für Netting- als auch für Hedge-Konten empfohlen werden.

- Es sollte also auf beiden Konten funktionieren. Obwohl es seine eigenen Nuancen für Netting haben kann - und ich würde es nicht für Netting empfehlen.

 
Hallo Vladimir,
Wäre es sinnvoll, die folgende Funktion zu diesem EA hinzuzufügen?

Vielen Dank dafür.

"TrailingFrequency = 10; (Trailing, in Sekunden (< "10" -> nur bei einem neuen Bar)"
 
Edviao:
Hallo, Vladimir,
wäre es sinnvoll, die folgende Funktion zu diesem EA hinzuzufügen?

Dankeschön.

"TrailingFrequency = 10; (Trailing, in Sekunden (< "10" -> nur bei einem neuen Takt)"

Ich glaube nicht, dass dies eine gute Idee ist.

 
Vladimir Karputov:

Ich glaube nicht, dass das eine gute Idee ist.

Vielen Dank für die Mitteilung Ihrer Meinung.

Lieber Vladimir,

ich habe einige Code-Verbesserungen für die Funktionen"MinProfitStep" und"MinProfitPercent" vorgenommen.
Ich denke, dass EA mit den neuen Codes in der Lage sein wird, effizientere Ergebnisse mit diesen Funktionen zu erzielen. Ich würde mich freuen, wenn Sie mir Ihre Meinung, Vorschläge oder Ratschläge zum Update mitteilen würden.

else
   if (ExtMinProfitStep > 0) 
   {
      int d=0;
      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(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic) {
               if(m_position.PositionType() != POSITION_TYPE_BUY && m_position.PositionType() != POSITION_TYPE_SELL)
                  continue;
               
               int      ActSide = m_position.PositionType() == POSITION_TYPE_SELL ? -1: +1;
               ulong    ActTicket = m_position.Ticket();
               double   ActLot = m_position.Volume();
               double   LastOpenPrice = NormalizeDouble(m_position.PriceOpen(), _Digits);
                  
               if (!HistorySelectByPosition(m_position.Identifier()))
                  continue;
               
               if (HistoryDealsTotal() > 1){
                  ulong ActDealTicket = HistoryDealGetTicket(HistoryDealsTotal() - 1);
                  LastOpenPrice = NormalizeDouble(HistoryDealGetDouble(ActDealTicket, DEAL_PRICE), _Digits);
               }
               
               if (ActSide * (NormalizeDouble(m_position.PriceCurrent(), _Digits) - (LastOpenPrice + ActSide * ExtMinProfitStep)) >= 0){
                  double lot_check=LotCheck(ActLot*InpMinProfitPercent);
                  
                  if(lot_check>0.0)
                     m_trade.PositionClosePartial(ActTicket,lot_check);
               }
            }
         }
      }
   }
}
 

Wozu ist das gut?

   if(ExtMinProfitStep > 0)
     {
      int d=0;
      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(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
              {
               int      ActSide        = (m_position.PositionType()==POSITION_TYPE_SELL)?-1:1;
               ulong    ActTicket      = m_position.Ticket();
               double   ActLot         = m_position.Volume();
               double   LastOpenPrice  = NormalizeDouble(m_position.PriceOpen(),m_symbol.Digits());
               if(!HistorySelectByPosition(m_position.Identifier()))
                  continue;
               if(HistoryDealsTotal() > 1)
                 {
                  ulong ActDealTicket=HistoryDealGetTicket(HistoryDealsTotal()-1);
                  LastOpenPrice=NormalizeDouble(HistoryDealGetDouble(ActDealTicket, DEAL_PRICE),m_symbol.Digits());
                 }
               if(ActSide*(NormalizeDouble(m_position.PriceCurrent(),m_symbol.Digits())-(LastOpenPrice+ActSide*ExtMinProfitStep))>= 0)
                 {
                  double lot_check=LotCheck(ActLot*InpMinProfitPercent);
                  if(lot_check>0.0)
                     m_trade.PositionClosePartial(ActTicket,lot_check);
                 }
              }
           }
        }
     }

warum nicht seine Methode für eine Position verwenden

PreisEröffnung

Ermittelt den Preis für die Eröffnung einer Position


?

Документация по MQL5: Стандартная библиотека / Торговые классы / CPositionInfo / PriceOpen
Документация по MQL5: Стандартная библиотека / Торговые классы / CPositionInfo / PriceOpen
  • www.mql5.com
PriceOpen - CPositionInfo - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Hallo Vladimir, entschuldige die späte Antwort.

Es geht darum, den letzten Teilschlusskurs herauszufinden.