[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 10

 
volshebnik:
So sehr ich auch Code Base ausprobiert habe, nichts hat sich gelohnt (ich habe es noch nicht ganz geschafft). Sonst hätte ich schon längst darauf gewettet. In der Optimierung - gut, im Test - schlecht. Gerade diese Suche aller MAs in der Optimierung, wie es mir scheint, wird die beste Variante meiner Strategie geben, während es MA (5), MA(12), MA(18), MA(23) und MA(28) gibt. Aber das sind vielleicht nicht die besten MAs. Und wäre es nicht einfacher, einen genetischen Algorithmus zur Optimierung einzusetzen, um die besten MAs auszuwählen, anstatt sich mit jedem einzelnen von ihnen (und ihren Schnittpunkten) zu befassen? Das ist also die Frage, die sich in meinem letzten Beitrag gestellt hat.

Ich denke, dass die Logik der Lösung dort lahm ist. Formulieren Sie das Problem richtig (das geht auch ohne Ihren Code), abstrahieren Sie ein wenig davon und schreiben Sie die Bedingungen des Problems klar auf...
 
Roman.:

Die Logik der Lösung ist meiner Meinung nach lahm. Formulieren Sie das Problem richtig (das geht auch ohne Ihren Code), abstrahieren Sie ein wenig davon und schreiben Sie die Bedingungen des Problems klar auf...
Das Problem: Wir warten auf den Bruch des MA, dann das erste Fraktal. Die Durchbrechung des ersten Fraktals ist ein Signal für den Handel. Bei unterschiedlichen MA-Perioden können sich die Fraktale jedoch (zeitlich) an unterschiedlichen Stellen befinden, da je nach Periode und Art der Glättung einige Fraktale früher und andere später "brechen" und dementsprechend die Signale für einen Handel unterschiedlich sind. Ich möchte also alle МА ausprobieren, um herauszufinden, welches das beste (profitablere) Signal liefert (ob es überhaupt richtig ist, kann ich noch nicht sagen). Ich möchte jeden MA von 50 Perioden durchsuchen und durchlaufen, und zwar mit 4 Optionen - eksponential, geglättet, usw. - sehr, sehr lang. Wenn wir die МА-Periode, TP und SL in der Optimierung auf eine externe Variable übertragen, werden wir sofort sehen, was besser ist. Aber ich kann aus irgendeinem Grund nicht über МА period = 7 hinaus optimieren. Deshalb suche ich nach Hilfe.
 
volshebnik:
Die Aufgabe: Wir warten auf den Bruch des MA, dann das erste Fraktal. Die Durchdringung des ersten Fraktals ist ein Signal für die Transaktion. Aber mit verschiedenen Perioden von MAs Fraktale können in verschiedenen Orten (von Zeit), weil je nach Zeitraum und Art der Glättung, einige MAs "brechen" früher, andere - später und dementsprechend, Signale für den Handel - anders. Ich möchte also alle МА ausprobieren, um herauszufinden, welches das beste (profitablere) Signal liefert (ob es überhaupt richtig ist, kann ich noch nicht sagen). Ich möchte jeden MA von 50 Perioden durchsuchen und durchlaufen, und zwar mit 4 Optionen - eksponential, geglättet, usw. - sehr, sehr lang. Wenn wir die МА-Periode, TP und SL in der Optimierung auf eine externe Variable übertragen, werden wir sofort sehen, was besser ist. Aber ich kann aus irgendeinem Grund nicht über den Zeitraum МА = 7 hinaus optimieren. Deshalb suche ich nach Hilfe.


Lösung:

Ich werde für kaufen (verkaufen - analog) geben:

1) MA-Bruch - MA-Werte der Balken 3, 2 und 1 ermitteln - vergleichen. Wenn die MA-Werte auf den Balken 3>2 und 2<1 sind, handelt es sich um einen Bruch.

2. dann - fraktal - Durchdringung - ein Signal, um ein Geschäft zu machen

   
   double fractal_l;
   double fractal_h;
     
   fractal_h = iFractals(Symbol(),PERIOD, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD, MODE_UPPER, 3); 
   
   fractal_l = iFractals(Symbol(), PERIOD, MODE_LOWER, 3);
   if(fractal_l!=0)  dwfractal=iFractals(Symbol(),PERIOD, MODE_LOWER, 3); 

   if (Ask > upfractal) {открытие ордеров при пробитии последнего (свежайшего) фрактала }


Was die Aufzählung der MA betrifft, so sollten Sie diese in externen (optimierbaren) Variablen unterbringen:

Period_MA (Sie können von 2 bis 240 in 2er-Schritten einstellen), MODE - (Methode der МА-Berechnung - Änderungsbereich 0 bis 3 Schritt 1), PRICE_TYPE -(Preiskonstante - Änderungsbereich 0 bis 6 Schritt 1), ich habe gehört, dass bei der Arbeit innerhalb des Tages MA anhand von Durchschnittswerten berechnet werden sollte (Schlusskurs ist nicht wichtig), bei der Arbeit an den Tageskerzen sollte MA anhand der Tagesschlusskurse berechnet werden.

PERIOD - Sie ändern ihn manuell bei jeder nachfolgenden Optimierung - 1,5,15,30,60,240...

Drücken Sie F1 auf der iMA - lesen Sie dort noch einmal alles sorgfältig durch.

Na ja, und natürlich TP und Stop-Loss optimieren wie immer.

 double MA_1 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 1);
 double MA_2 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 2);
 double MA_3 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 3);
P.S. Vergessen Sie nicht, eine Information über die Ergebnisse der Tests zu schreiben... :-)))
 
Roman, ich danke dir vielmals! Ich werde es mit meinem EA vergleichen. Ich werde auf jeden Fall über die Testergebnisse berichten. Ihre Arbeit wird nicht umsonst gewesen sein. Ihr früheres Martingal-Angebot steht in meiner Forschungswarteschlange, und wenn ich dem Gral nahe bin, werde ich es Sie auch wissen lassen.
 
volshebnik:
Roman, ich danke dir vielmals! Ich werde es mit meinem EA vergleichen. Ich werde auf jeden Fall über die Testergebnisse berichten. Ihre Arbeit wird nicht umsonst gewesen sein. Ihr früheres Martingal-Angebot steht in meiner Forschungswarteschlange, und wenn ich dem Gral nahe bin, werde ich es Sie auch wissen lassen.

Sense, wir warten...
 
Ich frage mich, wie die Funktion OrderModify() funktionieren wird, wenn der Parameter "price" anders gesetzt wird als zuvor? Zum Beispiel war OrderPrice=1,3200, und in der OrderModify-Funktion setzen wir ihn auf 1,3300. Wer weiß? (selbst in der Praxis und im Tester nicht zu überprüfen, sorry)
 
ikatsko:
Ich frage mich, wie die Funktion OrderModify() funktionieren wird, wenn der Parameter "price" anders gesetzt wird als zuvor? Zum Beispiel war OrderPrice=1,3200, und in der OrderModify-Funktion setzen wir ihn auf 1,3300. Wer weiß? (Ich habe es nicht selbst in der Praxis und im Strategy Tester überprüft, sorry)

den offenen Preis eines schwebenden Auftrags ändern, wenn die Auftragsart dies zulässt
 
abolk:

Wenn die Auftragsart dies zulässt, wird der Eröffnungspreis des schwebenden Auftrags geändert.

Was meinen Sie mit "wenn die Auftragsart es zulässt"? Ein offener Auftrag kann vom Typ KAUFEN oder VERKAUFEN sein.

Angenommen, der Auftrag ändert den Preis, aber wo würde er die Differenz ausgeben? Zum Plus- oder Minussaldo? Ist das so? Und es wird auch die Ausbreitung geben? Bedeutet dies, dass wir den alten Auftrag (Spread) geschlossen und einen neuen eröffnet haben?

 
ikatsko:

Was meinen Sie mit "wenn die Auftragsart es zulässt"? Ein offener Auftrag kann vom Typ KAUFEN oder VERKAUFEN sein.

Angenommen, der Auftrag ändert den Preis, aber wo würde er die Differenz ausgeben? Zum Positiven oder zum Negativen der Bilanz? Ist das so? Und es wird auch die Ausbreitung geben? Bedeutet dies, dass wir den alten Auftrag (Spread) geschlossen und einen neuen eröffnet haben?

Die Funktion kann nur den Preis ändern, zu dem der schwebende Auftrag eingestellt ist. Wenn Sie versuchen, den Eröffnungskurs der Marktorder zu ändern, wird diese Funktion einen Fehler zurückgeben, etwa "Ungültiger Funktionsparameter". Weitere Details finden Sie in der Hilfe zu dieser Funktion - ich bin zu faul, Ihnen Links zu geben, da ich zu müde bin... :)
 
artmedia70:
Mit dieser Funktion kann nur der Preis für den offenen Auftrag geändert werden. Wenn Sie versuchen, den Eröffnungskurs der Marktorder zu ändern, wird diese Funktion einen Fehler zurückgeben, etwa "Ungültiger Funktionsparameter". Weitere Details finden Sie in dieser Funktionshilfe - ich bin zu faul, Ihnen Links zu geben, da ich zu müde bin... :)

Ja, ich danke Ihnen für Ihre Aufmerksamkeit! Ich war zu faul, um nachzusehen und habe eine Frage geschrieben. Entschuldigung. ABER ich habe nachgesehen und es herausgefunden (ohne zu experimentieren). Preis - neuer Preis für einen schwebenden Auftrag oder Eröffnungspreis für einen Marktauftrag. Gute Nacht!

Grund der Beschwerde: