Ich schreibe kostenlos einen Ratgeber - Seite 166

 
Hallo, ich möchte Sie um Ihren Rat bitten. Können Sie mir bitte sagen, wie ich meinen Expert Advisor so ändern kann, dass er nicht gegen den Trend handelt, sondern im Gegenteil dem Trend folgt? Ich eröffnete neue Positionen mit steigender Menge nach Trend.

Ilan 2.0

 
kammann659 #:
Hallo, ich möchte Sie um Ihren Rat bitten. Können Sie mir bitte sagen, wie ich meinen Expert Advisor so ändern kann, dass er nicht gegen den Trend handelt, sondern im Gegenteil dem Trend folgt? Ich eröffnete neue Positionen mit steigender Menge nach Trend.

Ilan 2.0

Hallo, das ist möglich.

 

Guten Tag. Ich handle mit schwebenden Aufträgen (Sellstops, Bystops). Ich möchte darum bitten, einen Teil des Codes zu schreiben, in dem die Bedingung erfüllt ist - alle schwebenden Aufträge, die sich in einer Entfernung (x) vom aktuellen Preis befinden, werden gelöscht. Das heißt, dass eine "kleine Gruppe" von schwebenden Aufträgen ständig dem aktuellen Kurs "folgen" wird.

Natürlich kann diese Idee auch auf andere Weise umgesetzt werden, z. B. um die Anzahl der Verkaufs- und Kaufstopps zu kontrollieren und sie gleichzeitig so zu durchforsten, dass die längsten Stops näher an den aktuellen Kurs herangerückt werden.


Es scheint mir dasselbe zu sein, aber ich mag die erste Variante. Im ersten Fall sollte der Abstand x in der Bedingung variabel sein.

Ich verstehe, dass dies nicht viel Code ist. Ich habe versucht zu verstehen, was und wie es beschrieben werden sollte, ich habe mir ähnliche EAs angesehen und studiert, aber leider habe ich nicht genug Grips, um es in meine Version zu ändern.

Danke.

 

Hallo,@Andrey Kuharev.

Sind Sie auf der Suche nach einem MT5 oder MT4?

 
Yuriy Bykov #:

Hallo,@Andrey Kuharev.

Sind Sie auf der Suche nach einem MT5 oder MT4?

MT4
 

Ich habe Ihre Beschreibung noch einmal gelesen und festgestellt, dass ich wahrscheinlich nicht genau verstehe, was zu tun ist. Es sieht so aus, als bräuchten Sie Folgendes:

  • Ein Skript, das Sie bei Bedarf manuell auf dem Chart ausführen, oder eine Funktion, die Sie in Ihren Code einfügen können (oder handelt es sich um einen EA, der ständig läuft und unnötige Aufträge entfernt?).
  • Es hat einen Parameter X - die Anzahl der Pips (eine ganze Zahl)
  • Es löscht die schwebenden Aufträge (nur BuyStop und SellStop?) auf dem Symbol des Charts, auf das es angewendet wird (oder auf allen Symbolen? In diesem Fall sollte das X für jedes Symbol gesetzt werden?)
  • Eine schwebende Order für das erforderliche Symbol des gewünschten Typs wird gelöscht, wenn der Abstand zwischen ihrem Eröffnungskurs und dem aktuellen Kurs größer ist als X
  • Es ist nicht ihre Aufgabe, Aufträge zu erteilen

Korrigieren Sie mich, wenn ich falsch liege.

 
Yuriy Bykov #:

Ich habe Ihre Beschreibung noch einmal gelesen und festgestellt, dass ich wahrscheinlich nicht genau verstehe, was zu tun ist. Es sieht so aus, als bräuchten Sie Folgendes:

  • Ein Skript, das Sie bei Bedarf manuell auf dem Chart ausführen, oder eine Funktion, die Sie in Ihren Code einfügen können (oder handelt es sich um einen EA, der die ganze Zeit läuft und unnötige Aufträge entfernt)?
  • Es hat einen Parameter X - die Anzahl der Pips (eine ganze Zahl)
  • Es löscht die schwebenden Aufträge (nur BuyStop und SellStop?) auf dem Symbol des Charts, auf das es angewendet wird (oder auf allen Symbolen? In diesem Fall sollte das X für jedes Symbol gesetzt werden?)
  • Eine schwebende Order für das erforderliche Symbol des gewünschten Typs wird gelöscht, wenn der Abstand zwischen ihrem Eröffnungskurs und dem aktuellen Kurs größer ist als X
  • Es ist nicht ihre Aufgabe, Aufträge zu erteilen

Korrigieren Sie mich, wenn ich falsch liege.

Wenn ich einen anderen Auftrag sehe, dann muss ich ihn erneut aufgeben, genauso wie ich einen anderen Auftrag mit einer anderen Gewinn-/Verlustlinie sehe. Ich werde es selbst tun, nicht um kluge Leute mit meinem Unsinn abzulenken. Zum besseren Verständnis hier der Code von "Expert Advisor", in den ich die Funktion des Löschens einfügen möchte. In meinem EA habe ich den Parameter X als extern double v_util = 50; // Abstand vom aktuellen Kurs zu einer zu löschenden Pending Order

//+------------------------------------------------------------------+
//|Anhängige Aufträge.mq4 |
//| Copyright 2022, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Software Corp."
#property link"https://www.mql5.com"
#property version "1.00"
#property strict
//------- Externe EA-Parameter -----------------------------------------+
extern double delitel_Equity_lots = 1400000; // Teiler zur Bestimmung des Arbeitsloses.
extern double schag = 2; // Schritt der Pending Order Eröffnung vom aktuellen Preis
extern double v_util = 50;// Abstand vom aktuellen Kurs zu den gelöschten Pending Orders
extern int StopLoss = 10000;
extern int TakeProfit = 5;
extern int MagicBuy = 1111111; // MagicNumber für BUY-Aufträge
extern int MagicSell = 2222222; // MagicNumber für SELL-Orders
// //+------------------------------------------------------------------+
void OnTick()

{double Lots = NormalizeDouble(AccountBalance()/delitel_Equity_lots, 2); // Positionsvolumen.

OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Ask+schag*_Point,_Digits) ,0,NormalizeDouble(Ask-(StopLoss-schag)*_Point,_Digits),
NormalizeDouble(Ask+(TakeProfit+schag)*_Point,_Digits),MagicBuy); // BuyStop öffnen
Print (GetLastError()); // Fehlermeldung
OrderSend(Symbol(),OP_SELLSTOP,Lots,NormalizeDouble(Bid-schag*_Point,_Digits),0,NormalizeDouble(Bid+(StopLoss-schag)*_Point,_Digits),
NormalizeDouble(Bid-(TakeProfit+schag)*_Point,_Digits),MagicSell;)// SellStop öffnen
Print (GetLastError()); // Fehlermeldung
}
//+------------------------------------------------------------------+

Alles ist einfach, keine Komplikationen. Ich verstehe, dass man für alle möglichen Erfindungen bezahlen muss, niemand erfindet Superstrategien und Supercodes umsonst. Ich möchte die Arbeit in dieser Richtung für jetzt zu testen und bitten, eine einfache Entfernung, nichts mehr zu tun ... das einzige, was ist, wenn es nicht zu lang und nicht zu schwierig ist, könnte man einen Parameter hinzufügen - der Abstand zwischen dem Stopper, dann wäre es perfekt. Aber ich verstehe, dass all diese Arbeit und Zeit ... so zumindest die Entfernung. Ich danke Ihnen!

Discover new MetaTrader 5 opportunities with MQL5 community and services
Discover new MetaTrader 5 opportunities with MQL5 community and services
  • 2022.04.13
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 
Das ist dabei herausgekommen. Ich hoffe, dies hilft, den Vorgang zu testen.
Dateien:
Pending.mq4  10 kb
 
Yuriy Bykov #:
Das ist es, was wir bekommen haben. Ich hoffe, dies hilft, den Vorgang zu testen.

Bitte beraten Sie mich und geben Sie mir 10 Punkte:

double minOpenPriceBuy = 1e+10;
double maxOpenPriceBuy = 0;
double minOpenPriceSell = 1e+10;
double maxOpenPriceSell = 0;

Dies ist die zehn, die extern int delta = 10;

 

Nein, es ist eine andere Form der Schreibweise der Zahl 10000000000, du musst sie also nicht so schreiben.

double minOpenPriceBuy = 10000000000;

...