Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools  
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4331
Beiträge: 39798
Benutzer: 6.660
Aktive Benutzer: 206
Links: 80
Wir begrüßen unseren neuesten Benutzer: amin233
Mit 1.311 Benutzern waren die meisten Benutzer gleichzeitig online (16.09.19 um 01:18).
Neue Benutzer:
vor 3 Tagen
- amin233
vor 3 Tagen
- foo
vor 4 Tagen
- ecollabora...
vor 6 Tagen
- karakar
vor 6 Tagen
- exesor

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 277
Gesamt: 278
Team: 0
Team:  
Benutzer:  Domke01
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 4 Wochen
Neues Mitglied
 
Registriert seit: May 2018
Beiträge: 4
tagtrampler befindet sich auf einem aufstrebenden Ast
Standard 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
Mit Zitat antworten
  #2 (permalink)  
Alt vor 4 Wochen
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 31
Bayreuther befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von tagtrampler Beitrag anzeigen
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.
Mit Zitat antworten
  #3 (permalink)  
Alt vor 4 Wochen
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 31
Bayreuther befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von tagtrampler Beitrag anzeigen
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?
Mit Zitat antworten
  #4 (permalink)  
Alt vor 4 Wochen
Neues Mitglied
 
Registriert seit: May 2018
Beiträge: 4
tagtrampler befindet sich auf einem aufstrebenden Ast
Standard

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
Mit Zitat antworten
  #5 (permalink)  
Alt vor 3 Wochen
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 31
Bayreuther befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von tagtrampler Beitrag anzeigen
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.
Angehängte Dateien
Dateityp: mq4 Test_EA.mq4 (2,8 KB, 2x aufgerufen)
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bestimmung von lots


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr.


Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2019 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------