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

 
Maxim Kuznetsov #:

Das Zeichnen (okay, das Abbilden) von "progressionsartigen Levels, es kann einen Stop-Loss geben" ist im Allgemeinen recht einfach. Aber es ist nicht ganz klar, WARUM.

Haben Sie nicht versucht, den Kunden zu fragen, was er da im Einzelnen will?

PS / und, ja, wir müssen eine "kreative Pause" einlegen, ich denke, der Kunde wird die Situation verstehen.

Er hat über eine Woche lang nachgedacht, und jetzt ist die Entscheidung gefallen.

Ursprünglich war es anders, es wurde eingereicht, aber nach einer Woche Pause meldete er die Neuerungen. Ich verstehe, dass der Auftrag abgeschlossen wurde, aber es fühlt sich falsch an, den Kunden zu verlassen, auch wenn dies nicht Teil der ursprünglichen TOR war.

Meine Bitte bleibt bestehen!

 
Vitaly Muzichenko #:

Er dachte mehr als eine Woche lang nach, und dann war es entschieden.

Ursprünglich war es anders, so wurde es eingereicht, aber nach einer Woche Pause meldete er die Neuerungen. Ich verstehe, dass der Auftrag abgeschlossen wurde, aber irgendwie fühlt es sich nicht richtig an, den Kunden zu verlassen, auch wenn das nicht Teil der ursprünglichen Aufgabenstellung war.

Mein Antrag ist gültig!

Beruhigen Sie sich, Vitaly, die Anfrage von was?

um Änderungen am EA vorzunehmen? Es gibt keinen Code und keine Möglichkeit, Änderungen vorzunehmen. Und es ist nicht ganz korrekt, die Reihenfolge der Freiberufler in diesem Thread zu korrigieren. Im Allgemeinen ist keine der beiden Seiten

void OnStopLoss() {

    // some code placed here

}

wird wahrscheinlich nicht helfen.

 
Maxim Kuznetsov #:

Beruhigen Sie sich, Vitaly, was ist Ihr Anliegen?

Um Änderungen am EA vorzunehmen? Es gibt keinen Code und keine Möglichkeit, Änderungen vorzunehmen. Und es ist nicht ganz korrekt, die Reihenfolge der Freiberufler in diesem Thread zu korrigieren. Im Allgemeinen ist keine der beiden Seiten

void OnStopLoss() {

    // some code placed here

}

ist kaum hilfreich.

Es handelt sich nicht wirklich um einen EA, sondern um ein separates Schleppnetz, das an einem Chart hängt und alle Symbole im Auge behält.

Der Code ist stark aufgebläht

 
Vitaly Muzichenko #:

Es gibt eine Position und einen Stop-Loss für sie.

In den Einstellungen ist das Schleppnetz 30. Zeigen Sie also die Linie auf der Ebene, auf der das Schleppnetz ausgelöst wird, und somit alle 7 Linien: 30-60-90-120-150-180-210, wie eine Progression.

Wird die 30 überschritten und die Linie erreicht, verschiebt das Schleppnetz die Stopps auf das Niveau des Eröffnungskurses, bei Erreichen der 60 werden die Stopps auf +30 vom Eröffnungskurs verschoben, d. h. auf das Niveau, auf dem der erste Stopp ausgelöst wurde, usw.

Ich nehme an, dass sie die Diagrammlinien kontrollieren will, aber das ist komplizierter, also muss es vereinfacht werden.

Alternativ können Sie in den Einstellungen 7 Parameter für Pegel eingeben.

P.S. Entschuldigung für die lange Antwort, hatte keinen Internetanschluss.

7 Parameter ist keine Option) 7 Namen von horizontalen Linien in den Parametern wird es zeichnen und benennen. Und wir werden von ihnen tanzen. Und wenn die Parameter, der Bereich der Preisbewegung und die Anzahl der Ebenen. Berechnen und zeichnen. Nun, wenn das Niveau auslöst, sollte es die sl-Linie zeichnen und wenn die sl mit dem Preisniveau zusammenfällt, sollte es seine Farbe ändern.
 
Valeriy Yastremskiy #:
7 Parameter ist keine Option) 7 Namen von horizontalen Linien in den Parametern, die es zeichnen und benennen wird. Und wir sollten von ihnen ausgehen. Und wenn die Parameter, der Bereich der Preisbewegung und die Anzahl der Ebenen. Berechnen und zeichnen. Nun, wenn das Niveau auslöst, sollte es die sl-Linie zeichnen und wenn die sl mit dem Preisniveau zusammenfällt, sollte es seine Farbe ändern.

Man braucht eine Art Algorithmus, der Linien zu den berechneten Preisen zieht.

Wenn alle Positionen geschlossen sind, sollten sie gelöscht werden.

 
Valeriy Yastremskiy #:
7 Parameter ist keine Option) 7 Namen von horizontalen Linien in den Parametern wird es zeichnen und benennen. Und wir sollten von ihnen tanzen. Wenn Parameter, der Bereich der Preisbewegung und die Anzahl der Ebenen. Berechnen und zeichnen. Nun, wenn das Niveau auslöst, sollte es die sl-Linie zeichnen und wenn die sl mit dem Preisniveau zusammenfällt, sollte es seine Farbe ändern.

Klarstellung:

В настройках трал 30. Значит показать линии на уровнях, где сработают тралы, и так все 7 линий: 30-60-90-120-150-180-210, типа прогрессии.

Прошли 30 и достигли линии, трал переводит стопы на уровень цены открытия, по достижении 60, переводит стопы на +30 от цены открытия, то есть на уровень, где срабатывал первый стоп и тд.

Ändern Sie den Code, zeichnen Sie Linien und sonst nichts.


Ich danke Ihnen!

 
Guten Tag. Gut beraten ein Neuling, versucht, ein Experte auf dem Markt hochladen. Gibt die Fehlermeldung "Error! Falscher Dateityp hochgeladen, .....ex4 - Script.
Ihre Produktkategorie - Experten, der richtige Programmtyp dafür - Experte" Aber es ist ein Experte! Wo soll ich graben? Ich kämpfe schon seit 2 Tagen!
 
Vycheslav Vyrikov #:
Nachmittags. Nun, können Sie einen Neuling beraten, ich versuche, einen Expert Advisor auf den Markt zu bringen. Gibt die Fehlermeldung "Error! Falscher Dateityp geladen, .....ex4 - Skript.
Ihre Produktkategorie - Experten, der richtige Programmtyp dafür - Experte" Aber es ist ein Experte! Wo soll ich graben? Ich kämpfe schon seit 2 Tagen!

Graben Sie in Richtung der Standard-Handler.

Ich bin sicher, dass Sie dort start() und nicht OnStart() verwenden.

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

Man braucht eine Art Algorithmus, der Linien zu den berechneten Preisen zieht.

Wenn alle Positionen geschlossen sind, sollten sie gelöscht werden.

double sumLots[2]=0,weight[2]=0;

for(int pos=OrdersTotal()-1;pos>=0;pos--) {

   if (! OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) continue;

   // тут всякие прочии фильтры

   DrawOrderLevels(); // нарисовать уровни куда может перекатиться стоп-лосс конкретного ордера

   // расчёт общих позиций

   int type=OrderType();

   sumLots[type]+=OrderLots();

   weight[type]+=OrderLots()*OrderOpenPrice();

}

double avg[3]; // общии позиции

if (sumLots[OP_BUY]!=0) avg[OP_BUY]=weight[OP_BUY]/sumLots[OP_BUY]; 

if (sumLots[OP_SELL]!=0) avg[OP_SELL]=weight[OP_SELL]/sumLots[OP_SELL]; 

// совокупная позиция

int posType; // тип

double posPrice; // цена

double posLots; // объём

if (sumLots[OP_BUY]>sumLots[OP_SELL) { posType=OP_BUY; posPrice=avg[OP_BUY]; posLots=sumLots[OP_BUY]-sumLots[OP_SELL]; }

else { posType=OP_SELL; posPrice=avg[OP_SELL]; posLots=sumLots[OP_SELL]-sumLots[OP_BUY]; }

DrawPriceLevels(OP_BUY,avg[OP_BUY]); // нарисовать уровни суммарной позы в BUY

DrawPriceLevels(OP_SELL,avg[OP_SELL]); // нарисовать уровни суммарной позы в SELL

DrawPriceLevels(posType,posPrice); // уровни общей позиции

Fügen Sie bei den Namen der horizontalen Ebenen die Ticketnummer hinzu. Manchmal (wenn nötig) zu überprüfen - wenn das Ticket nicht auf dem Markt ist, dann sollten alle Ebenen mit seinem Namen entfernt werden

 
Artyom Trishkin #:

Graben Sie in Richtung der Standard-Handler.

Ich bin sicher, dass Sie dort start() und nicht OnStart() verwenden.

Artyom, Sie sind schon müde und haben selbst angefangen, Ungenauigkeiten zu machen. Für den Experten, den Vyacheslav zu laden versucht, sollte die Ereignisbehandlungsfunktion OnTick() sein.
Grund der Beschwerde: