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.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3824
Beiträge: 36909
Benutzer: 6.077
Aktive Benutzer: 493
Links: 80
Wir begrüßen unseren neuesten Benutzer: Batangenyo
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 19 Stunden
- Batangenyo
vor einem Tag
- Spitzmaus
vor einem Tag
- juleslesqu...
vor 2 Tagen
- hmf44
vor 3 Tagen
- Crossa

Onlineuser
'Wer ist online' anzeigen Benutzer: 2
Gäste: 42
Gesamt: 44
Team: 0
Team:  
Benutzer:  cutson, HansIggO
Freunde anzeigen

Empfehlungen

Werbung

Like Tree2Likes
  • 1 Post By traderdoc
  • 1 Post By fxdaytrader
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 23.04.14
Mitglied
 
Registriert seit: Mar 2014
Beiträge: 39
Richi777 befindet sich auf einem aufstrebenden Ast
Standard Bei Trendsignal nur eine Order öffnen aber nach geschlossene öffnet wieder eine!?

Hallo Leute,

nachdem ich meine ersten EA super hinbekommen habe, der allerdings nur auf bestimmte Zeitfenster reagiert, bastel ich gerade an einen neuen, der 24 h laufen soll.....

Folgendes Problem habe ich:

Wie im Titel beschrieben, soll nach long- oder short-Signal nur eine Buy- bzw. Sell-Order geöffnet werde bis zum Trendwechsel.
Eigentlich sollte es funktionieren aber nach jedem geschossene Order öffnet sich eine.
Hier der Code--->

Code:
int offeneorders= 0;

int anzahlorders=OrdersTotal();

   for(i=0;i<anzahlorders;i++) 
     {
      if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) 
      
       if (OrderSymbol()== Symbol()&& OrderMagicNumber()==MagicNumber) 
            {
             offeneorders++;
            }       
        } 
     
//-------------------------------------------------------------------+
    if(offeneorders == 0 ) {   
    
      if(signal ==  "long")
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,Ask-StopLoss*Point,Ask+TakeProfit*Point,"Buy",MagicNumber,0,Green);

         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Kauforder geöffnet : ",OrderOpenPrice());       
           }
         else Print("Error opening BUY order : ",GetLastError(), kauf); 
         return(0); 
        }
        
//+------------------------------------------------------------------+

      if(signal == "short" )
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,Bid+StopLoss*Point,Bid-TakeProfit*Point,"Sell",MagicNumber,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
           }
         else Print("Error opening SELL order : ",GetLastError(), kauf); 
         return(0); 
        }
      return(0);
     

}
Vielleicht habe ich etwas übersehen aber momentan drehe ich am Rad.

Bitte um Hilfe.
  #2 (permalink)  
Alt 23.04.14
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Richi777 Beitrag anzeigen
Hallo Leute,

nachdem ich meine ersten EA super hinbekommen habe, der allerdings nur auf bestimmte Zeitfenster reagiert, bastel ich gerade an einen neuen, der 24 h laufen soll.....

Folgendes Problem habe ich:

Wie im Titel beschrieben, soll nach long- oder short-Signal nur eine Buy- bzw. Sell-Order geöffnet werde bis zum Trendwechsel.
Eigentlich sollte es funktionieren aber nach jedem geschossene Order öffnet sich eine.
Hier der Code--->

Code:
int offeneorders= 0;

int anzahlorders=OrdersTotal();

   for(i=0;i<anzahlorders;i++) 
     {
      if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) 
      
       if (OrderSymbol()== Symbol()&& OrderMagicNumber()==MagicNumber) 
            {
             offeneorders++;
            }       
        } 
     
//-------------------------------------------------------------------+
    if(offeneorders == 0 ) {   
    
      if(signal ==  "long" && !BuyOrder)
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,Ask-StopLoss*Point,Ask+TakeProfit*Point,"Buy",MagicNumber,0,Green);

         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Kauforder geöffnet : ",OrderOpenPrice());
            BuyOrder = true;
            SellOrder = false;
           }
         else Print("Error opening BUY order : ",GetLastError(), kauf); 
         return(0); 
        }
        
//+------------------------------------------------------------------+

      if(signal == "short" && !SellOrder)
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,Bid+StopLoss*Point,Bid-TakeProfit*Point,"Sell",MagicNumber,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
            SellOrder = true;
            BuyOrder = false;
           }
         else Print("Error opening SELL order : ",GetLastError(), kauf); 
         return(0); 
        }
      return(0);
     

}
Vielleicht habe ich etwas übersehen aber momentan drehe ich am Rad.

Bitte um Hilfe.

Viel Erfolg!

traderdoc
Richi777 likes this.
  #3 (permalink)  
Alt 23.04.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

Du mußt dann nur bei Vorliegen eines erneuten Signals (an dem dann auch gekaufto der verkauft werden soll) BuyOrder und SellOrder jeweils wieder auf false setzen.
Richi777 likes this.
__________________
krank im Kopf aber sonst ganz nett
build 509 mql4 editor download
  #4 (permalink)  
Alt 23.04.14
Mitglied
 
Registriert seit: Mar 2014
Beiträge: 39
Richi777 befindet sich auf einem aufstrebenden Ast
Standard

@ Traderdoc--->Echt Super. Es funktioniert wie es soll. Danke.
Thema geschlossen

Lesezeichen

Stichworte
mql4, nur eine order, order, order limit, order öffnen, programmierung, programmierung metatrader, trend, trend order, trendsignal


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 12:21 Uhr.



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