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: 4099
Beiträge: 38723
Benutzer: 6.388
Aktive Benutzer: 221
Links: 80
Wir begrüßen unseren neuesten Benutzer: fynnfx
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 18:12).
Neue Benutzer:
vor einem Tag
- fynnfx
vor 4 Tagen
- Oppus...
vor 4 Tagen
- justme177
vor 4 Tagen
- DanielF
vor einer Woche
- haschmat

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 58
Gesamt: 58
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 18.09.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 42
Hippo25 befindet sich auf einem aufstrebenden Ast
Standard Anzahl der gesamt Order beschränken

Hallo

Mein EA macht immer 3 Orders auf statt 2
PHP-Code:
AnzahlOrders OrdersTotal();
if  (  
AnzahlOrders <= )
 { 
LongOrder OrderSend(Symbol(),OP_BUY,Lots,Ask,12,SLStartwert,TPStartwert ,"MAXing Long",Magic,0,Green);} 
Er öffnet immer eine Order mehr als ich eingebe . Weiß einer von euch warum ??

Hippo
Mit Zitat antworten
  #2 (permalink)  
Alt 18.09.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 696
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht weil er mit 0 anfängt zu zählen?
Mit Zitat antworten
  #3 (permalink)  
Alt 18.09.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 42
Hippo25 befindet sich auf einem aufstrebenden Ast
Standard

Hallo MaEa
Deine Antwort wurde getestet und für richtig befunden.

Juhu, statt <= ein < und Problem ist erledigt.

Danke


PS kurze Hintergrund Info
OrdersTotal() gibt die Orderanzahl beginnend mit 1 aus. Der EA muss aber die 0 mit zählen. also wenn man 2 Order haben will dann <2.
ich gehe davon aus das da nur die höchste benutzten Position ( die ja bei 0 Beginnt ) abgegriffen wird. Ich gehe ferner davon aus , das die Funktion OrdersTotal() die Anzahl iumwandelt in ab 1 Aufwärtszählend

Geändert von Hippo25 (18.09.18 um 20:10 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 18.09.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.134
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Hippo25 Beitrag anzeigen
Hallo MaEa
Deine Antwort wurde getestet und für richtig befunden.

Juhu, statt <= ein < und Problem ist erledigt.

Danke


PS kurze Hintergrund Info
OrdersTotal() gibt die Orderanzahl beginnend mit 1 aus. Der EA muss aber die 0 mit zählen. also wenn man 2 Order haben will dann <2.
ich gehe davon aus das da nur die höchste benutzten Position ( die ja bei 0 Beginnt ) abgegriffen wird. Ich gehe ferner davon aus , das die Funktion OrdersTotal() die Anzahl iumwandelt in ab 1 Aufwärtszählend
Ne, die wandelt gar nichts um. Wenn keine Order offen oder keine PendingOrder gesetzt ist, dann ist nun mal OrdersTotal() = 0.
Ganz einfach.

Die Abfrage über
AnzahlOrders = OrdersTotal();
zu steuern, birgt natürlich die Gefahr, falls andere EAs Orders öffnen oder händisch Orders geöffnet werden, zählen die alle mit und dann wird ggf. gar nichts geöffnet, weil OrdersTotal() eben größer als 2 ist.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #5 (permalink)  
Alt 19.09.18
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 282
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Hippo25 Beitrag anzeigen
Hallo

Mein EA macht immer 3 Orders auf statt 2
PHP-Code:
AnzahlOrders OrdersTotal();
if  (  
AnzahlOrders <= )
 { 
LongOrder OrderSend(Symbol(),OP_BUY,Lots,Ask,12,SLStartwert,TPStartwert ,"MAXing Long",Magic,0,Green);} 
Er öffnet immer eine Order mehr als ich eingebe . Weiß einer von euch warum ??

Hippo
Hier liegt ein Logikfehler vor, weil auch wenn bereits 2 Orders offen sind (AnzahlOrders <= 2)wird noch eine Order eröffnet.

Logisch richtig wäre wenn AnzahlOrders < 2!

Und das mit OrdersTotal() hat @traderdoc bereits erklärt.

---Leopold---
Mit Zitat antworten
  #6 (permalink)  
Alt 19.09.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 42
Hippo25 befindet sich auf einem aufstrebenden Ast
Standard

Allso ist <= 2 3 Order
und < 2 sind 2 Order OK wo ist da die Logik

Kleiner 2 ist bei Ganzzahlen 1 oder 0 ( natürlich auch -zahlen )
Sinn mach dies nur wenn er bei 0 anfängt zu Zählen.

Dann dürfte er bei Ordertotal ( 2 Orders ( im normalen zählen )) nur 1 anzeigen ( zeigt aber 2 an ) . Beides ist aber nicht normal vereinbar. Allso muss die funktion Orderstotal die Ausgabe anpassen

Hippo
Mit Zitat antworten
  #7 (permalink)  
Alt 19.09.18
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 282
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Hippo25 Beitrag anzeigen
Allso ist <= 2 3 Order
und < 2 sind 2 Order OK wo ist da die Logik

Kleiner 2 ist bei Ganzzahlen 1 oder 0 ( natürlich auch -zahlen )
Sinn mach dies nur wenn er bei 0 anfängt zu Zählen.

Dann dürfte er bei Ordertotal ( 2 Orders ( im normalen zählen )) nur 1 anzeigen ( zeigt aber 2 an ) . Beides ist aber nicht normal vereinbar. Allso muss die funktion Orderstotal die Ausgabe anpassen

Hippo
Entschuldige aber das ist absoluter Blödsinn!

Stell dir mal die Frage wie viele Orders offen sein dürfen damit noch eine weitere (Zweite) eröffnet werden kann? 1 oder 2?

Ich hoffe deine Antwort ist 1!!

In deinem Code darf eine Order eröffnet werden wenn OrdersTotal() <= 2, also auch wenn bereits 2 Orders offen sind. Und 2 + 1 ist nunmal 3. Wenn man sich dessen nicht bewusst ist, könnte es vielleicht unlogisch wirken.

@MA-EA: Bitte unterlasse in Zukunft solche Verwirrungen wenn du dich nicht auskennst!!

---Leopold---

Geändert von Leopold (19.09.18 um 18:45 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 19.09.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 42
Hippo25 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Leopold

Ja du hast recht grosser EA Meister . Ich krieche zu Kreuze und werde MaEa sofort in die Arena schicken . << die Löwen haben hunger. >>

Aber im ernst . Vielleich merkt man das alter doch. . Aber ich werde weiter machen.

gruss hippo
Mit Zitat antworten
Antwort

Lesezeichen


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 +2. Es ist jetzt 18:34 Uhr.


Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2018 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.
-----------------------------------------------------------------------------------------------------------------------------