Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4
Startseite Registrieren Hilfe Community Kalender Heutige Beiträge Suchen

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43274
Benutzer: 7.224
Aktive Benutzer: 74
Links: 84
Wir begrüßen unseren neuesten Benutzer: Sundaytrader
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 55 Minuten
- Sundaytrad...
vor 7 Stunden
- TS_6
vor 2 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 26.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 19
mante befindet sich auf einem aufstrebenden Ast
Standard 'while' - expressions are not allowed on a global scope

hallo next user und traderdoc


danke

habe nur noch einen fehler im Compiler

Code:
int lastNumber = 0;

bool CheckNumber(int Range)
{
   if(Range != lastNumber)
            
      return true;
   
     else
      
      return false;
}
                                                       // Solange Test nicht ok, Schleife...
while(!CheckNumber())


{
   Range = int nextuser;                                  // Neue Zufallszahl...
 
Alert(nextuser);
  
  lastNumber = Range;
}

'while' - expressions are not allowed on a global scope none


ich habe schon alle klammern geprüft
ich finde ihn nicht :-)
  #12 (permalink)  
Alt 26.03.18
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Das muss in eine Funktion.

C$D
  #13 (permalink)  
Alt 26.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 19
mante befindet sich auf einem aufstrebenden Ast
Standard Danke

ich dachte mir ist bool CheckNumber() ja die Funktion


lg mante
  #14 (permalink)  
Alt 26.03.18
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Die Schleife muss in eine Funktion, wie soll sie sonst aufgerufen werden...
  #15 (permalink)  
Alt 27.03.18
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von mante Beitrag anzeigen
ich dachte mir ist bool CheckNumber() ja die Funktion


lg mante
Code:
bool CheckNumber(int Range)
{
   if(Range != lastNumber)
            
      return true;
   
     else
      
      return false;
} <<== Schließende Klammer von CheckNumber...
                                                       // Solange Test nicht ok, Schleife...
while(!CheckNumber())
...
Die while-Schleife muss dort hin, wo du die Zufallszahl generierst, nicht außerhalb jeder Funktion, wie "CheckNumber()".

Zitat:
Zitat von mante Beitrag anzeigen
Range = int nextuser;
Das "int" ist fehl am Platz.

Zitat:
Zitat von mante Beitrag anzeigen
... habe nur noch einen fehler im Compiler...
Nicht ganz, siehe vorherigen Punkt.
Und noch ein Fehler (der Compiler kann leider auch nicht ALLES, bräuchte mal ein Update. Folgenden Fehler hat er wohl nicht erkannt):
Zitat:
Zitat von mante Beitrag anzeigen
Range = int nextuser*;
...
Alert(nextuser*);

* ===>>> declaration of 'nextuser' hides predefined variable "next_user"
  #16 (permalink)  
Alt 27.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 19
mante befindet sich auf einem aufstrebenden Ast
Talking

vielen dank für eure Hilfe :-)

vor allem danke nexuser
irgendwo ist noch was falsch - ich habe zwar keine fehler mehr im Compiler aber print liefert keine zahlen

habt ihr eine Ahnung was da falsch ist

lg mante
Code:
     switch(a)
       
       {
              
       case 1:
       Range = 1;
       while(!CheckNumber(true))
       {
       CheckNumber (Range);
       Print ( "Die Zahl ist" +1);
       }
       break;
       
       
       case 2:      
       Range = 2;
       while(!CheckNumber(true))
       {
       CheckNumber(Range);
       Print (" Die Zahl ist 2");                                          // Zahl 15 wird an neu erstellte Funktion wert übergeben
       }
       break;
       
       
       case 3:
       Range = 3;       
       while(!CheckNumber(true)) 
       {
       CheckNumber(Range);
       Print (" Die Zahl ist 3");
       }
       break;
      
       
       case 4:
       Range = 4;
       while(!CheckNumber(true))
       {
       CheckNumber(Range);
       Print (" Die Zahl ist 4");    
       }
       break;
       
       
       case 5:
       Range = 5;
       while(!CheckNumber(true))
       {
       CheckNumber(Range);
       Print (" Die Zahl ist 5");
       }
       break;
       
       
       default:
       break;
     
       }  
}
  
                                                                    // Globale Variablen...

int lastNumber = 0;

bool CheckNumber(int Range)
{
  
   
   if(Range != lastNumber)
            
     return true;
   
     else
      
      return false;

 lastNumber = Range;

Geändert von mante (27.03.18 um 11:39 Uhr)
  #17 (permalink)  
Alt 27.03.18
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von mante Beitrag anzeigen
Code:
     switch(a)
       
       {
              
       case 1:
       Range = 1;
       while(!CheckNumber(true))
       {
       CheckNumber (Range);
       Print ( "Die Zahl ist" +1);
       }
       break;
Was hast du denn da jetzt gemacht? IN der while-Schleife gehört "CheckNumber()" nicht rein!
Die wird doch im Kopf der Schleife aufgerufen. Und solange die Zufallszahl GLEICH der letzten ist, wird der Block der Schleife
ausgeführt! IN der Schleife musst du "Range" daher eine NEUE Zufallszahl zuweisen!

Ich glaube, da sind bei dir noch ein paar Verständnis- und Grundlagenprobleme.

Wenn du mal den Code posten könntest, wie du die Zufallszahlen erhälst, kann ich dir auch besser helfen.
  #18 (permalink)  
Alt 27.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 19
mante befindet sich auf einem aufstrebenden Ast
Standard hallo nextuser

ich dacht mir

wenn

while (!CheckNumber(true)) // wenn anders als vorherige Zahl


wird

CheckNumber (Range);
Print ( "Die Zahl ist" +1);
}
die zahl an CheckNumber übergeben und ausgegeben :-)



damit hast du recht - leider
  #19 (permalink)  
Alt 27.03.18
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von mante Beitrag anzeigen
ich dacht mir

wenn

while (!CheckNumber(true)) // wenn anders als vorherige Zahl


wird

CheckNumber (Range);
Print ( "Die Zahl ist" +1);
}
die zahl an CheckNumber übergeben und ausgegeben :-)

Zitat:
Zitat von next user Beitrag anzeigen
Ich glaube, da sind bei dir noch ein paar Verständnis- und Grundlagenprobleme.
damit hast du recht - leider
Du solltest für Zitate kein NEWSBREAK verwenden.

=== === === === === === === === === === === ===

Gehen wir nochmal durch:
Meine gepostete Funktion war diese:
Code:
bool CheckNumber()
{
   if(randNumber != lastNumber)
      return true; // Zufallszahl ist anders -> Gib true zurück!
   else
      return false; // Zufallszahl ist gleich -> Gib false zurück!
}
Du hast daraus das gemacht:
Code:
bool CheckNumber(int Range)
{
   if(Range != lastNumber)
            
      return true;
   
     else
      
      return false;
}
Beide liefern nur "true", wenn die aktuelle Zufallszahl anders als die letzte ist.
Die beiden unterscheiden sich aber. Meine nutzt
eine globale Variable, deine einen Integer als Parameter.

Dein folgender Code
Code:
while(!CheckNumber(true))
{
   CheckNumber (Range);
   Print ( "Die Zahl ist" +1);
}
nutzt im Schleifen-Kopf eher meine Funktion (obwohl mit Parameter), im Block deine.
Die Funktionen machen aber das selbe und prüfen nur die Zahlen. Es bringt nichts, bei gleichen Zahlen IMMER, IMMER und
IMMER wieder zu prüfen (dein Funktionsaufruf im Block)!

Wie gesagt, wenn
Zitat:
Zitat von next user Beitrag anzeigen
du mal den Code posten könntest, wie du die Zufallszahlen erhälst, kann ich dir auch besser helfen.
  #20 (permalink)  
Alt 27.03.18
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Zitat:
Zitat von next user Beitrag anzeigen
Hey Doc, auch'n Tee...

=== === === === === === === === === === === ===
Willst Du mich damit aggressiv machen?

traderdoc
Ahh, jetzt weiß ich auch, welchen du möchtest.

Thema geschlossen

Lesezeichen

Stichworte
chart, chart wert, chart werte, mql4, programmierung, programmierung metatrader, programmierung mql4


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 19:17 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.
-----------------------------------------------------------------------------------------------------------------------------