Einzelnen Beitrag anzeigen
  #6 (permalink)  
Alt 26.03.18
next user next user ist offline
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Edit: Doc war schneller

Wenn ich mir den Beitrag von Doc grad so ansehe
Zitat:
Zitat von traderdoc Beitrag anzeigen
Wenn die Endreihe feststeht, die Du erhalten willst, dann wird die Rohheihe als String betrachtet
frage ich mich @mante, war das so gemeint?

Ich habe es so verstanden, das es keine "Endreihe" gibt, du lediglich keine Zahl 2 mal hintereinander haben willst.

Zitat:
Zitat von mante Beitrag anzeigen
danke für eure Hilfe - ich habe es nun so gemacht
der Compiler liefert keine Fehler aber der MT4 friert im Strategietester ein:-)
wahrscheinlich weil
Zitat:
Zitat von mante Beitrag anzeigen
while (c <= 1) // Endlosschleife endet nie
du keinen Riegel davor setzt.
  • Eine Endlosschleife muss natürlich auch abgebrochen werden.
  • Eine "Dummyvariable" ist unnötig. Eine Endlosschleife kriegt man auch einfach mit
    Code:
    while(true)
  • Die letzte Zufallszahl "x1" ist nach dem ersten Durchgang IMMER die gleiche!
  • Wenn du die aktuelle Zuffallszahl als Parameter in deiner Funktion übergibst, brauchst du weder
    • eine Schleife.
    • eine Variable "x", die den Wert des Parameters annimmt.
    • schon GARNICHT eine in der Funktion erstellte "x1", die eben NICHT die letzte Zahl beinhaltet.
  • Überhaupt ist die Logik ein bischen verloren.

Ein Beispiel:
Code:
// Globale Variablen...
int randNumber = 0;
int lastNumber = 0;

// Test...
bool CheckNumber()
{
   if(randNumber != lastNumber)
      return true;
   else
      return false;
}

// Solange Test nicht ok, Schleife...

while(!CheckNumber())
{
   randNumber = // Neue Zufallszahl...
}

lastNumber = randNumber;