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: 4043
Beiträge: 38397
Benutzer: 6.347
Aktive Benutzer: 268
Links: 80
Wir begrüßen unseren neuesten Benutzer: Evelyn
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 4 Tagen
- Evelyn
vor 4 Tagen
- sanjay_flo...
vor einer Woche
- ekman
vor einer Woche
- SaxTrade
vor einer Woche
- Matthias...

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 31.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 19
mante befindet sich auf einem aufstrebenden Ast
Standard switchlock

gibt es sowas?

angenommen ich habe einen Switch mit 5 cases - wenn ein case abgearbeitet wurde soll er erst wieder scharf sein wenn er zuvor von einem anderen case entsperrt wurde

ich habe in der start() 5 bool block variablen mit wert null initialisiert - im case1 wird mit while abgefragt ob block 1 = 0 ist - wenn ja break ende;

da sie in der Initialisierung jedoch 1 sind wird die while schleife übersprungen und nur die block 1 variable dekrementiert block1 --; block2=1; block3 =1

wenn nun wieder case 1 startet kommt es sofort zu break; da 0;

im case 2 habe ich block1 wieder auf 1 gesetzt und und die block2 variabel wird auf null gesetzt

ist das bullshit? oder habe ich zumindest den richtigen Gedankengang?

werden die variabeln nach jedem tick über die Definition wieder alle auf 1 gesetzt? ich frage deshalb weil es nicht funktioniert?

glg mante
  #2 (permalink)  
Alt 31.03.18
AVT AVT ist offline
Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 58
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von mante Beitrag anzeigen
gibt es sowas?
angenommen ich habe einen Switch mit 5 cases - wenn ein case abgearbeitet wurde soll er erst wieder scharf sein wenn er zuvor von einem anderen case entsperrt wurde
Dann setzt Du
1. eine Bedingung (!gesperrt1) { Action; }
2. nach der Action gesperrt1=true;
oder Du zählst mit benutzt++ wie oft sie benutzt wurde.

Zitat:
Zitat von mante Beitrag anzeigen
ich habe in der start() 5 bool block variablen mit wert null initialisiert - im case1 wird mit while abgefragt ob block 1 = 0 ist - wenn ja break ende;

da sie in der Initialisierung jedoch 1 sind wird die while schleife übersprungen und nur die block 1 variable dekrementiert block1 --; block2=1; block3 =1

wenn nun wieder case 1 startet kommt es sofort zu break; da 0;

im case 2 habe ich block1 wieder auf 1 gesetzt und und die block2 variabel wird auf null gesetzt

ist das bullshit? oder habe ich zumindest den richtigen Gedankengang?

werden die variabeln nach jedem tick über die Definition wieder alle auf 1 gesetzt? ich frage deshalb weil es nicht funktioniert?
Diese abstrakte Beschreibung ist momentan zu kompliziert für mich nachzuverfolgen (Code wäre einfacher). AVT
__________________
heute schon gelacht?
  #3 (permalink)  
Alt 31.03.18
Neues Mitglied
 
Registriert seit: Mar 2018
Beiträge: 19
mante befindet sich auf einem aufstrebenden Ast
Standard was mache ich da falsch?

werden variablen beim verlassen eines Switch wieder auf 0 zurückgestellt?
Code:
 switch(a)
       
       {  
       
       
       case 1:
       
      
       int block1; int block2;int block3; int block4; int block5; // Case1 wird nach ersten durchlauf gestoppt da block 1 10 wird
            
       if (block1 > 0)
      
       break;
         
       
       block1=10; block2 = 0; block3 = 0; block4 = 0; block5 = 0;
        
       
       
       if ((OrdersTotal()<3)) 
                             
        {
        OpenTrade (0);
        }
       
       break;
      
       
       
       case 2:                                                                // case 2 ändert wert von block 1 wieder auf null - sperrt aber gleichzeitig wiederholung von cas3 
           
       if (block2 > 0)
       break;
       else 
       block1 =0; block2=10; block3 = 0; block4 = 0; block5 = 0;
      
      
      
       if ((OrdersTotal()<3)) 
                        
        {
        OpenTrade (0);
        }
      
      
       break;

bitte helft mir


übrigens wünsche ich allen hier im Forum frohe Ostern

lg mante
  #4 (permalink)  
Alt 31.03.18
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 127
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

Variablen, die Du innerhalb von switch deklarierst, exsistieren nach dem Verlassen von switch nicht mehr! Das Gleiche gilt für Variablen, die zwischen Schweifklammern deklariert werden.
Variablen, die im gesamten EA bekannt sein sollen, müssen oben vor der ersten Schweifklammer des EA deklariert werden.
Frohe Ostern ..))
Thema geschlossen

Lesezeichen

Stichworte
block, mql4, programmierung, programmierung metatrader, programmierung mql4, switch, switchblock


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 05:31 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.
-----------------------------------------------------------------------------------------------------------------------------