Edit: Doc war schneller
Wenn ich mir den Beitrag von Doc grad so ansehe
Zitat:
Zitat von traderdoc
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
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
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
- 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;