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: 4978
Beiträge: 44257
Benutzer: 7.222
Aktive Benutzer: 72
Links: 84
Wir begrüßen unseren neuesten Benutzer: Mane
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak
vor 2 Wochen
- Amateur
vor 2 Wochen
- infos1982

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 16.07.21
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard Schleifenbedingungen

Wann ist es sinnvoller eine der beiden Auswahlkriterien zu verwenden?
Beispiel:
Code:
for(int i=0; i<100; i++)
{
   //1. Möglichkeit: Ausschluß aller anderen
   if(Bedingung!=erfüllt) continue;
   ActionBeiBedingungErfüllt;

   //2. Möglichkeit: nur bei Bedingung
   if(Bedingung==erfüllt) ActionBeiBedingungErfüllt;
}
Gibt es Gründe, eine Art zu bevorzugen, möglicherweise um Fehler auszuschließen?
Oder ist das letztlich egal?
Freue mich, Eure Meinung dazu zu hören.
AVT
  #2 (permalink)  
Alt 16.07.21
Mitglied
 
Registriert seit: Dec 2015
Beiträge: 85
TogoTiger befindet sich auf einem aufstrebenden Ast
Standard

Ist egal. Persönlich bevorzuge ich die 2. Variante. Bin ein visueller Typ und kann den Code besser lesen, wenn das, was beim IF passieren soll, eingerückt wird.
Wenn aber viel Code kommt, verwende ich auch schon mal Variante 1.
  #3 (permalink)  
Alt 16.07.21
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 TogoTiger Beitrag anzeigen
Ist egal. Persönlich bevorzuge ich die 2. Variante. Bin ein visueller Typ und kann den Code besser lesen, wenn das, was beim IF passieren soll, eingerückt wird.
Wenn aber viel Code kommt, verwende ich auch schon mal Variante 1.
Danke für Deinen Kommentar. AVT
  #4 (permalink)  
Alt 17.07.21
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Nun ja, das kommt bei mir v.a. darauf an, was nach if in der Schleife steht.
Schon allein die Tatsache, dass falls 2. geschrieben wird und nach if weiterer Code steht, der auch für den Fall false abgearbeitet werden muss, verbietet sich automatisch die Variante 1.
Insofern kann ich dann diese Frage von @AVT:
"Oder ist das letztlich egal?"
eindeutig mit Nein beantworten.
D.h. bei z.B. verschachtelten Schleifen würde ich Variante 1. wählen.

Aber ich denke, @AVT meinte in der Tat nur diese eine if-Abfrage innerhalb der Schleife. In der Dauer der Abarbeitung beider Varianten gibt es keine signifikanten Unterschiede. Also wäre es dann auch wurscht, welche Variante man wählt.
Dann wäre die Antwort: Ja.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.

Geändert von traderdoc (17.07.21 um 10:28 Uhr)
  #5 (permalink)  
Alt 17.07.21
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Für "um Fehler auszuschließen" ist definitiv Variante 2 zu bevorzugen, Begründung siehe traderdoc. continue eher nur wenn man bewusst bestimmten Code überspringen möchte.
Zudem würde ich immer geschweifte Klammern nutzen, dies kann zusätzlich dafür sorgen Fehler auszuschließen wenn der Code zB um weitere Aktionen erweitert wird.
  #6 (permalink)  
Alt 17.07.21
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard

Danke für all Eure Antworten.
Ich habe mir angewöhnt, die 2. Variante zu schreiben und damit die genauen Bedingungen festzulegen.
Nun habe ich aber beim Codelesen oft schon die 1. Variante gesehen, was mich zu der Frage brachte.

@Ca$Digger
Klammern stimmt, sind bei mir schon aufgrund der Debug-Prints (kann man ja kommentieren, wenn nicht mehr gebraucht ).

Mal angenommen, ich untersuche einen Chart, auf dem etliche Objekte sind, mit interessieren aber nur grüne Horizontallinien.
Dann kann ich
entweder 1. erst mal alles ausschließen, was nicht Horizontallinie ist, und dann sehen ob der Rest grün ist.
oder 2. direkt nur nach grünen Horizontallinen suchen.

Erweiterbar sind bei Version gleichermaßen. Brauche ich irgendwann auch rote Horizontallinien, suche ich
im 1. Fall dann zusätzlich nach roter Farbe
im 2. Fall suche ich direkt nach roten Horizontallinien
Die Codelänge hat bei mir noch nie eine Rolle gespielt, Hauptsache klar und verständlich.

@traderdoc
Ja, ich meinte tatsächlich eine if-Abfrage.
Daß es in der Dauer der Abarbeitung wenig Unterschiede gibt, ergibt sich ja schon daraus, daß jedes Objekt geprüft werden muß (egal auf was).

Fazit für mich: es ist egal, ich muß meine Gewohnheiten nicht ändern.
AVT
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 +2. Es ist jetzt 03:09 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.
-----------------------------------------------------------------------------------------------------------------------------