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: 4973
Beiträge: 43266
Benutzer: 7.220
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 12 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 3 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 434
Gesamt: 435
Team: 0
Team:  
Benutzer:  murkel
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 29.11.16
Neues Mitglied
 
Registriert seit: Nov 2016
Beiträge: 7
akuh befindet sich auf einem aufstrebenden Ast
Standard EA öffnet zu viele Orders trotz Begrenzung

Hallo Expert Forum

Ich habe eine Frage bzgl meines EAs. Der angehängte EA öffnet trotz LastOrder = 1 vielzuviele Orders im Backtesting und ich finde den Auslöser im Code nicht. Sieht evtl. von euch jemand den Grund ? Sonst macht der Code was er soll.

Viele Grüsse

akuh
Angehängte Dateien
Dateityp: mq4 Probe_EA_1.mq4 (17,8 KB, 17x aufgerufen)
  #2 (permalink)  
Alt 29.11.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Für die Anzahl der zu öffnenden Orders pro WP ist nicht LastOrder verantwortlich, sondern der Wert der Variablen MaxOrders.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 29.11.16
Neues Mitglied
 
Registriert seit: Nov 2016
Beiträge: 7
akuh befindet sich auf einem aufstrebenden Ast
Standard

Hmm ok. Aber MaxOrders habe ich mit dem Wert 1 festgelegt. Dennoch eröffnet der EA die vielen Order.

akuh
  #4 (permalink)  
Alt 29.11.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ja, da hat der Progger was vergessen:

Ticket = OrderSend ( Symbol(), OP_BUY, Lots, Ask, Slippage, Ask - ( StopLoss * Point ), Ask + ( TakeProfit * Point ), NULL, Magic, 0, Green);

und

Ticket = OrderSend ( Symbol(), OP_SELL, Lots, Bid, Slippage, Bid + ( StopLoss * Point ), Bid - ( TakeProfit * Point ), NULL, Magic, 0, Red);

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #5 (permalink)  
Alt 29.11.16
Neues Mitglied
 
Registriert seit: Nov 2016
Beiträge: 7
akuh befindet sich auf einem aufstrebenden Ast
Standard

Ah perfekt dankeschön. Jetzt klappts !

akuh
  #6 (permalink)  
Alt 30.11.16
Neues Mitglied
 
Registriert seit: Nov 2016
Beiträge: 7
akuh befindet sich auf einem aufstrebenden Ast
Standard

Ich habe noch eine Frage bzgl des Auslesens von Symbolen/Werte aus Indicatoren mittels iCustom(). Ich möchte z.b aus dem folgenden aungehängten Indikator nur den Pfeil auslesen, d.h sobald ein Pfeil nach oben auftauchte soll ein buy signal gesendet werden und umgekehrt. Es geht mir nun drum wie ich diese Information auslese.
Wird der Wert über den SetIndexBuffer() ausgelesen ? Wenn ja welchen Wert nimmt doubleA,B an, also welchen Wert gibt die FUnktion iCustom() aus ?

double A = iCustom(NULL,0,"Indicator1",1,1);
double B = iCustom(NULL,0,"Indicator1",0,1);

RefreshRates(); // RefreshRate() update Bid and Ask value.

if ( ( Ask - Bid ) / Point < MaxSpread ) { // Checking, if spread is less than MaxSpread from inputs. If its Bigger, orders wont open

// Replace 1 == 0 to your conditions to buy order.
if ( A ==1 && LastOrder != 1 ) { // LastOrder!= 1 prevent script from making a lot of same buy orders
Ticket = OrderSend ( Symbol(), OP_BUY, Lots, Ask, Slippage, Ask - ( StopLoss * Point ), Ask + ( TakeProfit * Point ), NULL, Magic, 0, Green);
LastOrder = 1; // It prevent script from making a lot of same buy orders
}

// Replace 1 == 0 to your conditions to buystop order.
if ( 1 == 0 && LastOrder != 1 ) { // LastOrder!= 1 prevent script from making a lot of same buystop orders
Ticket = OrderSend ( Symbol(), OP_BUYSTOP, Lots, Ask + ( Pips * Point ), Slippage, Ask + ( Pips * Point ) - ( StopLoss * Point ), Ask - ( Pips * Point ) + ( TakeProfit * Point ), NULL, Magic, TimeCurrent() + ( 60 * Mins ), Green);
LastOrder = 1; // It prevent script from making a lot of same buy orders
}

// Replace 1 == 0 to your conditions to sell order.
if ( B == 0 && LastOrder != 0 ) { // LastOrder!= 0 prevent script from making a lot of same sell orders
Ticket = OrderSend ( Symbol(), OP_SELL, Lots, Bid, Slippage, Bid + ( StopLoss * Point ), Bid - ( TakeProfit * Point ), NULL, Magic, 0, Red);
LastOrder = 0; // It prevent script from making a lot of same sell orders

Gruss

akuh
Angehängte Dateien
Dateityp: mq4 Indicator1.mq4 (4,2 KB, 2x aufgerufen)
Thema geschlossen

Lesezeichen

Stichworte
ea, expert advisor, mql4, programmierung, programmierung metatrader, programmierung mql4, zuviele orders, öffnet zuviele order

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 11:00 Uhr.





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