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

 

werfen Sie Ihre Raffinesse mit Stopps von 50 unrealistischen Pips weg.

Es ist dein erster Tag hinter dem Prüfgerät

die entwickler sind machinelayers, verdammt noch mal!

 
SanSanych Fomenko:

Ich habe es einfach satt, dass Sie Ergebnisse fordern!

Was haben Sie gezeigt? Einige Kurven unbekannten Ursprungs mit einer Feige in der Tasche in Form einer Lernphase am Ende des Diagramms? Nicht einmal ein Tester!

Und hier ist das Ergebnis, 360% in 14 Monaten, mit einem anständigen Bilanzdiagramm, mit einer Reihe von Merkmalen, mit Quelltext.


Und MO hat ein direktes Ergebnis.

Dies ist ein verfeinerter EA von hier

Die Eingabe ist eine gleichmäßig verteilte Zufallsvariable, aus der wir Kauf/Verkauf erhalten. Sie sehen - Zufall.

Bei den Modellübungen in dieser Branche liegt der Fehler jedoch immer unter 50 %, und das Verhältnis von rentabel zu unrentabel beträgt im Basisfall 47/53.

Wozu brauchen Sie dann die MO? Und warum brauchen Sie die MO in Ihrer Version? Immerhin liefern Sie keinen Beweis dafür, dass das Modell nicht neu trainiert wird! Und wenn Sie sich NICHT mit dem Problem der Umschulung befassen wollen, hier ist ein kostenloser EA vonPetr Voytenko für alle, die es werden wollen.

Scheint ein großartiger Berater zu sein (!!!!)

defekter Link

 
SanSanych Fomenko:

Dies ist ein überarbeiteter Expert Advisor von hier

Die Eingabe ist eine gleichmäßig verteilte Zufallsvariable, aus der wir Kauf/Verkauf erhalten. Sie wissen schon - zufällig.

Das habe ich auch schon erlebt, vor etwa 10 Jahren. Ich habe irgendwo darüber geschrieben. Ich habe optimale Abschlüsse für die Unterstützung ausgearbeitet und meine Einträge nach dem Zufallsprinzip vorgenommen, um nicht zu stören. Die Idee war, die Verluste mit Hilfe von "Trailing-Closing"-Methoden zu minimieren. Zu meiner Überraschung betrug mein Gewinn etwa 10-15 % pro Monat.

 
Renat Akhtyamov:

sieht aus wie ein cooler Berater war(!!!!)

Link ist defekt.

Warum ist sie kaputt? Das funktioniert bei mir.

Hier ist der Text

//+------------------------------------------------------------------+
//|                                                     RandomEA.mq4 |
//|                                                             Pete |
//|                                                  www.izimoney.ru |
//+------------------------------------------------------------------+
#property copyright "Pete"
#property link      "https://www.mql5.com/ru/users/m0rg4n"
#property version   "1.00"
#property strict
//--- input parameters

input double   lot_persent=0;   //lot in percent of balance, 0=minimal lot
input double   clot=0;          //constant lot, 0=off
input int      com=5;           //your commission on 1 lot
input int      tp_and_sl=100;   //takeprofit and stoploss
input double   k=2;             //martingale multiplier
input int      maxspread=25;    //maximal spread
input int      friday_stop=12;  //friday OFF hour
input int      monday_start=1;  //monday ON hour
input int      slip=10;         //slippage


double minlot,maxlot,lot,acc=0,lot2;
bool b;
int h;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
   MathSrand(GetTickCount());   //turn on randomize function
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
 Comment("");
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

   minlot=MarketInfo(Symbol(),MODE_MINLOT);                        //
   maxlot=MarketInfo(Symbol(),MODE_MAXLOT);                        //
   lot=NormalizeDouble(lot_persent*AccountBalance()/100000,2);     // calculating lots
   if(lot<minlot){lot=minlot;}                                     //
   if(lot>maxlot){lot=maxlot;}                                     //
   lot=NormalizeDouble(lot,2);                                     //

   if (clot!=0){lot=clot;}
   
   
   
   //if there are no orders open trade according signal
   if(OrdersTotal()==0)
     {
     
      if (MarketInfo(Symbol(),MODE_SPREAD)>maxspread){Comment("Spread too big");return;}
     
     
      if (
          ((DayOfWeek()==5)&&(Hour()>friday_stop))
          ||
          (DayOfWeek()==6)
          ||
          (DayOfWeek()==0)
          ||
          ((DayOfWeek()==1)&&(Hour()<monday_start))
         ){Comment("Not trading time");return;} //hollydays off    
 
      if(signal()==1){if(AccountBalance()<acc){lot=lot2*k;}buy_(lot);return;}

      if(signal()==-1){if(AccountBalance()<acc){lot=lot2*k;}sell_(lot);return;}
     }

   
   // if there is one order we are turn take profit and stop loss on
   if(OrdersTotal()==1)
     {
      acc=AccountBalance();
      b=OrderSelect(0,SELECT_BY_POS);
      lot2=OrderLots();
      if((OrderStopLoss()==0)&&(OrderType()==OP_BUY)) 
      {b=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-tp_and_sl*Point,OrderOpenPrice()+tp_and_sl*Point+2*com*Point,0,Blue);}
      if((OrderStopLoss()==0)&&(OrderType()==OP_SELL))
      {b=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+tp_and_sl*Point,OrderOpenPrice()-tp_and_sl*Point-2*com*Point,0,Red);}

     }
   
   
   // if there are more than one trade is on then close all positions (becouse some error with it)
   if(OrdersTotal()>1){CloseAll();}


  }
//+------------------------------------------------------------------+

int signal() //return random signal , buy or sell
  {
   int r0;
   double r1;

   r0=MathRand();
   r1=MathMod(r0,2);
   if(r1!=0){return(-1);}
   if(r1==0){return(1);}
   return(0);
  }
//*****************************************************************

//+------------------------------------------------------------------+
void buy_(double lot998) // opening buy function
  {
   lot=NormalizeDouble(lot998,2);
//   sl_=NormalizeDouble(Ask-sl*Point,Digits);
//   tp_=NormalizeDouble(Ask+tp*Point,Digits);
   b=OrderSend(Symbol(),OP_BUY,lot998,Ask,slip,0,0,"",0,0,Blue);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void sell_(double lot999) //opening sell function
  {
   lot=NormalizeDouble(lot999,2);
//   sl_=NormalizeDouble(Bid+sl*Point,Digits);
//   tp_=NormalizeDouble(Bid-tp*Point,Digits);
   b=OrderSend(Symbol(),OP_SELL,lot999,Bid,slip,0,0,"",0,0,Red);
  }
//*************************************************************

void CloseAll() // close all trades function
  {
   int i,tik;
   i=OrdersTotal();
   while(i!=0)
     {
      b=OrderSelect(i-1,SELECT_BY_POS);
      if(b==true)
        {
         tik=OrderTicket();
         if(OrderType()==OP_BUY) {b=OrderClose(OrderTicket(),OrderLots(),Ask,slip,clrNONE);}
         if(OrderType()==OP_SELL){b=OrderClose(OrderTicket(),OrderLots(),Bid,slip,clrNONE);}
         if((OrderType()==OP_BUYSTOP) || (OrderType()==OP_SELLSTOP) || (OrderType()==OP_BUYLIMIT) || (OrderType()==OP_SELLLIMIT)){b=OrderDelete(tik,clrNONE);}
        }
      i=i-1;
     }
  }

//+------------------------------------------------------------------+
 
Yuriy Asaulenko:

Ich habe das auch durchgemacht, damals im Jahr 10. Ich habe irgendwo darüber geschrieben. Ich habe die optimale Transaktion für den Support-Abschluss ausgearbeitet und die Einträge nach dem Zufallsprinzip vorgenommen, um nicht zu viel darüber nachzudenken. Die Idee war, die Verluste mit Hilfe von "Trailing-Closing"-Methoden zu minimieren. Zu meiner Überraschung habe ich einen Gewinn von etwa 10-15 % pro Monat erzielt.

Als ich das sah, war ich begeistert - es ist der klarste Beweis dafür, dass wir uns mit der Vorhersagefähigkeit von Prädiktoren befassen sollten, und notwendigerweise mit dem Beweis, dass sich diese Vorhersagefähigkeit nicht wesentlich ändert.

Das wird uns der Prüfer beweisen.

Und was beweist der Tester für den Random Advisor? Es beweist nur, dass es eine zufällige Auswahl der Reihenfolge bei der Eingabe gibt. Beweist der Tester für diesen EA das zukünftige Verhalten des EAs? Das ist nicht der Fall, die Frage wurde nicht so gestellt.

 
SanSanych Fomenko:

Warum ist sie kaputt? Das funktioniert bei mir.

Hier ist der Text.

cool

hier ist eine automatisierte Version des manuellen Handels

 

Und hier ist eine weitere Option wegen anderer Aufnahmen/Stopps

Der Verlust, der sich seit langem in kleinen Teilen angehäuft hat, ist nun auf einmal da.


Durch Ändern der Parameter können Sie alle Arten von verschiedenen Looks erzielen.

 
SanSanych Fomenko:

Als ich das sah, war ich begeistert - der deutlichste Beweis dafür, dass wir uns mit der Vorhersagefähigkeit von Prädiktoren befassen sollten, und notwendigerweise auch mit dem Beweis, dass sich diese Vorhersagefähigkeit nicht wesentlich ändert.

Das wird uns der Prüfer beweisen.

Und was beweist der Tester dem Random Advisor? Es beweist nur, dass es eine zufällige Auswahl der Reihenfolge bei der Eingabe gibt. Beweist der Tester für diesen EA das zukünftige Verhalten des EAs? Das ist nicht der Fall, denn die Frage wurde nie in dieser Weise gestellt.

Meines Erachtens ist dies nur ein Beweis für die Zufälligkeit des Marktes, zumindest für einen Beobachter.

Tatsächlich arbeite ich so, als wäre es ein Zufallsprozess. Ja, ein Teil der Trends geht verloren, aber das wird durch eine größere Anzahl von Geschäften kompensiert, weil das Rauschen hochfrequenter ist.

Hm. Letztendlich wird der größte Teil des Gewinns durch die Unterstützung des Handels erzielt. Nun, und wahrscheinlich das MM, das ich nie verstanden habe).

 
Yuriy Asaulenko:

Ich denke, dies ist nur ein Beweis für die Zufälligkeit des Marktes, zumindest für den Beobachter.

In der Tat arbeite ich als Zufallsprozess. Ja, ein Teil der Trends geht verloren, aber das wird durch mehr Abschlüsse kompensiert, weil das Rauschen hochfrequenter ist.

Ja, sie hat ihren Platz.

Die Spieltheorie beginnt mit dem folgenden Problem.

In einem völlig dunklen Raum und mit verbundenen Augen versucht der König, seinen Pagen zu fangen, der ebenfalls die Augen verbunden hat.

Frage 1: Welche Strategie sollte der König verfolgen, um den Jungen, der sich in den Ecken versteckt, mit möglichst wenigen Schritten zu fangen?

Frage 2: Welche Strategie sollte der Gefolgsmann anwenden, um dem König, der sich in den Ecken versteckt, eine Mindestanzahl von Schritten zu entgehen?


Die Antwort ist dieselbe: eine gleichmäßig verteilte Zufallsvariable.

Hinter einer sehr positiven Saldenkurve verbirgt sich genau diese Position, dass der Kursanstieg ein gleichmäßig verteilter Wert ist

 
SanSanych Fomenko:

Ja, das tut sie.

Hinter der sehr positiven Bilanzkurve verbirgt sich eben diese Position, dass die zusätzliche Notierung eine gleichmäßig verteilte Größe ist

Nun, hier haben wir es mit dem Wiener Prozess oder einem Wiener-ähnlichen Prozess zu tun. Was gibt es da vorherzusagen? Der beste Indikator ist der Wert selbst.

Aber wir können eine Normalverteilung (oder eine annähernd normale Verteilung) vorhersagen. Natürlich nicht im wörtlichen Sinne, wie eine Spur einer Kerze.