Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1926
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
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!
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.
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
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, 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.
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:
Ändern Sie den Code, zeichnen Sie Linien und sonst nichts.
Ich danke Ihnen!
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!
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.
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
Graben Sie in Richtung der Standard-Handler.
Ich bin sicher, dass Sie dort start() und nicht OnStart() verwenden.