Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 1862

 
Roman:

Einstellungen -> Allgemein -> Einfügen () und Schließen }])' "
Vielleicht hilft das?

Oder kompilieren.
Doppelklicken Sie dannauf der Registerkarte Fehler auf den ersten Fehler.
Der Cursor geht dorthin, wo es keine schließende Klammer gibt.
Also für jede Klammer, Doppelklickauf Fehler, Klammer setzen, kompilieren.

die Aufgabe besteht darin, einen funktionierenden mql-Code in Python zu erzeugen, warum also daran herumpfuschen?

fast fertig

 
Roman:

Einstellungen -> Allgemein -> Einfügen () und Schließen }])' "
Vielleicht hilft das?

Oder kompilieren.
Doppelklicken Sie dannauf der Registerkarte Fehler auf den ersten Fehler.
Der Cursor geht dorthin, wo es keine schließende Klammer gibt.
Doppelklicken Sie also für jede Klammer aufeinen Fehler, setzen Sie die Klammer, kompilieren Sie.

Ich glaube, ich habe herausgefunden, dass man das nicht offline machen kann....

das Portfolio ist wirklich etwas....

 

voila

wäre eine Qual für den Debugger :D

es ist nicht der größte Baum, den man bekommen kann

double decision_tree(double &features[]) { 
    if ( features[11] <= 0.000385 )  {
        if ( features[9] <= -0.000275 )  {
            if ( features[9] <= -0.000465 )  {
                if ( features[5] <= 0.00034 )  {
                    if ( features[10] <= -0.00034 )  {
                        return 2; }
                    if ( features[10] > -0.00034 )  {
                        if ( features[11] <= -0.00031 )  {
                            return 1; }
                        if ( features[11] > -0.00031 )  {
                            return 2; } } }
                if ( features[5] > 0.00034 )  {
                    return 1; } }
            if ( features[9] > -0.000465 )  {
                if ( features[4] <= -0.000465 )  {
                    return 1; }
                if ( features[4] > -0.000465 )  {
                    if ( features[9] <= -0.000425 )  {
                        if ( features[5] <= -0.00015 )  {
                            return 1; }
                        if ( features[5] > -0.00015 )  {
                            return 2; } }
                    if ( features[9] > -0.000425 )  {
                        if ( features[8] <= -0.000165 )  {
                            if ( features[4] <= -0.000395 )  {
                                if ( features[5] <= -0.00033 )  {
                                    return 1; }
                                if ( features[5] > -0.00033 )  {
                                    return 2; } }
                            if ( features[4] > -0.000395 )  {
                                return 2; } }
                        if ( features[8] > -0.000165 )  {
                            if ( features[8] <= -4.5 e-05 )  {
                                return 1; }
                            if ( features[8] > -4.5 e-05 )  {
                                return 2; } } } } } }
        if ( features[9] > -0.000275 )  {
            if ( features[3] <= 0.000605 )  {
                if ( features[1] <= -0.00036 )  {
                    return 2; }
                if ( features[1] > -0.00036 )  {
                    if ( features[9] <= -0.000115 )  {
                        if ( features[2] <= 0.000165 )  {
                            if ( features[4] <= -0.000125 )  {
                                if ( features[7] <= -0.00014 )  {
                                    if ( features[6] <= -0.000265 )  {
                                        if ( features[8] <= -0.0003 )  {
                                            return 1; }
                                        if ( features[8] > -0.0003 )  {
                                            return 2; } }
                                    if ( features[6] > -0.000265 )  {
                                        return 1; } }
                                if ( features[7] > -0.00014 )  {
                                    if ( features[10] <= -0.00015 )  {
                                        return 1; }
                                    if ( features[10] > -0.00015 )  {
                                        return 2; } } }
                            if ( features[4] > -0.000125 )  {
                                return 1; } }
                        if ( features[2] > 0.000165 )  {
                            return 2; } }
                    if ( features[9] > -0.000115 )  {
                        if ( features[1] <= -0.000175 )  {
                            if ( features[8] <= 0.000145 )  {
                                return 1; }
                            if ( features[8] > 0.000145 )  {
                                if ( features[2] <= -9.5 e-05 )  {
                                    return 0; }
                                if ( features[2] > -9.5 e-05 )  {
                                    return 2; } } }
                        if ( features[1] > -0.000175 )  {
                            if ( features[11] <= 0.000195 )  {
                                if ( features[11] <= -5.5 e-05 )  {
                                    if ( features[5] <= 9.5 e-05 )  {
                                        return 1; }
                                    if ( features[5] > 9.5 e-05 )  {
                                        if ( features[2] <= -2.5 e-05 )  {
                                            return 0; }
                                        if ( features[2] > -2.5 e-05 )  {
                                            return 1; } } }
                                if ( features[11] > -5.5 e-05 )  {
                                    if ( features[8] <= -8.5 e-05 )  {
                                        if ( features[2] <= 2.5 e-05 )  {
                                            return 1; }
                                        if ( features[2] > 2.5 e-05 )  {
                                            return 2; } }
                                    if ( features[8] > -8.5 e-05 )  {
                                        return 1; } } }
                            if ( features[11] > 0.000195 )  {
                                if ( features[4] <= -0.00024 )  {
                                    return 0; }
                                if ( features[4] > -0.00024 )  {
                                    if ( features[2] <= 0.00021 )  {
                                        if ( features[1] <= 1.5 e-05 )  {
                                            return 1; }
                                        if ( features[1] > 1.5 e-05 )  {
                                            return 1; } }
                                    if ( features[2] > 0.00021 )  {
                                        if ( features[5] <= 0.00024 )  {
                                            return 0; }
                                        if ( features[5] > 0.00024 )  {
                                            return 1; } } } } } } } }
            if ( features[3] > 0.000605 )  {
                if ( features[11] <= 0.000195 )  {
                    return 2; }
                if ( features[11] > 0.000195 )  {
                    return 0; } } } }
    if ( features[11] > 0.000385 )  {
        if ( features[11] <= 0.00049 )  {
            if ( features[3] <= 0.000155 )  {
                if ( features[8] <= 0.00036 )  {
                    return 0; }
                if ( features[8] > 0.00036 )  {
                    return 1; } }
            if ( features[3] > 0.000155 )  {
                if ( features[11] <= 0.00041 )  {
                    if ( features[5] <= 0.00047 )  {
                        return 0; }
                    if ( features[5] > 0.00047 )  {
                        return 1; } }
                if ( features[11] > 0.00041 )  {
                    return 1; } } }
        if ( features[11] > 0.00049 )  {
            if ( features[4] <= -0.00022 )  {
                return 1; }
            if ( features[4] > -0.00022 )  {
                if ( features[2] <= 0.000345 )  {
                    return 0; }
                if ( features[2] > 0.000345 )  {
                    if ( features[7] <= 0.00061 )  {
                        return 1; }
                    if ( features[7] > 0.00061 )  {
                        return 0; } } } } }


 return 3; }
 

Prüfen, ob der Baum auf die gleiche Weise funktioniert.

Auf mql:

2020.07.11 23:17:15.120 code check (EURUSD,M5)  Result 2.0
2020.07.11 23:17:15.121 code check (EURUSD,M5)   0.00000  0.00030  0.00031  0.00019  0.00005 -0.00009 -0.00014 -0.00014 -0.00008 -0.00025 -0.00014 -0.00038

In Python:

lll = [0.00000,  0.00030,  0.00031,  0.00019,  0.00005, -0.00009, -0.00014, -0.00014, -0.00008, -0.00025, -0.00014, -0.00038]
lll = np.array(lll).reshape(1,-1)
clf.predict(lll)

>>> clf.predict(lll)
array([2])
 
Renat Akhtyamov:

Ich glaube, ich habe herausgefunden, dass man das nicht offline machen kann....

Die Aktentasche ist ein echtes Prachtstück....

Ich habe es offline getestet, es funktioniert einwandfrei.

Ich bekomme einen Pelzmantel auf den Kopf.

Das war ein Irrtum.

Roman, suchen Sie nach Ihrem Fehler, er sollte in der Historie gut funktionieren.

;)

steamy, vor 7 Jahren

gefunden, die Schwachstelle in der Strategie gefunden!!!

Vorabtests bis zu 10x pro Tag

was demnächst ansteht........

 
@Maxim Dmitrievsky wird der Parser noch benötigt?
Dateien:
parser.zip  2 kb
 
Renat Akhtyamov:

Ich habe getestet, dass es offline gut funktioniert.

Da dreht sich mein Mantel um.

Da ist ein dummer Fehler passiert.

Roman, suchen Sie nach einem Fehler in sich selbst, es sollte in der Geschichte gut funktionieren

;)

steamy, vor 7 Jahren

gefunden, die Schwachstelle in der Strategie gefunden!!!

Vorabtests bis zu 10x pro Tag

was demnächst ansteht........

Ich habe also nichts darüber gesagt, dass es in der Geschichte nicht funktioniert :)))
Ich habe gesagt, dass ich es für die Geschichte nicht fertiggestellt habe, also habe ich die Entwicklung vorerst verschoben.
Daher ist die Aufbereitung historischer Daten einer der wichtigsten Schritte.
Und alle Modelle werden unter Berücksichtigung der Geschichte gebaut und getestet.
Das ist Statistik ))
Schön für Sie, dass alles klappt.

 
Nanix:
@Maxim Dmitrievsky wird der Parser noch benötigt?

Danke, es fehlen noch Klammern, z.B. hier

if(L_55_1  >  0.00047) {
    if(L_30_1  <= 0.00044)
        { return 2;}
    if(L_30_1  >  0.00044) {
        if(L_25_1  <= 0.00047) {
            if(L_5_1  <= 0.00012)
                { return 0;}
            if(L_5_1  >  0.00012)
                { return 2;} }
        if(L_25_1  >  0.00047) return 2; } }

rot - so wie es sein sollte.

Meiner macht das alles. Andernfalls funktionieren die Bedingungen nicht richtig und der Baum zählt die falschen

 
Maxim Dmitrievsky:

Danke, es fehlen noch Klammern, zum Beispiel hier

die roten sind so, wie sie sein sollten.

Meiner macht das alles. Andernfalls funktionieren die Bedingungen nicht richtig und der Baum wird falsch gezählt

Anhand Ihrer Codes begann ich ungefähr zu verstehen, wie Bäume funktionieren. Schwacher Algorithmus im Vergleich zum Polynom, denke ich so....
 
Mihail Marchukajtes:
Anhand Ihrer Codes habe ich in etwa verstanden, wie Bäume funktionieren. Schwacher Algorithmus im Vergleich zum Polynom, so scheint es mir....

Mach keinen Scheiß.