|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
ich habe Zufallszahl Problem
hallo - ich bitte um eure Hilfe :-)
wie kann ich folgendes Problem lösen ein Zufallsgenerator erzeugt Zahlen von 1 bis 10 dieser Generator liefert jedoch öfters die gleiche Zahl in Serie zb: 4,7,9,7,7,7,7,8 wie kann ich aus dieser Reihenfolge 4,7,9,7,8..... machen der Code soll sich die vorangehende Zahl merken und nur einen Wert liefern wenn die neue zahl unterschiedlich ist geht sowas nur mit einem Array? lg mante |
|
|||
Es reicht eine Variable in der die letzte Zufallszahl gespeichert wird.
Eine Endlosschleife generiert dann solange Zufallszahlen bis die Zufallszahl ungleich der gespeicherten letzten gültigen Zufallszahl ist. Ist die Bedingung erfüllt bricht die Schleife ab und man erhält die nächste gültige Zufallszahl die sich von der vorigen unterscheidet. C$D |
|
|||
keine Rückmeldung
hallo cash digger - danke für deine Antwort
ich hab das so programmiert int Wert(int Zufallszahl) { int x = Zufallszahl; while(x=x) { Print(" geich"); } Print ("Zahl hat sich geändert"); } der mt4 war damit ein wenig überfordert - es kam die Meldung keine Rückmeldung :-) hab ich da was falsch programmiert? lg mante |
|
|||
Ich würde es so angehen:
Code:
int lastRand = 0; // global int getRand() { int Rand; while(1) { Rand = MathRand(); if(Rand != lastRand) { lastRand = Rand; return(Rand); } } } int lastRand sollte ausserhalb der Funktion liegen damit der Wert am leben bleibt. MathRand() müsste natürlich noch angepasst werden um den gewünschten Wertebereich zu erhalten. siehe auch: https://docs.mql4.com/math/mathrand https://www.mql5.com/en/forum/125208 Grüße |
|
|||
Noch ne kleine Anmerkung meinerseits...
Zitat:
Code:
int Wert(int Zufallszahl) { int x = Zufallszahl; while(x=x) { Print(" geich"); } Print ("Zahl hat sich geändert"); }
|
|
|||
Danke
vielen Dank cash digger und next user!!!!
die Zufalls zahl kommt aus einer anderen Funktion und wird mit int Wert(int Zufallszahl) an diese Schleife übergeben. Eigentlich ist es ein Wert der in einem Chart entsteht. Ich möchte mit dem Code den neuen Wert an eine andere Funktion übergeben. etwa so 4,4,4,4,4, Schleife macht nix 4,4,4,4,6 Schleife bricht ab übergibt (6) an andere Funktion 6,6,6,6,6,6,6,9 Schleife übergibt (9) an andere Funktion solange die gleiche Zahl kommt dreht sie sich im Kreis für euch ist das sicher lächerlich - aber ich programmiere erst seit sehr kurzer Zeit lg mante |
|
|||
Zitat:
AVT |
|
|||
diese Zahl
entsteht im Chart - deshalb ist sie zufällig - der Code soll erst fortgesetzt werden wenn sie sich ändert :-)
sie letzter Eintrag von mir lg mante |
|
|||
Zitat:
In deinem bisherigen Code hat die Schleife ja nichts gemacht und wird auch nicht abgebrochen. Sie dreht sich also wriklich im Kreis. |
|
|||
hat jemand eine lösung für mich :)
#6 (permalink) Bewerten Sie diesen Beitrag von mante Beitrag melden
Alt vor 6 Stunden mante mante ist gerade online Neues Mitglied Registriert seit: Mar 2018 Beiträge: 4 mante befindet sich auf einem aufstrebenden Ast Standard Danke vielen Dank cash digger und next user!!!! die Zufalls zahl kommt aus einer anderen Funktion und wird mit int Wert(int Zufallszahl) an diese Schleife übergeben. Eigentlich ist es ein Wert der in einem Chart entsteht. Ich möchte mit dem Code den neuen Wert an eine andere Funktion übergeben. etwa so 4,4,4,4,4, Schleife macht nix 4,4,4,4,6 Schleife bricht ab übergibt (6) an andere Funktion 6,6,6,6,6,6,6,9 Schleife übergibt (9) an andere Funktion solange die gleiche Zahl kommt dreht sie sich im Kreis für euch ist das sicher lächerlich - aber ich programmiere erst seit sehr kurzer Zeit lg mante |
Lesezeichen |
Stichworte |
mql4, programmierung, programmierung metatrader, programmierung mql4, random, zahlen, zufallszahl |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|