Nicht der Gral, sondern ein ganz normaler - Bablokos!!! - Seite 236

 
sbmill:

Richtig verstehen, wie man 8 Legesysteme aus 4 Paaren bildet

1234
12-3-4-4
123-42
12-344
1-2346
1-2-3-4-8
1-23-4-2
1-2-340
123410

Legen Sie also 35 Kombinationen von 7 mal 4

Nein, ich meinte die theoretische Anzahl der Varianten für die Suche der Richtungen. In der Praxis ist es ein wenig anders,von 7 bis 4 = 105 und wenn diemathematische Methodenicht von derReihenfolge der Einstellung der Eingangs-FIabhängt- von drei: EGAN, EAGN, ENGA kann man jede nehmen. Das Ergebnis auf alle 35!
Dateien:
 
 

Hallo zusammen!

Joker, darf ich Ihnen eine allgemeine Frage stellen?

Wählen Sie zunächst die Instrumente aus und verwenden Sie diese, um einen Spread und dessen Eigenkapital zu erstellen und zu analysieren (ich glaube, Sie haben diese Variante verwendet), oder erstellen Sie eine Vielzahl von Spreads und analysieren dann deren Eigenkapital, und die geeigneten gehen in die Arbeit?

 
Talex:

Wählen Sie zunächst ein Instrument aus und verwenden Sie es, um den Spread und sein Eigenkapital zu erstellen und zu analysieren (ich denke, Sie verwenden diese Option), oder erstellen Sie viele Spreads und analysieren dann deren Eigenkapital und verwenden dann die entsprechenden Instrumente für Ihre Arbeit?

Worin besteht der Unterschied zwischen diesen Methoden?
 
lob32371:
Worin besteht der Unterschied zwischen diesen Methoden?

Im ersten Fall besteht die Spanne aus Instrumenten mit "geforderten" Bedingungen, während im zweiten Fall dies nicht geprüft wird, sondern nur die "Merkmale" der Spanne selbst geprüft werden.

 
Talex:

Hallo zusammen!

Joker, darf ich Ihnen eine allgemeine Frage stellen?

Wählen Sie zunächst ein Instrument aus und verwenden Sie es, um einen Spread und dessen Eigenkapital zu erstellen und zu analysieren (ich glaube, Sie haben diese Variante verwendet), oder erstellen Sie eine Vielzahl von Spreads und analysieren dann deren Eigenkapital, und die geeigneten werden in Ihrer Arbeit verwendet?


Es werden zahlreiche Streuungen gebildet und der gesamte Satz wird analysiert. Es werden die besten des Systems verwendet.


Ein paar Anmerkungen zum Bild:

Alle Streuungen nach der Rationierung werden in eine Halbebene (positiv) gelegt. Diejenigen, die im negativen Bereich normalisiert sind, werden umgekehrt:

Der Punkt, an dem sich die Spreads zu bewegen beginnen, ist für alle gleich (d. h. Null). Egal wie sehr Sie sich bemühen, marktneutrale Spreads zu erzielen, es wird Ihnen nicht gelingen. Der Markt ist immer in Bewegung. Mit Spreads können Sie lediglich unvorhersehbare Marktschwankungen ausgleichen und den Drawdown bei Handelsgeschäften verringern.

I - Die Höhe der Mitte des Normalisierungskanals relativ zu Null charakterisiert die Stärke der Streubewegung (schwächere Streuungen werden verworfen). Wir wollen verdienen und nicht monatelang Bambus rauchen, nicht wahr? ))

II - die Breite des normalisierten Spread-Kanals beschreibt die Stärke der Kointegration der Instrumente (eng - stark kointegriert, breit - schlecht kointegriert). Schwach kointegrierte Daten werden natürlich abgelehnt (Random Walks sind nichts für uns).

III - Entscheidungszone (ich werde sie Ihnen nicht absichtlich verraten).


Ich habe Ihnen alles Mögliche gesagt und gezeigt.

(Ich habe übrigens für das System von Alexander geworben, aber ich werde es unter keinen Umständen anwenden. Er arbeitet innerhalb des Kanals und es ist eine Bombe... )

Wer theoretische Fragen hat, sollte zunächst den großen Beitrag von Herrn hrenfx zur Theorie studieren, nämlich seine Leistungen bei recycle2


Nur zu...

 

Joker, danke für die Antwort.

P.S. Es ist wirklich viel in dem Thread dargelegt, es bleibt nur, es selbst zu denken/zu prüfen/zu verstehen, ich denke nur der Faule wird hier nichts für sich finden.

 
kot287:
Nein, ich meinte eine theoretische Anzahl von Varianten für die Aufzählung der Richtungen. In der Praxis ist es etwas anders,von 7 bis 4 = 105 und wenn diemathematische Methodenicht vonder Reihenfolge der Einstellung der Eingangs-FIabhängt- von drei: EGAN, EAGN, ENGA kann man jede nehmen. Das Ergebnis auf alle 35!

... Sie, meine Herren, stehen am Anfang der Theorie. Hier ist die Lib:

GetSpreadsCount - liefert die Anzahl der möglichen Streuungen für die Streuung einer bestimmten Länge ( Anzahl der Symbole )

GetSpreadByIndex ( string Symbols, int SpreadLength, int SpreadIndex ) - gibt den Spread nach seinem Index zurück (wobei der Index im Bereich 1 bis GetSpreadsCount liegt)

Wenn Sie die Schleife GetSpreadByIndex durchlaufen, erhalten Sie alle möglichen Streuungen ohne Wiederholungen.

Um Sie nicht zu verwirren, wird die Kombinatorik der Spreads mit Hilfe eines binären Zahlensystems berechnet.

Viel Glück...

Dateien:
 

Und ich habe es mit roher Gewalt gemacht, nicht so schön, aber es funktioniert...

struct smassiv2 {
   string m[];           // обертка для 2-х мерного массива
};

//+----------------------------------------------------------------------------------+
//| GetAllCombinationsSpread                                                         |
//| Функция находит все сочетания спредов                                            |
//| (in) instr[] - массив инструментов из которых составляем спред                   |
//| (in) ns - число инструментов в спреде                                            |
//| (in/out) spread[] - массив спредов                                               |
//| (out) - количество найденных спредов                                             |
//+----------------------------------------------------------------------------------+
int GetAllCombinationsSpread(string &instr[],int ns,smassiv2 &spread[]) {
   int i,j,g,k,ncomb,count,n[];
//+------------------------------------
   count=ArraySize(instr);
   ncomb=Combination(count,ns);
   ArrayResize(spread,ncomb);
   for(i=0;i<ncomb;i++) {
      ArrayResize(spread[i].m,ns);
   }
   ns=ArraySize(spread[0].m);
   ArrayResize(n,ns);
   ArrayInitialize(n,(count-1));
   for(i=1;i<ns;i++) {
      n[i]=n[i-1]-1;
   }
   for(i=0;i<ncomb;i++) {
      if(n[ns-1]<0) {
         k=1;
         for(j=(ns-2);j>=0;j--) {
            n[j]--;
            if(n[j]>=k) {
               for(g=(j+1);g<ns;g++) {
                  n[g]=n[g-1]-1;
               }
               break;
            }
            k++;
         }
      } 
      for(j=0;j<ns;j++) {
         spread[i].m[j]=instr[n[j]];
      }
      n[ns-1]--;
   }
   return(ncomb);
}
//+----------------------------------------------------------------------------------+
//+----------------------------------------------------------------------------------+
//| Combination(int m,int n)                                                         |
//| Функция находит количество сочетаний, составленные из m элементов по n элементов |
//| (in) m - число элементов всего                                                   |
//| (in) n - число элементов в сочетании                                             |
//| (out) - число комбинаций                                                         |
//+----------------------------------------------------------------------------------+
int Combination(int m,int n) {
//Print(__FUNCTION__);
   if(m<n) return(0);
   if((n==0)||(n==m))
      return(1);
   else
      return(Combination(m-1,n-1)+Combination(m-1,n));
}
//+----------------------------------------------------------------------------------+
 

Joker, erklären Sie mir besser, wie Sie den richtigen Rand des Kanals wählen, d.h. den Zeitpunkt, ab dem Sie die Streuungen überwachen

Hier ist mein letzter Handel: