どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1113

 
Mislaid:

土日用のスクリプトが必要です。

平日は仕事をしています。だから、インジケーターを使うんです。商品のリストを渡すと、その商品のチャートにある時間枠の相場を要求します。エラー処理に悩まされることはない十数分後にはすべてが落ち着く。

すっかり忘れてました。履歴を保存する必要がある場合、シンボルのチャートが開いている必要があります。

100個以上のチャートを開いておくことはできません。9つのタイムフレームで100ペア=900枚のチャートが必要です。

マーケットをスタートさせる。しかし、CopyTime や ArrayCopySeries の呼び出しは、MarketWatch からの商品の履歴を自動的に埋めません。
楽器のチャートは開かなかった。
解決策はあるはずだ。

例えば、AUDCAD。このシンボルのオープンチャートはありませんでした。手動でチャートAUDCAD H1を開いてボタンを押すと、履歴が読み込まれるのですが、どうすればいいですか?他のタイムフレームでも同じです。マニュアルモードでのみ、自動で行うことを望んでいないのです。
 
とにかく、数十のチャートをブロック単位で開き、Homeキーを押したように見せかけ、チャートを 閉じるというスクリプトを書いたのです。
これは松葉づえで動くのですが、歴史を新しいキャラクターにすり替えてしまうのです。
 

フォーラムの皆様、こんにちは。どうか傷つかないでください。私はちょうど卒論を書いていて、社会学的な研究をしたいのです。確かに一度や二度、EAを買ったことがある人はいると思います。購入時に重視した点、重要視した点をお聞かせください。例えば、こんな感じでしょうか。

-Expert Advisorの種類(trend、seth、martingale、scalper...)。

-ストラテジーテスターにおける 歴史

-Expert Advisorの具体的な機能紹介

-EAがどのように機能し、どのように設定されるかの詳細な説明

-販売者評価

- EA価格

-キャンペーン・割引

それとも別のものかな。

そして、買ってよかったと思われましたか?

ご理解とご回答をありがとうございました。

 
Konstantin Zubrilin:

フォーラムの皆様、こんにちは。どうか傷つかないでください。私はちょうど卒論を書いていて、社会学的な研究をしたいのです。確かに一度や二度、EAを買ったことがある人はいると思います。購入時に重視した点、重要視した点をお聞かせください。例えば、こんな感じでしょうか。

-Expert Advisorの種類(trend、seth、martingale、scalper...)。

-ストラテジーテスターにおける 歴史

-Expert Advisorの具体的な機能紹介

-EAがどのように機能し、どのように設定されるかの詳細な説明

-販売者評価

- EA価格

-キャンペーン・割引

それとも別のものかな。

そして、買ってよかったと思われましたか?

ご理解とご回答をありがとうございました。

できれば英語のスレッドで投票を作るべき、もっとピンドがある。
 

エラーの発生箇所を教えてください。配列要素 Koef[] の値が計算され、各要素に値が割り当てられる。Buffer1[]が代入されないのはなぜですか?

#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);
   }
 
こんばんは!tp=2, sl=20, spread=2でtpの確率=(2+2)/(20-2)=0.22と理解してよろしいでしょうか...?それとも、何らかの係数を掛ける必要があるのでしょうか?そして、真のtp=0.22であれば、理想的には、これらのパラメータで連続3トレードを開くことができ、スキップする取引の4?
もしかしたら、似たような話題があるかも?リンク先を教えてください。
 
bobrush:
こんばんは!tp=2, sl=20, spread=2でtpの確率=(2+2)/(20-2)=0.22と理解していいのでしょうか......。それとも、何らかの係数を掛ける必要があるのでしょうか?そして、真のtp=0.22であれば、理想的には、これらのパラメータで連続3トレードを開くことができ、スキップする取引の4?
もしかしたら、似たような話題があるかも?リンク先を教えてください。

リンクは貼りません、人によって考え方が違うので。聖杯を 作るのは絶望的という原理から始めることをお勧めします。この場合、あるTPとSLにおいて、次のように定式化することができる。

スプレッドがない場合、同じSLと同じTPを持つ一連の取引における期待ペイオフはゼロである。

スプレッドがない場合の利益の期待値は、P(TP)*TP-P(SL)*SL=0に等しく、SLとTPは取引開始レベルからそれらのレベルまでの距離、PはそれぞれSLまたはTPによって取引が完了する確率を示します。

全取引の完了条件P(TP)+P(SL)=1より、P(TP)*TP-(1-P(TP))*SL=0とすると、P(TP)*(TP+SL)=SLであり

p(tp)=sl/(sl+tp)となります。

スプレッドを考慮するには、利益期待値ゼロをスプレッドの大きさによる損失期待値に置き換え、P(TP)*TP-P(SL)*SL=Spreadとし、必要式を導き出す必要があります。

 
Vladimir:

リンクは貼りません、人によって考え方が違うので。私は、聖杯を作ることは絶望的だという原則から始めることをお勧めします。この場合、与えられたTPとSLに対して、次のように定式化することができる。

スプレッドがない場合、同じSLと同じTPを持つ一連の取引における期待ペイオフはゼロである。

スプレッドがない場合の利益の期待値は、P(TP)*TP-P(SL)*SL=0に等しく、SLとTPは取引開始レベルからそのレベルまでの距離、PはそれぞれSLまたはTPによって取引が完了する確率を示します。

全取引の完了条件P(TP)+P(SL)=1より、P(TP)*TP-(1-P(TP))*SL=0とすると、P(TP)*(TP+SL)=SLとなり、また、P(TP)+P(SL)=1より、P(TP)*(1-TP)=0とすると

p(tp)=sl/(sl+tp)です。

スプレッドを考慮するには、期待ペイオフをゼロからスプレッドに等しい損失期待値に置き換え、P(TP)*TP-P(SL)*SL=Spreadとし、必要式を導き出す必要があります。

係数のことを聞くと、C(n,k)、つまりP(x)=C(n,k)*P(y/x)のような記憶がありますが......。とにかく、混乱している...。本をめくってみないとわからない。
 
bobrush:
係数のことを聞くと、C(n,k)、つまりP(x)=C(n,k)*P(y/x)・・・みたいな記憶があるのですが・・・。とにかく、混乱している...。本をめくってみないとわからない。

確率論の本で、n×kの組み合わせの数C(n,k)というヒントから判断すると、これは組合せ論であり、確率論で出された問題に対する答えはない、ということである。具体的には、P(TP)*TP-P(SL)*SL=0 という式になります。

経験的にわかったんです。SLとTPの組み合わせで、統計的に有意なゼロからの乖離が最小になるようなものを探しているのです。25通貨ペアのティック履歴の データベースは、50〜60のディーリングセンターから約300週間かけて収集され、当時は500億ティックが存在していました。定期的に、あるいは擬似的にランダムに案件をオープンする方法は何十回も試しました。スプレッドを除いたレートは、BidとAskの算術平均とされた。

 
Vladimir:

確率論の本で、n×kの組み合わせの数C(n,k)というヒントから判断すると、これは組合せ論であり、確率論で出された問いに答えはない、ということである。具体的には、P(TP)*TP-P(SL)*SL=0 という式になります。

経験的にわかったんです。SLとTPの組み合わせで、統計的に有意なゼロからの乖離が最小になるようなものを探しているのです。25通貨ペアのティック履歴の データベースは、50〜60のディーリングセンターから約300週間かけて収集され、当時は500億ティックが存在していました。定期的に、あるいは擬似的にランダムに案件をオープンする方法は何十回も試しました。スプレッドのないレートは、BidとAskの算術平均とされた。

理論と実践は同じということです。300週は理論を確認するためだけの5年以上?
たとえランダムであっても、信号によってであっても、どのように取引を開始しても、結果は同じ、M(x)=0であることが判明した?