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: 43261
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 23 Stunden
- Sundaytrad...
vor einem Tag
- TS_6
vor 3 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 184
Gesamt: 184
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
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
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
  #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: 136
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


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