Statistische Auswertung von Wettstrategien

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
hansjürgen
User
Beiträge: 16
Registriert: Samstag 8. Juli 2017, 14:44

Hallo Forenmitglieder,
Ich schreibe zurzeit an einem Programm,welches verschiedene Wettstrategien statistisch untersuchen soll.
Dabei bin Ich auf zwei Probleme gestoßen.
1. Wenn Ich die reversed Martingale Strategie und die Fibonacci Strategie teste bekomme Ich in der Ausgabe nix
2. Wie bekomme Ich es hin,dass das Programm in der Fibonacci Strategie bei einem Verlust um 2 Schritte in der Folge nach vorne geht und bei einem Gewinn um einen Schritt nach hinten.



Code: Alles auswählen

def reverse_martingale_Strategy(Starteinsatz,Startkapital):
    Anzahl_an_Spielen = 0
    Anzahl_an_verlorenen_Spielen = 0
    Anzahl_an_gewonnenen_Spielen = 0
    Laenge_Gluecksstraehne = 5
    Einsatz = Starteinsatz
    while Startkapital > 0 and Startkapital < Startkapital*2 and Anzahl_an_Spielen < 1000:
        # Simulation eines zweiwertigen Wettspiels
        Kopf_oder_Zahl = randint(0,1)
        # Aktionen die passieren,wenn man verliert
        if Kopf_oder_Zahl == 0:
            Startkapital = Startkapital-Starteinsatz
            Anzahl_an_verlorenen_Spielen = Anzahl_an_verlorenen_Spielen+1
            Einsatz = Starteinsatz
        # Aktionen die passieren,wenn man gewinnt
        elif Kopf_oder_Zahl == 1:
            # Zähler für die Anzahl an gewonnenen Spielen
            Anzahl_an_gewonnenen_Spielen = Anzahl_an_gewonnenen_Spielen+1
            Startkapital = Startkapital+Einsatz*2
            # Gibt an wie lange man die reversed Martingale Strategy anwenden soll (Länge der Glückssträhne) und gibt an,dasss man aufhören soll
            # falls die Strähne reißt
            while Laenge_Gluecksstraehne != 0 and Kopf_oder_Zahl == 1:
                # Wenn der Einsatz höher ist als das Kapital soll man das gesamte Kapital einsetzen
                if Einsatz > Startkapital:
                    Einsatz = Startkapital
                Startkapital = Startkapital-Einsatz
                # Verdopplung des Einsatzes
                Einsatz = Einsatz*2
                # Begrenzt die Länge der Glücckssträhne auf 5,damit die while-Schleife nicht endlos iteriert
                Laenge_Gluecksstraehne = Laenge_Gluecksstraehne-1
                # Simulierung des Spiels innerhalb der Schleife
                Kopf_oder_Zahl = randint(0,1)
    print('Das Ergebnis der reversed-Martingale-Strategie lautet')
    return 'Startkapital:',Startkapital,'Anzahl an Spielen:',Anzahl_an_Spielen,'Anzahl an gewonnenen Spielen',Anzahl_an_gewonnenen_Spielen,'Anzahl an verlorenen Spielen',Anzahl_an_verlorenen_Spielen
# Testlauf ob die Funktion richtig Funktioniert
Testlauf_b = reverse_martingale_Strategy(1,100)
print(Testlauf_b)
def Fibonacci_Folge(Eingabe):
    a = 0
    b = 1
    while Eingabe > 0:
        c = a+b
        a = b
        b = c
        Eingabe = Eingabe-1
    return c
# Funktion für die Fibonacci Strategie
def Fibonacci_Strategie(Starteinsatz,Startkapital):
    # Zählt die Anzahl an gewonnenen und verlorenen Spielen für eine statistische Auswertung
    Anzahl_an_gewonnenen_Spielen = 0
    Anzahl_an_Spielen = 0
    Anzahl_an_verlorenen_Spielen = 0
    Einsatz = Starteinsatz
    # Das Spiel geht solange bis man kein Startkapital mehr hat,das Startkapital verddoppelt hat oder die Anzahl an gespielten Spielen 1000 beträgt
    while Startkapital > 0 and Startkapital < Startkapital * 2 and Anzahl_an_Spielen < 1000:
        # Simulierung des Kopf oder Zahl Spiels
        Kopf_oder_Zahl = randint(0,1)
        # Aktion die Eintreten wenn man das Spiel verliert
        if Kopf_oder_Zahl == 0:
            # Verlust des Einsatzes
            Startkapital = Startkapital-Starteinsatz
            Anzahl_an_verlorenen_Spielen = Anzahl_an_verlorenen_Spielen+1
            # Man geht mit dem Einsatz einen Schritt in der Fibonacci Folge vor
            Einsatz = Fibonacci_Folge(0+1)
            if Einsatz > Startkapital:
                Einsatz = Startkapital
        # Aktionen die eintreten, wenn man das Spiel gewinnt
        elif Kopf_oder_Zahl == 1:
            Startkapital = Startkapital+Einsatz*2
            Anzahl_an_gewonnenen_Spielen = Anzahl_an_gewonnenen_Spielen+1
            Einsatz = Fibonacci_Folge(0-2)
            if Einsatz < Fibonacci_Folge(0):
                Einsatz = Fibonacci_Folge(0)
        Anzahl_an_Spielen = Anzahl_an_Spielen+1
    print('Die Ergebnisse der Fibonacci Strategie lauten:')
    return 'Startkapital',Startkapital,'Anzahl an Spielen',Anzahl_an_Spielen,'Anzahl an gewonnenen Spielen',Anzahl_an_gewonnenen_Spielen,'Anzahl an verlorenen Spielen',Anzahl_an_verlorenen_Spielen
# Testlauf ob die Funktion richitg funktioniert
Testlauf_c = Fibonacci_Strategie(1,100)
print(Testlauf_c)
Antworten