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: 4009
Beiträge: 38200
Benutzer: 6.322
Aktive Benutzer: 322
Links: 80
Wir begrüßen unseren neuesten Benutzer: Xypa
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 5 Stunden
- Xypa
vor 12 Stunden
- eisbaer
vor 13 Stunden
- EuroFXMast...
vor einem Tag
- Abdelaliii
vor 3 Tagen
- Cavalino

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

Empfehlungen

Like Tree1Likes
Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 4 Wochen
Neues Mitglied
 
Registriert seit: Jun 2018
Beiträge: 23
Hippo25 befindet sich auf einem aufstrebenden Ast
Standard Anzahl der orders ohne Stopploss und mit Magicnr

Hallo
Ich möchte die Anzahl der Orders ohne Stopploss ermitteln.

PHP-Code:
int offeneorders=0//Speichert die Anzahl der Orders zur späteren Verwendung

int anzahlorders=OrdersTotal();

   for(
zaehler=0;zaehler<anzahlorders;zaehler++) // for schleife
     
{
      
OrderSelect(zaehlerSELECT_BY_POSMODE_TRADES); // MODE_TRADES = offene und aufgegebene Orders
       // check offene Positionen, Symbol & MagicNumber
       
if (OrderSymbol()== Symbol())
        {
          if (
OrderMagicNumber()==MagicNumber
            {
             
offeneorders++;
            }       
        } 

     } 
Ausser das es nicht funktioniert wie kann ich es so ändern das es nur die Order zählt die ohne stopploss sind

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

if(OrderStopLoss == 0)Orders Ohne SL++;

So in der Art könnte das vielleicht gehn.


Edit:Setzt Du nicht gleich nen SL beim Öffnen?
Mit Zitat antworten
  #3 (permalink)  
Alt vor 4 Wochen
Neues Mitglied
 
Registriert seit: Jun 2018
Beiträge: 23
Hippo25 befindet sich auf einem aufstrebenden Ast
Standard

Ich erhalte immer folgende Fehlermeldung



'for' - expressions are not allowed on a global scope 62

Habt ihr eine idee

grus Hippo
Mit Zitat antworten
  #4 (permalink)  
Alt vor 4 Wochen
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.066
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Das for ... muss in eienr Funktion eingebettet sein.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #5 (permalink)  
Alt vor 4 Wochen
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 410
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Mal unabhängig von Deinem For Fehler.

PHP-Code:

int offeneorders
=0//Speichert die Anzahl der Orders zur späteren Verwendung
int ordersohnestop=0//Speichert die Anzahl der Orders ohne ein Stoploss

int anzahlorders=OrdersTotal();

   for(
zaehler=0;zaehler<anzahlorders;zaehler++) // for schleife
     
{
      
OrderSelect(zaehlerSELECT_BY_POSMODE_TRADES); // MODE_TRADES = offene und aufgegebene Orders
       // check offene Positionen, Symbol & MagicNumber
       
if (OrderSymbol()== Symbol())
        {
          if (
OrderMagicNumber()==MagicNumber
            {
               
offeneorders++;

               if ( 
OrderStopLoss() == 
               {
                  
ordersohnestop++;
               }
  
            }
        } 
     } 
Hippo25 likes this.
__________________

Easy Trading Assistant
Mit Zitat antworten
  #6 (permalink)  
Alt vor 3 Wochen
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 656
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

for (i = OrdersTotal()-1; i>=0; i--){ //Schleife um Orders zu suchen

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) {

if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && OrderStopLoss()==0 ) int ordersohnestop++ ;

}}


Bin aber wie gesagt Einsteiger...

Aber warum willst Du die überhaupt zählen?
Mit Zitat antworten
  #7 (permalink)  
Alt vor 3 Wochen
Neues Mitglied
 
Registriert seit: Jun 2018
Beiträge: 23
Hippo25 befindet sich auf einem aufstrebenden Ast
Standard

Ich habe es mal ausprobiert
Habe aber folgende Meldung

return value of 'OrderSelect' should be checked Offenetrades.mq4

Filtert es richtig oder nicht ?

grus Hippo
Mit Zitat antworten
  #8 (permalink)  
Alt vor 3 Wochen
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.066
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Das ordersohnestop++ ; ist an der falschen Stelle deklariert.
So würde immer nur 0 resultieren.

Vor der for-Schleife müsste stehen:
int ordersohnestop = 0;
int i;

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #9 (permalink)  
Alt vor 3 Wochen
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 656
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Kenn mich mit den Schleifen nicht so aus.

Aber fängt er nicht sowieso bei 0 an zu zählen?

Die Return Value Meldung ist eigentlich egal.
Mit Zitat antworten
  #10 (permalink)  
Alt vor 3 Wochen
Neues Mitglied
 
Registriert seit: Jun 2018
Beiträge: 23
Hippo25 befindet sich auf einem aufstrebenden Ast
Standard

Also
Nochmal den ganzen code
PHP-Code:
int offeneorders=0//Speichert die Anzahl der Orders zur späteren Verwendung
   
int ordersohnestop=0//Speichert die Anzahl der Orders ohne ein Stoploss

   
int anzahlorders=OrdersTotal();

   for(
zaehler=0;zaehler<anzahlorders;zaehler++) // for schleife
     
{
      
OrderSelect(zaehlerSELECT_BY_POSMODE_TRADES); // MODE_TRADES = offene und aufgegebene Orders
       // check offene Positionen, Symbol & MagicNumber
       
if (OrderSymbol()== Symbol())
        {
          if (
OrderMagicNumber()==MagicNumber
            {
               
offeneorders++;

               if ( 
OrderStopLoss() == 
               {
                  
ordersohnestop++;
               }
  
            }
        } 
     }  
        
  
Comment (
              
"Offene Trades: ",offeneorders,"\n"
               "Offen ohne SL: "
,ordersohnestop,"\n"
              
               
               
);   
  }
//+------------------------------------------------------------------+ 
Wie ihr seht - int ordersohnestop = 0; vor der for schleife.
Wo müsste ordersohnestop++ hin ?


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 02:54 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.
-----------------------------------------------------------------------------------------------------------------------------