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: 43265
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 11 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: 0
Gäste: 447
Gesamt: 447
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 23.03.17
Neues Mitglied
 
Registriert seit: Oct 2016
Ort: Weimar
Beiträge: 17
bigborre befindet sich auf einem aufstrebenden Ast
Standard Anfängerfrage zu OrderSelect und MagicNumber

Hi,

nachdem ich nun schon eine Weile gesucht habe mal eine, glaube ich einfache Frage.

Ich möchte immer am Vorwochenhoch eine Order in den Markt legen.
Das bekomme ich auch hin, leider legt mein EA diese Order nun bei jedem TICK neu in den Markt.

Also dachte ich mir, ich setze eine IF Abfrage davor wenn schon eine Order mit meiner MagicNumber existiert dann soll mein EA keine neue Order senden.

Die Funktion OrderSelect() bietet mir aber nicht die Möglichkeit nach einer Magic Number zu selektieren sondern nur nach TicketNummer oder Position.

Die Position kenne ich nicht und die Ticketnummer will ich eigentlich nicht speichern da für mich ja nur die MagicNumber aussagekräftig ist.

Jetzt meine Frage habe ich die Funktion OrderSelect() richtig verstanden? Das würde bedeuten das ich mir die Ticket Nummer merken müßte oder?

Danke schon einmal!
  #2 (permalink)  
Alt 23.03.17
Neues Mitglied
 
Registriert seit: Feb 2017
Beiträge: 18
KeepItEasy befindet sich auf einem aufstrebenden Ast
Standard

Du musst zunächst alle offenen Orders mit einer for-Schleife durchlaufen
und dabei mit if prüfen, ob eine "passende" dabei ist, i.d.R. indem Du die
MagicNumber abfragst. Anhand dessen wird entschieden, ob eine Order
geöffnet wird.

Hier einige Code-Fragmente, wie das meistens gemacht wird:

bool SchonEineOrderGeoeffnet = false;

for(int zaehler=0;zaehler<OrdersTotal();zaehler++)
{
OrderSelect(zaehler,SELECT_BY_POS,MODE_TRADES);
if(OrderType() == OP_BUY && OrderMagicNumber() == MagicNummer)
SchonEineOrderGeoeffnet = true;
else if(OrderType()== OP_SELL && OrderMagicNumber() == MagicNummer)
SchonEineOrderGeoeffnet = true;
}
if(SchonEineOrderGeoeffnet == false)
{
Funktion, die dann eine Order öffnet.
}
  #3 (permalink)  
Alt 23.03.17
Neues Mitglied
 
Registriert seit: Oct 2016
Ort: Weimar
Beiträge: 17
bigborre befindet sich auf einem aufstrebenden Ast
Standard

Danke für deine schnelle Antwort. Erscheint mir sehr umständlich aber wenn der MT4 das nur so her gibt dann machen wir das so.

Na ich werd mir das in eine kleine Unterfunktion packen....

Gruß

Ich habs mal so umgesetzt:
Code:
bool MagicNumberOpen(int MagicNumber)
   {
      for(int zaehler=0;zaehler<OrdersTotal();zaehler++)
      {
         OrderSelect(zaehler,SELECT_BY_POS,MODE_TRADES);
         if(OrderMagicNumber() == MagicNumber)
           return true;
         else
           return false;          
      }
      return false;
   
   }

Geändert von bigborre (23.03.17 um 17:57 Uhr)
Thema geschlossen

Lesezeichen

Stichworte
magic, magicnumber, mql4, number, orderselect, programmierung, programmierung metatrader, programmierung mql4

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 09:31 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.
-----------------------------------------------------------------------------------------------------------------------------