Expert Advisors: Surefirething

 

Surefirething:

er arbeitet mit Pending-Orders: Buy Limit und Sell Limit. Das Trailing der Positionen ist möglich.


Autor: Vladimir Karputov

 
Guten Tag, dieser Roboter tut genau das, wonach ich gesucht habe! Ich habe eine Frage, wie mache ich es so, dass neue Aufträge eingefügt werden, jedes Mal, wenn ein abgeschlossen ist, und nicht nur, wenn ein neuer bar erscheint, ich bin den Handel ein Vermögenswert, der den gleichen Preis mehrmals wiederholt, und ich könnte mehr als einen Handel pro Minute tun.
 
Fabio_tec :
Guten Tag, dieser Roboter tut genau das, wonach ich gesucht habe! Ich habe eine Frage, wie mache ich es so, dass neue Aufträge eingefügt werden, jedes Mal, wenn ein abgeschlossen ist, und nicht nur, wenn ein neuer bar geboren wird, ich bin den Handel ein Vermögenswert, der den gleichen Preis mehrmals wiederholt und ich könnte mehr als einen Handel pro Minute. danke im Voraus.

Entschuldigung, dieser Code funktioniert nur, wenn ein neuer Balken geboren wird.

 
Vladimir Karputov:

Dieser Code funktioniert leider nur, wenn der neue Balken geöffnet wird.

Um neue Aufträge zu platzieren, bevor die neue Kerze öffnet, müssen Sie isnewbar behandeln.
 
sergiomt :
Hallo, was auf der nächsten Bar definiert, ob es Kauf oder Verkauf sein wird? dankbar

Der EA arbeitet mit Pending Orders : BuyLimit und SellLimit.

 
sergiomt :

Hier ist meine Charge jede 1. Wenn ich möchte, dass die Charge bei jeder Bestellung +1 (1,2,3,4,5....) hinzufügt, ist dies der Abschnitt, den ich ändern muss?

//--- Minimalschritt der Volumenänderung erhalten

double volume_step=m_symbol.LotsStep();

int ratio=(int)MathRound(volume/volume_step);

if(MathAbs(ratio*Volumen_Schritt-Volumen)>0.0000001)


Wie würde das aussehen?

Nein Falsch Um die aktuelle Charge zu erhöhen, müssen Sie wissen, was die letzte Transaktion war.

 

Wie kann ich die Anzahl der offenen Aufträge begrenzen?

Dankeschön

 
sergiomt :

Wie kann ich die Anzahl der offenen Aufträge begrenzen?

Dankeschön

Um zu begrenzen, müssen Sie alle POSITIONEN zählen.

 
Der Autor des Expert Advisors wird sowieso nicht antworten. Wenn es möglich ist, den Code zu verstehen, jemand zumindest beantworten, auf welchem Prinzip schwebende Limit-Orders platziert werden. Es scheint auf die Verzögerung vom Preis zu sein, aber auf welchem Prinzip und wo im Code kann es geregelt werden, wenn möglich. Auch ohne Anpassung, nur um zu verstehen, wie und unter welchen Bedingungen sie platziert werden.
 
Vladimir Gulakov #:
Der Autor des Expert Advisors wird sowieso nicht antworten. Wenn es möglich ist, den Code zu verstehen, jemand zumindest beantworten, auf welchem Prinzip schwebende Limit-Orders platziert werden. Es scheint auf die Verzögerung vom Preis zu sein, aber auf welchem Prinzip und wo im Code kann es geregelt werden, wenn möglich. Auch ohne Anpassung, nur um zu verstehen, wie und unter welchen Bedingungen sie platziert werden.

Hallo, Wladimir!

In diesem Block können Sie den gelb markierten Code nach Bedarf anpassen/ändern:

//---
   MqlRates rates[];
   ArraySetAsSeries(rates,true);
   int copied=CopyRates(m_symbol.Name(),Period(),1,1,rates);
   if(copied!=1)
     {
      PrevBars=0;
      return;
     }
   double H4=((((rates[0].high-rates[0].low)*1.1)/2)+rates[0].close);
   double H3= ((((rates[0].high-rates[0].low)*1.1)/4)+rates[0].close);
   double L3= (rates[0].close-((rates[0].high-rates[0].low)*1.1)/4);
   double L4= (rates[0].close-((rates[0].high-rates[0].low)*1.1)/2);

   double price=0.0;
   double sl=0.0;
   double tp=0.0;

   price=L4;
   sl=(InpStopLoss==0.0)?0.0:ExtStopLoss;
   tp=(InpTakeProfit==0.0)?0.0:ExtTakeProfit;
   m_trade.BuyLimit(InpLots,m_symbol.NormalizePrice(price),m_symbol.Name(),
                    m_symbol.NormalizePrice(price-sl),
                    m_symbol.NormalizePrice(price+tp));

   price=H4;
   sl=(InpStopLoss==0.0)?0.0:ExtStopLoss;
   tp=(InpTakeProfit==0.0)?0.0:ExtTakeProfit;
   m_trade.SellLimit(InpLots,m_symbol.NormalizePrice(price),m_symbol.Name(),
                     m_symbol.NormalizePrice(price+sl),
                     m_symbol.NormalizePrice(price-tp));

Mit freundlichen Grüßen, Vladimir.

 
MrBrooklin #:

Hallo, Wladimir!

In diesem Block können Sie den gelb markierten Code nach Bedarf anpassen/ändern:

Mit freundlichen Grüßen, Vladimir.

Danke, ich werde es versuchen