[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 572
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Versucht, einen EA zu erstellen, der auf einer Münze basiert, Kopf kaufen, Schwanz verkaufen. Aber es funktioniert nicht. Beim Testen in einem Fenster gibt es eine Aufschrift: Beim Öffnen der Bestellung Fehler 131, in der Anwendung sah - es ist nicht das richtige Volumen. Ich habe genau hingesehen, ich kann keinen Fehler finden. Überall steht ein Punkt, um den ganzzahligen Teil zu trennen, nicht ein Komma. Bitte um Hilfe. Der Code befindet sich in der Datei.
Versucht, einen EA zu erstellen, basierend auf Münze, Adler kaufen, Schwänze verkaufen. Aber es hat nicht funktioniert. Beim Testen bekam ich folgende Meldung im Fenster: Fehler 131 beim Öffnen der Bestellung, ich habe in der Anwendung nachgeschaut, es ist nicht das richtige Volumen. Ich habe genau hingesehen, ich kann keinen Fehler finden. Überall steht ein Punkt, um den ganzzahligen Teil zu trennen, nicht ein Komma. Bitte um Hilfe. Der Code befindet sich in der Datei.
verwenden:
MinLot= MarketInfo( symbol(),MODE_MINLOT )// Kleinstmögliche Losgröße
StepLot= MarketInfo( symbol(),MODE_STEPLOT )// Minimaler Schritt der Losänderung
Lot sollte >= MinLot sein und mit Lot=NormalizeDouble(Lot,Dig) normalisiert werden;
wobei Dig = Anzahl der Stellen nach dem Komma StepLota, d.h. StepLot=0.01 - Dig=2 ... StepLot=0.1 - Dig=1 .....
Zum Beispiel mit MinLot=0,1 und StepLot=0,01:
Die Menge kann 0,1, 0,11, 0,12 usw. betragen. Aber es kann nicht 0,99, 0,98 und schon gar nicht 0,998, 0,999, 0,111, 0,101 sein.
verwenden:
MinLot= MarketInfo( symbol(),MODE_MINLOT )// Kleinstmögliche Losgröße
StepLot= MarketInfo( symbol(),MODE_STEPLOT )// Minimaler Schritt der Losänderung
Lot sollte >= MinLot sein und mit Lot=NormalizeDouble(Lot,Dig) normalisiert werden;
wobei Dig=Anzahl der_Ziffern_nach_Post StepLota, d.h. StepLot=0,01 - Dig=2 ... StepLot=0.1 - Dig=1 .....
Zum Beispiel mit MinLot=0,1 und StepLot=0,01:
Die Menge kann 0,1, 0,11, 0,12 usw. betragen. Aber es kann nicht 0,99, 0,98 und schon gar nicht 0,998, 0,999, 0,111, 0,101 sein.
Zum Beispiel mit MinLot=0,1 und StepLot=0,01:
Die Menge kann 0,1, 0,11, 0,12 usw. betragen. Aber es kann nicht 0,99 oder 0,98 sein.
Das gibt's doch nicht... wirklich?
88 oder 89 Mal die Partie um den Mindestschritt erhöhen. Zum Beispiel muss die Menge jeder weiteren geöffneten Position um den Mindestschritt erhöht werden. D.h., man addiert einfach den minimalen Losänderungsschritt zu dem Los der vorherigen Position. Die 98. zu eröffnende Position hat das Los 0,98, bzw. das Los der 99. Position wird um einen minimalen Schritt erhöht 0,98+0,01=0,99...
GlaubenSie, dass die DT sich mit einem solchen Los nicht abspeisen lässt?
Zum Beispiel mit MinLot=0,1 und StepLot=0,01:
Die Menge kann 0,1, 0,11, 0,12 usw. betragen. Aber es kann nicht 0,99 sein, 0,98
Das gibt's doch nicht... wirklich?
88 oder 89 Mal die Partie um den Mindestschritt erhöhen. Zum Beispiel muss die Menge jeder weiteren geöffneten Position um den Mindestschritt erhöht werden. D.h., man addiert einfach den minimalen Losänderungsschritt zu dem Los der vorherigen Position. Die 98. zu eröffnende Position hat das Los 0,98, bzw. das Los der 99. Position wird um einen minimalen Schritt erhöht 0,98+0,01=0,99...
Glauben Sie, dass Maklerunternehmen die Eröffnung einer solchen Partie nicht zulassen werden?
Verdammt, .... Natürlich falsch. Es kann nicht 0,09 sein, sondern 0,08.
Und dumm oder nicht dumm - das muss der EA-Autor entscheiden.
Nein, natürlich muss ich bei der Eröffnung des nächsten oder eines der folgenden Balken einen Kauf- oder Verkaufsauftrag erteilen. Und ich habe auch vor, nach einem Auftrag zu schließen, indem ich ihn nach der Anzahl der Punkte von der Eröffnung an zuordne.
Später (am Wochenende) werde ich hier den Code für die Eröffnung einer Marktorder posten - entweder Kauf oder Verkauf (nach Ihrer Wahl), bei Eröffnung einer neuen Kerze.
verwenden:
MinLot= MarketInfo( symbol(),MODE_MINLOT )// Kleinstmögliches Losvolumen
StepLot= MarketInfo( symbol(),MODE_STEPLOT )// Minimaler Schritt der Losänderung
Lot sollte >= MinLot sein und mit Lot=NormalizeDouble(Lot,Dig) normalisiert werden;
wobei Dig = Anzahl der Stellen nach dem Komma StepLota, d.h. StepLot=0.01 - Dig=2 ... StepLot=0.1 - Dig=1 .....
Zum Beispiel mit MinLot=0,1 und StepLot=0,01:
Die Menge kann 0,1, 0,11, 0,12 usw. betragen. Aber es kann nicht 0,99, 0,98 und schon gar nicht 0,998, 0,999, 0,111, 0,101 sein.
Übrigens habe ich nicht vor, diesen Expert Advisor zu benutzen, ich lerne gerade die Programmiersprache. Ich habe sogar aus Spaß beschlossen, zu sehen, wie es auf dem Testgerät funktioniert. Ich habe gerade gelesen, dass der Zufallszahlengenerator keine solchen Zufallszahlen ausgibt, da er sich selbst wiederholt. Das Problem scheint nicht in der falschen Schreibweise der Zahl zu liegen, sondern im Algorithmus, wo genau liegt das Problem?
Hilfe bei einem Problem.
Die Frage ist folgende: Ich habe eine Eulenschwalbe, die nach einer bestimmten Anzahl von Punkten in die Knie geht, aber mit einem neuen Majik. Es stellt sich heraus, dass das Signal öffnet ein oder drei Aufträge mit Majic = 1, dann minus das nächste Knie auf ein Signal2 öffnen ein oder drei Aufträge mit einem Majic 2 und so weiter.
So geht jedes Knie auf 1-3 Bestellungen mit seiner eigenen Majic.
Die Frage ist nun, wie man in einer Schleife die Reihenfolge der einzelnen Majics berechnen kann, ich habe es zum Beispiel so versucht
Wie wäre es damit:
Ich habe es nicht überprüft, ich habe es auf mein Knie gelegt...
Wie wäre es damit:
Ich habe es nicht überprüft, nur auf meinen Knien skizziert...