Themen Bewertung:
  • Aktuell 5.00/5

Autor Thema: Im EA prüfen, ob zu dem Preis bereits eine offene Order besteht.  (Gelesen 261 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

  • Forumsneuling
  • **
    • Beiträge: 4
    • Karma: +0/-0
    • Mitglied seit:
      29 Jul 2010

  • Stop
Hallo,
 
bin neu im mql Coden und gerade dabei einen EA zu Coden, der viele Orders absetzt.
Aber, damit zum gleichen Preis nicht noch mal eine Order abgesetzt wird soll überprüft werden, ob schon eine existiert.

Das ist die Zeile, bei, in der eine Order abgesetzt wird
Code: Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
   double Ticket1 = OrderSend(Symbol(), OP_BUY, Lots, Ask, 5, 0, Ask+TP*Point, "Buy(#" + 1 + ")", 1, 0, DodgerBlue) ;
Gibt es in mql4 irgend eine Konstruktion, in etwa so:
Code: Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
if (existingOpenOrderPrice!=Ask) {
   double Ticket1 = OrderSend(Symbol(), OP_BUY, Lots, Ask, 5, 0, Ask+TP*Point, "Buy(#" + 1 + ")", 1, 0, DodgerBlue) ;
}
Oder wie kann ich das Testen, ob aktuell zu dem Preis eine offene noch nicht geschlossene Order existiert?

Nicht weil es schwer ist wagen wir es nicht... Oftmals scheint es viel schwerer als es ist, weil wir es nicht wagen.

  • Gelegenheitsschreiber
  • *
    • Beiträge: 57
    • Karma: +30/-0
    • Mitglied seit:
      25 Sep 2009
  • Broker: ActivTrades

  • Stop
Re: Im EA prüfen, ob zu dem Preis bereits eine offene Order besteht.
« Antwort #1 am: Dezember 13, 2011, 11:54:11 am »
Das geht z.B. so:

Code: Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
bool OrderimMarkt = false;

for(int i = 0; i < OrdersTotal( ); i++)
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
      if(OrderSymbol() == Symbol())
         if(OrderOpenPrice() == Ask)
            OrderimMarkt = true;

if(OrderimMarkt == false)
{
   // neue Order öffnen, etc.
}
« Letzte Änderung: Dezember 13, 2011, 11:55:42 am von TTSolo »
Nimm was du kriegen kannst! Und gib nichts wieder zurück!

  • Forumsneuling
  • **
    • Beiträge: 4
    • Karma: +0/-0
    • Mitglied seit:
      29 Jul 2010

  • Stop
Re: Im EA prüfen, ob zu dem Preis bereits eine offene Order besteht.
« Antwort #2 am: Dezember 13, 2011, 12:10:09 pm »
Na das ging ja fix mit der Antwort, danke!  ;D
Nicht weil es schwer ist wagen wir es nicht... Oftmals scheint es viel schwerer als es ist, weil wir es nicht wagen.

  • FORENTROLL
  • Sponsor
  • Extremschreiber
  • *
    • Beiträge: 625
    • Karma: +249/-5
    • Mitglied seit:
      05 Jan 2011
    • just trading
  • Broker: diverse

  • Stop
Re: Im EA prüfen, ob zu dem Preis bereits eine offene Order besteht.
« Antwort #3 am: Dezember 13, 2011, 15:11:27 pm »
Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
bin neu im mql Coden und gerade dabei einen EA zu Coden, der viele Orders absetzt.
Aber, damit zum gleichen Preis nicht noch mal eine Order abgesetzt wird soll überprüft werden, ob schon eine existiert.

Nun ja, würde der Preis sich auch nur um einen Pip (4-digit) oder nur eine Pipette (oder wie das 5. digit bei 5-digitbrokern heißt) ändern, würde der EA sofort noch eine order rauskloppen.


  • Gehört zum Inventar
  • ***
    • Beiträge: 1084
    • Karma: +429/-4
    • Mitglied seit:
      31 Dec 2008
  • Broker: RBS

  • Stop
Re: Im EA prüfen, ob zu dem Preis bereits eine offene Order besteht.
« Antwort #4 am: Dezember 13, 2011, 22:26:09 pm »
Zur Vollständigkeit und korrekten Abwicklung, da Buy- und Sell-Orders bei unterschiedlichen! Preises geöffnet werden:
Code: Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
bool BuyOrderimMarkt = false;
bool SellOrderimMarkt = false;

for(int i = 0; i < OrdersTotal( ); i++) {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if(OrderSymbol() == Symbol()) {
         if(OrderType() == OP_BUY && OrderOpenPrice() == Ask)  BuyOrderimMarkt = true;
         if(OrderType() == OP_SELL && OrderOpenPrice() == Bid) SellOrderimMarkt = true;
      }
   }
}
           
if(!BuyOrderimMarkt) {
   // neue Buy-Order öffnen, etc.
}

if(!SellOrderimMarkt) {
   // neue Sell-Order öffnen, etc.
}

Wie fxdaytrader bereits richtig bemerkte, wird ein neuer Trade geöffnet, sobald geringste Abweichungen im Kurs bestehen. Wäre das sinnvoll?

traderdoc
Pokerregel: "Auch bei dem Anschein eines sicheren Gewinnes, muss man ablassen können."


GoogleTagged - Stichworte

 

Ähnliche Themen

  Betreff / Begonnen von Antworten Letzter Beitrag
16 Antworten
1092 Aufrufe
Letzter Beitrag Juli 16, 2010, 22:14:16 pm
von Optimierer
1 Antworten
272 Aufrufe
Letzter Beitrag November 14, 2010, 20:47:21 pm
von PriNova
6 Antworten
625 Aufrufe
Letzter Beitrag Februar 19, 2011, 09:21:03 am
von sek_is_back
4 Antworten
220 Aufrufe
Letzter Beitrag August 14, 2011, 22:14:10 pm
von MANDL2007
9 Antworten
430 Aufrufe
Letzter Beitrag September 17, 2011, 21:12:50 pm
von philboi
2 Antworten
246 Aufrufe
Letzter Beitrag Oktober 25, 2011, 09:05:33 am
von Rainbowtrader
26 Antworten
758 Aufrufe
Letzter Beitrag Dezember 11, 2011, 02:02:35 am
von jwah
1 Antworten
79 Aufrufe
Letzter Beitrag März 18, 2012, 18:24:50 pm
von divebubble


ChartTec´s World Topsites