Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 1113

 
Mislaid:

Sie brauchen ein Skript für die Wochenenden.

Ich arbeite an Wochentagen. Deshalb verwende ich den Indikator. Ich gebe ihm eine Liste von Instrumenten, und es fordert Kurse für den Zeitrahmen an, auf dessen Chart es sich befindet. Ich kümmere mich nicht um die Fehlerbehandlung. Nach einem Dutzend Minuten hat sich alles beruhigt.

Das habe ich völlig vergessen. Wenn Sie die Historie speichern wollen, muss der Chart für das Symbol geöffnet sein.

Wir können nicht mehr als 100 Karten offen halten. Wir benötigen 100 Paare in 9 Zeitrahmen = 900 Charts.

Der Markt ist eröffnet. Aber weder CopyTime- noch ArrayCopySeries-Aufrufe füllen die Historie für Instrumente aus MarketWatch automatisch auf.
Die Karten für die Instrumente wurden nie geöffnet.
Es muss eine Lösung geben.

Zum Beispiel AUDCAD. Es gab keine offenen Charts für dieses Symbol. Wenn ich den Chart AUDCAD H1 manuell öffne und die Tasten drücke, wird die Historie geladen. Bei anderen Zeitrahmen ist es dasselbe - nur im manuellen Modus will er es nicht automatisch tun.
 
Jedenfalls habe ich ein Skript geschrieben, das ein paar Dutzend Diagramme in Blöcken öffnet, das Drücken der Home-Taste emuliert und dann die Diagramme schließt.
Das funktioniert mit einer Krücke, aber es tauscht auch die Geschichte gegen neue Figuren aus.
 

Guten Tag, liebe Forumsmitglieder. Bitte seien Sie nicht beleidigt, ich schreibe gerade meine Diplomarbeit und möchte soziologische Forschung betreiben. Sicherlich gibt es Leute, die einmal oder mehrmals EAs gekauft haben. Bitte sagen Sie uns, welche Kriterien für Sie beim Kauf wichtig und entscheidend waren? Das kann zum Beispiel so sein:

-Art des Expert Advisors (Trend, Sesh, Martingale, Scalper...)

-Geschichte imStrategietester

-einige spezifische Funktionen des Expert Advisors

-Detaillierte Beschreibung der Funktionsweise und des Aufbaus des EA

-Verkäuferbewertung

- EA-Preis

-Kampagnen und Rabatte

Oder vielleicht etwas anderes.

Und waren Sie mit Ihrem Kauf zufrieden?

Vielen Dank für Ihr Verständnis und Ihre Antworten

 
Konstantin Zubrilin:

Guten Tag, liebe Forumsmitglieder. Bitte seien Sie nicht beleidigt, ich schreibe gerade meine Diplomarbeit und möchte soziologische Forschung betreiben. Sicherlich gibt es Leute, die einmal oder mehrmals EAs gekauft haben. Bitte sagen Sie uns, welche Kriterien für Sie beim Kauf wichtig und entscheidend waren? Das kann zum Beispiel so sein:

-Art des Expert Advisors (Trend, Seth, Martingale, Scalper...)

-Geschichte imStrategietester

-einige spezifische Funktionen des Expert Advisors

-Detaillierte Beschreibung der Funktionsweise und des Aufbaus des EA

-Verkäuferbewertung

- EA-Preis

-Kampagnen und Rabatte

Oder vielleicht etwas anderes.

Und waren Sie mit Ihrem Kauf zufrieden?

Vielen Dank für Ihr Verständnis und Ihre Antworten

Sie sollten eine Umfrage erstellen, vorzugsweise im englischsprachigen Thread, dort gibt es mehr Pindos.
 

Können Sie mir sagen, wo der Fehler liegt? Die Werte der Array-Elemente Koef[] werden berechnet, jedem Element wird ein Wert zugewiesen. Warum wird Buffer1[] nicht zugewiesen?

#property copyright "Copyright 2016, T"
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_level1 0.8
#property indicator_level2 -0.8
#property indicator_levelcolor Black
#property indicator_color1 Blue
#property indicator_minimum -1
#property indicator_width1 2
#property indicator_style1 0
#property indicator_maximum 1

double Buffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//--- indicator buffers mapping
  SetIndexBuffer(0, Buffer1);
  SetIndexStyle(0, DRAW_LINE);
  return(0);
//---
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
   {
   int n=25;                                                            // количество элементов в массиве(для периода H1 n=25, тк i<n)
   int m=24;                                                            // количество массивов(для периода H1 m=24, тк p=0, p<m)
   int w=18;                                                            // количество заков после запятой
  
   double Price_CloseX[][24];                                           // Массив цен закрытия 1 пары  
   double Price_CloseY[][24];                                           // Массив цен закрытия 2 пары
   double dx[][24];                                                     // Отклонение от среднего значения для пары 1 dx
   double dy[][24];                                                     // Отклонение от среднего значения для пары 2 dy
   double dx2[][24];                                                    // Квадрат отклонения ср.значения dx2
   double dy2[][24];                                                    // Квадрат отклонения ср.значения dy2
   double dxdy[][24];                                                   // Произведение dx и dy
  
   double sum_x[][24];
   double sum_y[][24];
  
   double Mx[][24];                                                         // Массив среднего значения цен закрытия пары 1 Mx
   double My[][24];                                                         // Массив среднего значения цен закрытия пары 2 My
  
   double Edx2[][24];                                                       // Сумма квадратов отклонений Edx2
   double Edy2[][24];                                                       // Сумма квадратов отклонений Edy2
   double Edxdy[][24];                                                      // Сумма произведений отклонений Edxdy
  
   double Koef[];
  
   ArrayResize(Price_CloseX, n);
   ArrayResize(Price_CloseY, n);
   ArrayResize(dx, n);
   ArrayResize(dy, n);  
   ArrayResize(dx2, n);
   ArrayResize(dy2, n);
   ArrayResize(dxdy, n);
   ArrayResize(sum_x, n);
   ArrayResize(sum_y, n);
   ArrayResize(Mx, n);
   ArrayResize(My, n);
   ArrayResize(Edx2, n);
   ArrayResize(Edy2, n);
   ArrayResize(Edxdy, n);
   ArrayResize(Koef, n);
  
   string sym_x="EURUSD";
   string sym_y="GBPUSD";
  
   for(int i=1; i<n; i++)
      {
      for(int p=0; p<m; p++)
         {
         Price_CloseX[i][p]=iClose(sym_x, PERIOD_H1, i+p);
         Price_CloseY[i][p]=iClose(sym_y, PERIOD_H1, i+p);
        
         }
      }
      
    for(int i=1; i<n; i++)
      {    
      for(int p=0; p<m; p++)
         {  
         sum_x[i][p]=sum_x[i][p-1]+Price_CloseX[i][p];                                        
         sum_y[i][p]=sum_y[i][p-1]+Price_CloseY[i][p];
        
         }        
      }
  
   for(int i=1; i<n; i++)
      {    
      for(int p=0; p<m; p++)
         {      
         Mx[i][p]=sum_x[p+1][m-1]/(n-1);  
         My[i][p]=sum_y[p+1][m-1]/(n-1);
                
         }
       }
  
   for(int i=1; i<n; i++)
      {
      for(int p=0; p<m; p++)
         {
         dx[i][p]=Price_CloseX[i][p]-Mx[i][p];
         dy[i][p]=Price_CloseY[i][p]-My[i][p];
        
         }
      }
    
   for(int i=1; i<n; i++)                                                                  
      {
      for(int p=0; p<m; p++)
         {
         dx2[i][p]=(dx[i][p]*dx[i][p])*1000000;
         dy2[i][p]=(dy[i][p]*dy[i][p])*1000000;
        
         }
      }
    
   for(int i=1; i<n; i++)                                                                  
      {
      for(int p=0; p<m; p++)
         {
         dxdy[i][p]=(dx[i][p]*dy[i][p])*1000000;
        
         }
      }  
                        
   for(int i=1; i<n; i++)                                                                  
      {
      for(int p=0; p<m; p++)
         {
         Edx2[i][p]=(Edx2[i-1][p]+dx2[i][p]);                                        
         Edy2[i][p]=(Edy2[i-1][p]+dy2[i][p]);
         Edxdy[i][p]=(Edxdy[i-1][p]+dxdy[i][p]);
         }
      }
  

      for(int p=0; p<m; p++)
         {
         Koef[p]=Edxdy[n-1][p]/sqrt(Edx2[n-1][p]*Edy2[n-1][p]);
         Buffer1[p]=Koef[p];
         Alert("Коэффициент корреляции Пирсона между ", sym_x, " и ", sym_y, " равен ", DoubleToString(Koef[p], w));
         Alert("Значение буфера ", p, " равно ", Buffer1[p]);
         }
   return(0);
   }
 
Verstehe ich das richtig, dass bei tp=2, sl=20 und spread=2 die Wahrscheinlichkeit für tp=(2+2)/(20-2)=0,22.... oder muss ich mit einem Koeffizienten multiplizieren? Und wenn wahr tp=0.22, dann können wir idealerweise 3 Trades in einer Reihe mit diesen Parametern zu öffnen, und 4 der Deal zu überspringen?
Vielleicht gibt es ähnliche Themen? Geben Sie mir bitte einen Link.
 
bobrush:
Guten Tag, verstehe ich das richtig, dass bei tp=2, sl=20 und spread=2 die Wahrscheinlichkeit von tp=(2+2)/(20-2)=0,22.... oder muss ich mit einem Koeffizienten multiplizieren? Und wenn wahr tp=0.22, dann können wir idealerweise 3 Trades in einer Reihe mit diesen Parametern zu öffnen, und 4 der Deal zu überspringen?
Vielleicht gibt es ähnliche Themen? Geben Sie mir bitte einen Link.

Ich werde keinen Link angeben, die Leute denken anders. Ich empfehle, vom Prinzip der Aussichtslosigkeit des Gralsbaus auszugehen. In diesem Fall, bei gegebenem TP und SL, kann sie wie folgt formuliert werden:

Wenn es keinen Spread gibt, ist die erwartete Auszahlung in jeder Serie von Geschäften mit demselben SL und demselben TP gleich Null.

Die Gewinnerwartung ohne Spread ist gleich P(TP)*TP-P(SL)*SL=0, wobei SL und TP die Abstände von der Handelseröffnung zu ihren Niveaus sind und P die Wahrscheinlichkeit der Beendigung des Handels durch SL bzw. TP ist.

Aus der Bedingung des Abschlusses aller Geschäfte P(TP)+P(SL)=1, wobei P(TP)*TP-(1-P(TP))*SL=0, P(TP)*(TP+SL)=SL und

P(TP)=SL/(SL+TP).

Um den Spread zu berücksichtigen, müssen wir die Null-Gewinn-Erwartung durch die Verlust-Erwartung der Spread-Größe ersetzen, P(TP)*TP-P(SL)*SL=Spread, und die erforderliche Formel ableiten.

 
Vladimir:

Ich werde keinen Link angeben, die Leute denken anders. Ich empfehle, von dem Prinzip der Aussichtslosigkeit des Gralsbaus auszugehen. In diesem Fall kann sie für die gegebenen TP und SL wie folgt formuliert werden:

Wenn es keinen Spread gibt, ist die erwartete Auszahlung in jeder Serie von Geschäften mit demselben SL und demselben TP gleich Null.

Die Gewinnerwartung ohne Spread ist gleich P(TP)*TP-P(SL)*SL=0, wobei SL und TP die Abstände von der Handelseröffnung zu ihren Niveaus sind und P die Wahrscheinlichkeit der Beendigung des Handels durch SL bzw. TP ist.

Aus der Bedingung des Abschlusses aller Geschäfte P(TP)+P(SL)=1, wobei P(TP)*TP-(1-P(TP))*SL=0, P(TP)*(TP+SL)=SL und

P(TP)=SL/(SL+TP).

Um den Spread zu berücksichtigen, müssen wir die erwartete Auszahlung von Null durch eine Verlusterwartung in Höhe des Spreads ersetzen, P(TP)*TP-P(SL)*SL=Spread, und die erforderliche Formel ableiten.

Wenn ich nach dem Koeffizienten frage, erinnere ich mich an etwas wie C(n,k), d. h. P(x)=C(n,k)*P(y/x).... Wie auch immer, ich bin verwirrt... Ich werde das Buch durchblättern müssen.
 
bobrush:
Wenn ich nach dem Koeffizienten frage, erinnere ich mich an etwas wie C(n,k), d. h. P(x)=C(n,k)*P(y/x)..... Wie auch immer, ich bin verwirrt... Ich werde das Buch durchblättern müssen.

Wenn es sich um Bücher zur Wahrscheinlichkeitstheorie handelt, und nach dem Hinweis auf die Anzahl der Kombinationen von n durch k C(n,k) zu urteilen, handelt es sich um Kombinatorik, dann gibt es in der Wahrscheinlichkeitstheorie keine Antworten auf die gestellte Frage. Im Einzelnen gilt die Formel P(TP)*TP-P(SL)*SL=0

Ich habe es empirisch ermittelt. Auf der Suche nach einer solchen Kombination von SL und TP, die auch nur die kleinste statistisch signifikante Abweichung von Null ergibt. Die Datenbank mit den Tick-Historien für 25 Währungspaare wurde etwa 300 Wochen lang von 50-60 Handelszentren gesammelt, sie enthielt zu diesem Zeitpunkt 50 Milliarden Ticks. Ich habe Dutzende von Methoden für die regelmäßige oder pseudozufällige Eröffnung von Geschäften ausprobiert. Der Kurs ohne den Spread wurde als arithmetisches Mittel von Bid und Ask betrachtet.

 
Vladimir:

Wenn es sich um Bücher zur Wahrscheinlichkeitstheorie handelt, und nach dem Hinweis auf die Anzahl der Kombinationen von n durch k C(n,k) zu urteilen, handelt es sich um Kombinatorik, dann gibt es in der Wahrscheinlichkeitstheorie keine Antworten auf die gestellte Frage. Im Einzelnen gilt die Formel P(TP)*TP-P(SL)*SL=0

Ich habe es empirisch ermittelt. Auf der Suche nach einer solchen Kombination von SL und TP, die auch nur die kleinste statistisch signifikante Abweichung von Null ergibt. Die Datenbank mit den Tick-Historien für 25 Währungspaare wurde etwa 300 Wochen lang von 50-60 Handelszentren gesammelt, sie enthielt zu diesem Zeitpunkt 50 Milliarden Ticks. Ich habe Dutzende von Methoden für die regelmäßige oder pseudozufällige Eröffnung von Geschäften ausprobiert. Als Kurs ohne Spanne wurde das arithmetische Mittel aus Geld- und Briefkurs betrachtet.

Das bedeutet, dass Theorie und Praxis identisch sind. 300 Wochen sind mehr als 5 Jahre, nur um die Theorie zu bestätigen?
Es stellt sich heraus, dass unabhängig davon, wie man das Geschäft eröffnet, sei es durch Zufall oder durch das Signal, das Ergebnis dasselbe ist: M(x)=0?

Grund der Beschwerde: