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: 43248
Benutzer: 7.220
Aktive Benutzer: 82
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 2 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 18.09.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 62
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
  #2 (permalink)  
Alt 18.09.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht weil er mit 0 anfängt zu zählen?
  #3 (permalink)  
Alt 18.09.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 62
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 19:10 Uhr)
  #4 (permalink)  
Alt 18.09.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
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.
  #5 (permalink)  
Alt 19.09.18
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
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---
  #6 (permalink)  
Alt 19.09.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 62
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
  #7 (permalink)  
Alt 19.09.18
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
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 17:45 Uhr)
  #8 (permalink)  
Alt 19.09.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 62
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
Thema geschlossen

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 +1. Es ist jetzt 00:48 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.
-----------------------------------------------------------------------------------------------------------------------------