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: 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: 635
Gesamt: 635
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Like Tree1Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 18.07.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 62
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
  #2 (permalink)  
Alt 18.07.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
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?
  #3 (permalink)  
Alt 18.07.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 62
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
  #4 (permalink)  
Alt 18.07.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
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.
  #5 (permalink)  
Alt 18.07.18
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 422
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
  #6 (permalink)  
Alt 19.07.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
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?
  #7 (permalink)  
Alt 19.07.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 62
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
  #8 (permalink)  
Alt 19.07.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
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.
  #9 (permalink)  
Alt 19.07.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
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.
  #10 (permalink)  
Alt 19.07.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 62
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
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 09:04 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.
-----------------------------------------------------------------------------------------------------------------------------