Logik lernen - Seite 3

 

Ich möchte noch etwas zu dem von gip kritisierten Abschnitt hinzufügen:

bool showEUR, showUSD, showGBP, showCHF, showJPY, showRAVI;
   if ( StringFind(Symbol(), "EUR", 0) != -1) showEUR = TRUE;
   if ( StringFind(Symbol(), "USD", 0) != -1) showUSD = TRUE;
   if ( StringFind(Symbol(), "GBP", 0) != -1) showGBP = TRUE;
   if ( StringFind(Symbol(), "CHF", 0) != -1) showCHF = TRUE;
   if ( StringFind(Symbol(), "JPY", 0) != -1) showJPY = TRUE;

Um die Berechnungen zu optimieren, wäre es logischer, jeden if()-Block mit einer Unterbrechungsprüfung zu beenden - andernfalls würden alle fünf if()-Operatoren unabhängig von den Prüfergebnissen durchlaufen werden.

Da der Break-Operator hier nicht direkt verwendet werden kann, kann dieser Block leicht in eine Schleife eingebaut werden. Hier ist zum Beispiel eine "Schleifen"-Variante:

bool showEUR, showUSD, showGBP, showCHF, showJPY, showRAVI;
   while( true )
   {
      if (  StringFind(Symbol(), "EUR", 0) != -1) ) 
      {  
         showEUR = TRUE;         break; 
      }   
      if (  StringFind(Symbol(), "USD", 0) != -1) )
      {
         showUSD = TRUE;         break;
      }   
      if (  StringFind(Symbol(), "GBP", 0) != -1) )
      {
         showGBP = TRUE;         break;
      }   
      if (  StringFind(Symbol(), "CHF", 0) != -1) )
      {
         showCHF = TRUE;         break;
      }   
      if (  StringFind(Symbol(), "JPY", 0) != -1) )
      {
         showJPY = TRUE;         break;
      }   
   }   
   

Natürlich ist die Initialisierung logischer Variablen wünschenswert, das stimmt.

Und es wäre recht kurz, wenn man diese Stringnamen der Währungen in ein Array-Konstante schreibt und in einer natürlichen Schleife durchläuft.

P.S. Ich habe jetzt meinen Fehler verstanden: Ich sollte mindestens zwei if()'s übergeben :) Aber auch dies kann optimiert werden, indem die Kontrollen nach dem Auffinden von zwei Währungen in einem Paar abgebrochen werden.

 
age_nt:

Danke Dimitri für deine Aufmerksamkeit...ich respektiere natürlich dein Wissen....und deinen Humor.

Konnte es nicht schätzen - keine MSoffffffis installiert


Hier http://www.twirpx.com/file/86887/?r and=1440166 ist ein Lehrbuch über formale Logik im djvu-Format. "Kirillov V.I., Starchenko A.A. Logic" ist ein Logiklehrbuch für Juristen. Dieses Buch wird besser sein. Ich habe selbst einmal damit angefangen.
 
Logischerweise sollten wir nicht alle hier sein.
 
Sie müssen nicht für alle sprechen. Ich bin hier konsequent und logisch :) Peter und Victor auch, denke ich. Ich weiß nicht, wie es bei den anderen ist.
 
denis_orlov:
Logischerweise sollten wir nicht alle hier sein.


==++

Nicht jeder ist logischerweise in der Lage, von vorne anzufangen. Vom ersten Beitrag an. Wie Tschuktschen - was ich sehe, was ich singe...

 
nikost:


==++

Nicht jeder kann logischerweise von vorne anfangen, vom ersten Beitrag an. Wie Tschuktschen - was ich sehe, was ich singe...

Du bist der Chukcha!)

Der Themenstarter sollte beginnen, aber er hat es angekündigt und ist verschwunden, also wird die Öffentlichkeit ungeduldig...

 
drknn:

Hier http://www.twirpx.com/file/86887/?r and=1440166 ist ein Lehrbuch über formale Logik im djvu-Format. "Kirillov V.I., Starchenko A.A. Logic" ist ein Logiklehrbuch für Juristen. Dieses Buch wird besser sein. Ich habe selbst einmal damit angefangen.

Danke, Vladimir!
 

Meine Herren, bitte greifen Sie sich nicht gegenseitig an, oder ich werde alle unnötigen Beiträge löschen. Und werden Sie nicht emotional. Ein Faden ist ein Faden.

 
Ein Zweig ist wie ein Zweig. Nur bereits moderiert :)
 

Morgen werde ich versuchen, diesen Indikator neu zu erstellen https://www.mql5.com/ru/code/9751.

Der entscheidende Faktor ist die Berechnungszeit. Je schneller, desto besser. Das Rendering sollte jedoch beibehalten werden. Man könnte es als Hausaufgabe bezeichnen (Varianten zu finden, um die Rechenzeit zu reduzieren).

Der Indikator war zufällig der letzte in CodeBase, deshalb entschuldige ich mich bei dem Autor.