Statistische Schlichtung - Seite 4

 

Hier ein Beispiel für die Möglichkeit der statistischen Quasiarbitrage. QC ist praktisch alleinstehend. Nur die Größe der Spanne und die Nivellierung der Stopps erlauben es uns nicht, sie zu nutzen. Solche Ausreißer sind recht häufig.


 
ivandurak:
Es gibt zwei Indizes: MICEX und RTS, es ist klar, dass sie nahe bei 1 korrelieren, in einem perfekten Moment steigen die Kosten für Futures auf die Indizes auf etwa 5%, obwohl der Durchschnittswert 0,5% beträgt. Wir kaufen einen Futures und verkaufen einen anderen, und wenn sie sich wieder annähern, machen wir eine umgekehrte Transaktion und nehmen einen Gewinn mit. Es ist ein einfaches Beispiel, das an der Oberfläche liegt und man kann es nicht rechtzeitig korrigieren und zu seinem Vorteil nutzen, weil es Market Maker gibt. Andererseits hindert Sie niemand daran, Ihr eigenes Portfolio (lies Index) zu bilden. Zählen Sie nun die Anzahl der möglichen Portfolios, die aus 5 Instrumenten von 36 möglichen bestehen, etwa 300000. Versuchen Sie so viele Kombinationen manuell, ich kann mir kaum vorstellen, wie. Ich habe nicht in dieser Richtung geforscht, und vielleicht gibt es eine rationale Grundlage.

Nein, wir machen alles mit unseren Händen, wie können wir einem Roboter bei der Wahl unserer Strategie vertrauen? )))

Was die MICEX- und RTS-Marktmacher betrifft, so ist ihre Divergenz und Konvergenz auf die Stärkung oder Schwächung des Rubels zurückzuführen,Der MICEX kann manchmal niedriger und manchmal höher liegen, und zwar im sechsstelligen Bereich, und das nicht in einem einzigen Moment, sondern über mehrere Tage hinweg, denn aufgrund der großen Volatilität des RUR und der Märkte treten diese Veränderungen recht häufig auf. Gewinn sollte automatisch genommen werden, wo Sie die Plattform Schließung Prozent Rendite oder die Währung der Einzahlung, oder mit Pinzette. Alles funktioniert. Viele Forex-Händler oder SFD auf sie haben EUROLLAR und BRAND. Der Gewinn kann auch mit den Händen eingesammelt werden).

 

Können Sie mir bitte sagen, was geändert werden muss, damit die Streuung vom ersten Start des Indikators an angemessen angezeigt wird.

//+------------------------------------------------------------------+
//|                                                        Test7.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright   "2009, MetaQuotes Software Corp."
#property link        "http://www.mql5.com"
#property description "Test7"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrAqua
#property indicator_style1  STYLE_SOLID

//--- input parametrs

input string         Symbol1_Name = "EURUSD"; // Нога BUY
input string         Symbol2_Name = "GBPUSD"; // Нога SELL
input double         Symbol1_Vol  = 0.01;       
input double         Symbol2_Vol  = 0.02;        


//---- buffers
double         ExtStdDevBuffer[];

//--- global variables
double Symbol1_K, Symbol2_K;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
  //Определяем балансовые коэффициенты каждого инструмента
  Symbol1_K=SymbolInfoDouble(Symbol1_Name, SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(Symbol1_Name, SYMBOL_TRADE_TICK_SIZE);
  Symbol2_K=SymbolInfoDouble(Symbol2_Name, SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(Symbol2_Name, SYMBOL_TRADE_TICK_SIZE);
  
//---- define indicator buffers as indexes
   SetIndexBuffer(0,ExtStdDevBuffer,INDICATOR_DATA);
   ArraySetAsSeries(ExtStdDevBuffer,true);                             // индексация массива как таймсерия
   PlotIndexSetString(0,PLOT_LABEL,"SPREAD");

  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime& time[],
                const double& open[],
                const double& high[],
                const double& low[],
                const double& close[],
                const long& tick_volume[],
                const long& volume[],
                const int& spread[])
  {
  //--- variables of indicator
  int i, limit;
  
   if(prev_calculated>0)
     {limit=1;}
   else
     {limit=prev_calculated;}
    
  //--- main cycle
  for(i=limit-1;i>=0;i--)
  {
      ExtStdDevBuffer[i] = (Symbol1_Vol*Symbol1_K*iClose(Symbol1_Name,i) -  Symbol2_Vol*Symbol2_K*iClose(Symbol2_Name,i));
  }
  
  Comment("Symbol1_K =",Symbol1_K,"\n",
          "Symbol2_K =",Symbol2_K,"\n",
          "close_1[1] =",iClose(Symbol1_Name,1),"\n",
          "close_2[1] =",iClose(Symbol2_Name,1),"\n",
          "close[1] =",close[rates_total-1]);
          
          
   
  return(rates_total);
}

//-----------------------------------------------------------------------------------------
//+------------------------------------------------------------------+
//|Возвращает значение цены закрытия указанного параметром shift     | 
//|бара с соответствующего графика (symbol, timeframe).              |
//|В случае ошибки функция возвращает 0.                             |
//+------------------------------------------------------------------+
double iClose(string Symb,int Shift)
  {
   double Array[1];
   int Copied=CopyClose(Symb,PERIOD_CURRENT,Shift,1,Array);
   if(Copied!=1) return(0);
   return(Array[0]);
  }


Auf den Bildern ist der untere Ausbreitungsanzeiger des Astes Autor.

Dateien:
Test7.mq5  4 kb
 

Ich werde den Faden wieder aufnehmen.

An dieser Stelle kann ich sagen, dass die Analyse der beiden Hauptfächer auf eine Analyse ihres Kreuzes hinausläuft:

Wenn es Einwände gibt, höre ich sie mir gerne an.

In dieser Hinsicht steht MM an erster Stelle. Lassen Sie uns ein Brainstorming veranstalten.

Wer denkt, was ist die beste Handelstaktik für Oszillatoren?

 
Heroix:

Ich werde den Faden wieder aufnehmen.

An dieser Stelle kann ich sagen, dass die Analyse der beiden Hauptfächer auf eine Analyse ihres Kreuzes hinausläuft:

Wenn es Einwände gibt, höre ich sie mir gerne an.

In dieser Hinsicht steht MM an erster Stelle. Lassen Sie uns ein Brainstorming veranstalten.

Wer denkt, was ist die beste Handelstaktik für Oszillatoren?

Ich habe mich ein wenig mit diesem Thema beschäftigt. Imho brauchen wir nicht die Majors zu analysieren, sondern ihr Gesamtkapital (Portfolio-Equity): die Differenz zwischen dem Portfolio und dem Kreuz bei verschiedenen Gewichtungskoeffizienten der Beteiligung der Majors. Im Allgemeinen sollten wir ein Portfolio von Instrumenten mit solchen Gewichtungskoeffizienten auswählen, dass ihr Gesamtkapital die kleinste durchschnittliche quadratische Abweichung und die größte Annäherung an eine gerade Linie aufweist. Was die Anwendung eines solchen Portfolios betrifft. Wenn die lineare Regression der Aktie horizontal verläuft, kaufen wir an den Rändern des Kanals (in diesem Fall sollte der RMS-Wert maximal sein). Wenn die Aktie einen Trendneigungswinkel hat, ist das auch für mich klar. Es bleibt die Frage, wie lange das Portfolio-Eigenkapital nach dem Optimierungszeitraum seine Eigenschaften beibehält. Ich werde mich an die Arbeit machen und später versuchen, einen Indikator zu zeichnen.
 
Das ist es ja gerade, der Kunststoff fliegt fast sofort aus dem Kanal... Ich kann mit einer Wahrscheinlichkeit von 0,5 davon ausgehen. Dies deutet darauf hin, dass es keine Vorteile im Vergleich zum klassischen Handel mit einzelnen Instrumenten gibt.
 
ivandurak:
Im Allgemeinen muss ein Portfolio von Instrumenten mit solchen Gewichtungskoeffizienten ausgewählt werden, dass ihr aggregiertes Eigenkapital die kleinste Standardabweichung aufweist, die einer Geraden am nächsten kommt.
Das ist die Aufgabe, die hier gelöst wurde.
Recycle2 - MQL4 Code Base
  • www.mql5.com
Recycle2 - MQL4 Code Base: технические индикаторы для МТ4
 
Heroix:

An diesem Punkt kann ich sagen, dass die Analyse der beiden Majors auf eine Analyse ihres Kreuzes hinausläuft:

Daraus folgt:

hrenfx:

Dies gilt nur für EURUSD^k1 * GBPUSD^k2, wobei k1 = 0,5 und k2 = -0,5.

Bei anderen Verhältnissen (|k1| + |k2| = 1) ist Ihre Aussage falsch.

 
hrenfx:
Das ist genau das Problem, das hier gelöst wird.
Fast ja. Nur möchte ich es mit mehreren Varianten machen. Leider ist der Code dort nicht kommentiert, daher ist es besser, ihn selbst zu schreiben. Wie auf dem Video zu sehen ist, hat die zusammengefasste Aktie eine gewisse Trägheit bei der Stationarität. Anmerkung zum Video - nachdem der synthetische Kanal gefunden wurde, beginnt der Trend als nächstes.
 
Sie sollten sich das Video nicht ansehen, sondern den Bauabschnitt selbst mit der Maus verschieben. Glücklicherweise baut das Toolkit den synthetischen Wert sofort (ohne Verzögerungen) neu auf und zeigt ihn auch außerhalb des Konstruktionsintervalls an (die roten Dreiecke sind der erste Nulldurchgang des synthetischen Werts außerhalb des Konstruktionsintervalls).