Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   erfundene Orders (http://www.expert-advisor.com/forum/showthread.php?t=6523)

tagtrampler 21.10.19 16:26

erfundene Orders
 
Hallo in die Runde,

nach zwei Tagen erfolglosen Analysierens und Ausprobierens bin ich komplett ratlos.

Es stellt sich folgende Aufgabe:

Der EA soll das Ordervolumen (Stückzahl) automatisch errechnen. Dies soll mit diesem Abschnitt erfolgen:
double acb=AccountBalance();
double zw=acb-80;
double an=zw/8;
double oan=MathFloor(an);
double osan=oan/100;

Die Variable osan wird dann als Stückzahl-Angabe in einer OrderSend-Anweisung verarbeitet.

Dieser EA funktioniert auch erwartungsgemäß.
Allerdings "erfindet" der EA noch eine weitere Order, die absurde Parameter enthält und die ich nicht erklären kann.

Wie kann ich den EA davon abbringen, Orders zu "erfinden"? Und warum erzeugt der EA diese Orders?

Für Eure Hilfe bedanke ich mich schon im Voraus.


Viele Grüße

Bayreuther 21.10.19 20:05

Zitat:

Zitat von tagtrampler (Beitrag 42976)
Hallo in die Runde,

nach zwei Tagen erfolglosen Analysierens und Ausprobierens bin ich komplett ratlos.

Es stellt sich folgende Aufgabe:

Der EA soll das Ordervolumen (Stückzahl) automatisch errechnen. Dies soll mit diesem Abschnitt erfolgen:
double acb=AccountBalance();
double zw=acb-80;
double an=zw/8;
double oan=MathFloor(an);
double osan=oan/100;

Die Variable osan wird dann als Stückzahl-Angabe in einer OrderSend-Anweisung verarbeitet.

Dieser EA funktioniert auch erwartungsgemäß.
Allerdings "erfindet" der EA noch eine weitere Order, die absurde Parameter enthält und die ich nicht erklären kann.

Wie kann ich den EA davon abbringen, Orders zu "erfinden"? Und warum erzeugt der EA diese Orders?

Für Eure Hilfe bedanke ich mich schon im Voraus.


Viele Grüße

Ohne Programmcode ist das schwer zu sagen.
Einfach Code hier hochladen oder per Nachricht senden. Ich schau es mir dann an. ;)

Bayreuther 21.10.19 21:02

Zitat:

Zitat von tagtrampler (Beitrag 42976)
Der EA soll das Ordervolumen (Stückzahl) automatisch errechnen. Dies soll mit diesem Abschnitt erfolgen:
double acb=AccountBalance();
double zw=acb-80;
double an=zw/8;
double oan=MathFloor(an);
double osan=oan/100;

Die Variable osan wird dann als Stückzahl-Angabe in einer OrderSend-Anweisung verarbeitet.

Was willst Du mit der 80 und der 8 berechnen?

tagtrampler 22.10.19 21:17

Hallo in die Runde,

die 80 und 8 sollen sicherstellen, daß eine wirtschaftliche Reserve zurück bleibt.

Der ganze EA sieht so aus:
double eutb=NormalizeDouble(double(Bid-0.00020),5);
double euta=NormalizeDouble(double(Ask+0.00020),5);

double acb=AccountBalance();
double zw=acb-80;
double an=zw/8;
double oan=MathFloor(an);
double osan=NormalizeDouble(double(oan/100),2);

int euf=OrderSend("EURUSD",1,osan,Bid,20,0,eutb,NULL,1 ,0,clrGreen);
int eup=OrderSend("EURUSD",0,osan,Ask,20,0,euta,NULL,1 ,0,clrGreen);

Dieser EA lief auch schon einige Wochen ohne Probleme. Vor einigen Tagen erschienen dann die merkwürdigen Orders und Parameter.


Braucht Ihr noch weitere Informationen?


Viele Grüße

Bayreuther 23.10.19 09:36

Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von tagtrampler (Beitrag 42981)
Hallo in die Runde,

die 80 und 8 sollen sicherstellen, daß eine wirtschaftliche Reserve zurück bleibt.

Der ganze EA sieht so aus:
double eutb=NormalizeDouble(double(Bid-0.00020),5);
double euta=NormalizeDouble(double(Ask+0.00020),5);

double acb=AccountBalance();
double zw=acb-80;
double an=zw/8;
double oan=MathFloor(an);
double osan=NormalizeDouble(double(oan/100),2);

int euf=OrderSend("EURUSD",1,osan,Bid,20,0,eutb,NULL,1 ,0,clrGreen);
int eup=OrderSend("EURUSD",0,osan,Ask,20,0,euta,NULL,1 ,0,clrGreen);

Dieser EA lief auch schon einige Wochen ohne Probleme. Vor einigen Tagen erschienen dann die merkwürdigen Orders und Parameter.


Braucht Ihr noch weitere Informationen?


Viele Grüße

Hier ist der Code im Test_EA. Da kann ich im Backtest keine Order mit merkwürdigen Parametern finden.
Wichtig wäre, daß Du die Variable osan begrenzt, falls es Fehler in der Berechnung gibt.
Dann gibt es noch die MinimalenLots und MaximalenLots des Brokers. Diese sollten auch geprüft werden, um Fehler zu vermeiden.


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:37 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum