Fragen und Antworten an Programmierer zu MQL 4

 

Wer den Code oder Link kennt - bitte mitteilen.
Der Code lautet wie folgt: Sie benötigen einen EA, der eine bestimmte Anzahl von Gewinnpunkten festlegt - Stop Loss, wenn der Kurs einen bestimmten Wert erreicht
Avid setzt einen Stop Loss, wenn der Kurs eine bestimmte Anzahl von Gewinnpunkten erreicht.

 
Normaler Trailing-Stop - wenn eine Anzahl von X Pips Gewinn erreicht ist, wird der Stop-Loss auf ein Niveau gesetzt, das eine bestimmte Anzahl von Pips vom aktuellen Kurs entfernt ist.
 
drknn >>:
Обычный трейлингстоп - по достижении икс пунктов прибыли стоп-лосс устанавливается на уровень, отстоящий от текущей цены на указанное количество пунктов.

Ja, ich verstehe - ich brauche den Code des MQL4-Programms - um die Reihenfolge und die verwendeten Werte klar zu verstehen.

Und ich brauche keinen Trailing-Stop, sondern einen einmaligen Stopp auf einem unveränderlichen Niveau.

 

Suchen Sie nach "breakeven".

 
Roger >>:

Ищи по поиску "безубыток".

Ich habe soeben die Themen der Suchanfrage - Break-even - durchgesehen.

Das Ergebnis ist, dass ich keinen spezifischen Code finden konnte, nach dem ich suchte.

 
alex12 >>:

Только сейчас закончил просмотор тем по запросу в поиске - Безубыточность.

Результат - ни одного конкретного мне нужного кода я не нашел.

Suchen Sie dann nach dem Wort "breakeven", wie Ihnen empfohlen wurde.

 
alex12 >>:

Да это понятно-мне нужен код прграммы MQL4 - чтобы наглядно понять последовательность и какие значения используются.

И нужен мне не следящий Трэйлингстоп,а единожды выставленный на неизменяемый уровень.


In diesem Fall ist es sehr einfach - wir betten ein Standardprogramm Trawl in den EA ein, aber es geht zuletzt in der Funktion start(). Davor sollte sich ein Konstrukt mit folgendem Algorithmus befinden
- Deklarieren Sie eine boolesche Variable und weisen Sie ihr den Wert "False" zu.
- Finden Sie unsere Bestellung. Prüfen Sie, ob der Stop-Loss niedriger ist als die offene Position, dann weisen wir unserer booleschen Variablen den Wert "True" zu, d.h. das Trawl ist erlaubt. Andernfalls führen wir den Befehl return(0) aus;
Wir übergeben dem Schleppnetz auch das Zeichen, bei dem diese bestimmte Bestellung geschleppt werden soll, nicht eine andere, und unsere Variable als Schalter.

Was geschieht in diesem Fall? Solange der Preis nicht das Niveau des vorher festgelegten Gewinns erreicht hat, funktioniert das Schleppnetz per Definition nicht. Sobald er diesen erreicht, wird der Anschlag nach oben gezogen. Beim nächsten Tick stellt der EA fest, dass der erforderliche Auftrag einen Stop-Loss = seine offene Position hat und lässt das Schleppnetz nicht laufen - die Switch-Variable setzt ihn auf false.

Dies ist nicht der einfachste Weg, aber wenn Sie den Schleppnetzcode bereits fertig haben, ist es einfacher, dies zu tun, als den Code neu zu schreiben, zu debuggen, zu testen, zu verifizieren....

 
drknn писал(а) >>


In diesem Fall ist es sehr einfach - wir tun dies, indem wir ein Standard-Schleppnetz in den EA einbetten, aber es geht zuletzt in die start()-Funktion. Davor sollte ein Konstrukt stehen, das den folgenden Algorithmus verwendet
- Deklarieren Sie eine boolesche Variable und weisen Sie ihr den Wert "False" zu.
- Finden Sie unsere Bestellung. Prüfen Sie, ob der Stop-Loss niedriger ist als die offene Position, dann weisen wir unserer booleschen Variablen den Wert "True" zu, d.h. das Trawl ist erlaubt. Andernfalls führen wir den Befehl return(0) aus;
Wir übergeben dem Schleppnetz auch das Zeichen, bei dem diese bestimmte Bestellung geschleppt werden soll, nicht eine andere, und unsere Variable als Schalter.

Was geschieht in diesem Fall? Solange der Preis nicht das Niveau des vorher festgelegten Gewinns erreicht hat, funktioniert das Schleppnetz per Definition nicht. Sobald er diesen erreicht, wird der Anschlag nach oben gezogen. Beim nächsten Tick stellt der Expert Advisor fest, dass der erforderliche Auftrag einen Stop-Loss = seine offene Position hat und lässt das Schleppnetz nicht laufen - die Switch-Variable setzt ihn auf false.

Dies ist nicht der einfachste Weg, aber wenn Sie den Schleppnetzcode bereits fertig haben, ist es einfacher, dies zu tun, als den Code neu zu schreiben, zu debuggen, zu testen, zu verifizieren....


Vielen Dank für Ihren Kommentar, aber ich lerne gerade erst zu programmieren, daher habe ich noch keinen einfachen Expert Advisor geschrieben.
Wenn ich Zeit habe, werde ich Ihren Tipp auf jeden Fall anwenden - ich habe den Code von trawl parat.
 
alex12 >>:


Большое Вам спасибо за комментарий.Но я еще только учусь программировать и пока что не написал ни одного простого советника.
На досуге обязательно воспользуюсь Вашей подсказкой - готовый код трала у меня есть.


Erstellen Sie einen neuen EA im Editor. In der Funktion start() schreiben Sie Folgendes:
Alert("Bid = ",Bid);
Stellen Sie sie zusammen und tragen Sie sie in die Tabelle ein. Infolgedessen erscheint bei jedem Tick ein Fenster mit der Nachricht über das aktuelle Gebot.
Der einfache Expert Advisor ist erstellt worden. Das Wichtigste, was uns das zeigt, ist, dass der Code des EA bei jedem Tick neu gestartet wird.
Die Funktion OrderSend() wird zur Eröffnung von Aufträgen verwendet. Normalerweise führt der Programmierer vor der Verwendung den Code aus, der den Fluss der letzten Kerzen analysiert und feststellt, wo der Auftrag geöffnet werden muss.
Um die Parameter der in der Sprache eingebetteten Funktionen schnell zu finden, setzen Sie den Mauszeiger irgendwo zwischen die Buchstaben des Funktionsnamens und drücken Sie F1 oder Strg+F1 - die Kontexthilfe für die Sprachfunktion öffnet sich am unteren Rand des Codefensters.
 
drknn писал(а) >>

Erstellen Sie einen neuen EA im Editor. In der Funktion start() schreiben Sie Folgendes:
Stellen Sie sie zusammen und tragen Sie sie in die Tabelle ein. Infolgedessen erscheint bei jedem Tick ein Fenster mit der Nachricht über das aktuelle Gebot.
Der einfache Expert Advisor ist erstellt worden. Das Wichtigste, was uns das zeigt, ist, dass der Code des EA bei jedem Tick neu gestartet wird.
Die Funktion OrderSend() wird zur Eröffnung von Aufträgen verwendet. Bevor der Programmierer sie einsetzt, beginnt er in der Regel damit, den Verlauf der letzten Candlesticks zu analysieren und herauszufinden, wo er die Order eröffnen sollte.
Um die Parameter der in der Sprache eingebetteten Funktionen schnell zu finden, sollte man den Mauszeiger irgendwo zwischen die Buchstaben des Funktionsnamens setzen und F1 oder Strg+F1 drücken - die Kontexthilfe für die Sprachfunktion wird am unteren Rand des Codefensters geöffnet.
Danke - ich wollte schon lange zumindest etwas einfache, fehlerfreie EAs schreiben, die funktionieren.
 

Hallo!

Ich habe eine Frage an alle Mitglieder des Forums und an die Verantwortlichen für das Material auf dieser Website.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Unter diesem Link https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/envelopes

Ganz unten auf der Seite befindet sich ein Warnhinweis:

Warnung: Alle Rechte an diesen Materialien sind der MetaQuotes Software corp. vorbehalten.

Die Vervielfältigung im Ganzen oder in Teilen ist untersagt.

Frage:Ich muss in meinem EA diesen Indikator verwenden - Hüllkurven, aber nach dem Lesen der Warnung

Ich weiß nicht genau, was ich tun soll.

Auf der Website der Meta Quotes Software corp. für Kontakte gibt es nur eine Telefonnummer, keine Postanschrift - es wird also schwierig sein, sie zu kontaktieren.

- Deshalb habe ich die Frage hier gestellt.

Für wen genau und unter welchen Bedingungen gilt die oben genannte Warnung?

Grund der Beschwerde: