ギャップ ー 収入戦略か50/50か?

26 11月 2018, 07:52
Vladimir Karputov
0
147

概論

D1時間枠でギャップの有価証券市場をチェックします。市場はギャップに向かってどのくらいの頻度で移動し続けているでしょうか?もしくはギャップの後に市場が展開しているか?これらの質問に、この記事でお答えし、カスタムグラフィックスCGraphicを使用して結果を視覚化します。 通貨ペアのファイルの選択は、関数GetOpenFileNameのDLLシステムを使用して行われます。


どの市場を選ぶか?

始めから私は専らD1時間枠のギャップに関心があると申し上げておきます。

明らかに、ギャップは外国為替のシンボルではなく、有価証券上に沢山あります。有価証券は朝から夕方まで取引され、夜間は取引されないからかもしれません。具体的には、ギャップを探す中で特に私は株式に興味があります。株式にはかなり深い歴史があります。しかし、先物はあまり適していません。なぜなら、しばしば3か月または6か月の期間を持っているからです。これは、D1時間枠の歴史を研究するには十分ではありません。

現在のシンボルとサーバー上にD1時間枠のバーの数がいくつあるかを調べるには、 "TestLoadHistory.mq5"スクリプト(ヘルプページの"データへのアクセスの構成")を使用して行うことができます。"ABBV"シンボル上のD1時間枠のバーの数をチェックする例。

Symbol ABBV

図 1. シンボル "ABBV"

手順:

  1. まず、ヘルプからスクリプトを保存します。このために、新しいスクリプトがMetaEditor 5のコードエディタで作成されます(ヘルプ:スクリプトの作成")。スクリプトの名前はすぐに"TestLoadHistory.mq5"に与えた方が良いです。ここでヘルプからスクリプトのテキストを選択し、コピーしたテキストをスクリプト "TestLoadHistory.mq5"に貼り付ける必要があります(この時ヘルプのテキストは、スクリプト内のすべてのテキストを置き換える必要があります)。
  2. 出来上がったスクリプトをコンパイルします(コンパイル後、ナビゲータウィンドウのターミナルにスクリプトが表示されます)。
  3. MetaTrader 5ターミナルでスクリプトを実行します。シンボル"ABBV"のチェックが始まったら、グラフを作成する必要があります。シンボル"ABBV"のグラフを開き、D1時間枠に変更します。『ナビゲーター』ウィンドウからスクリプトを取り出し、オープンチャートにシンボル "ABBV"をいれます。スクリプトのパラメータで、シンボルの名前を "ABBV"にし、D1時間枠を選択して日付を1970年のものに設定します。

Running the script

図2. スクリプト "TestLoadHistory.mq5"の実行

スクリプトの結果:

TestLoadHistory (ABBV,D1)       Start loadABBV,Dailyfrom1970.03.16 00:00:00
TestLoadHistory (ABBV,D1)       Loaded OK 
TestLoadHistory (ABBV,D1)       First date 2015.09.18 00:00:00 - 758 bars

- 履歴は2015年に始まり、履歴内には758のD1バーがあります。これは分析には十分な数です。

シンボルグループの取り扱い

何らかの基準を分析し計算するには、1つのシンボルグループのシンボルを比較する必要があります。原則として、MetaTrader 5端末のシンボルは、既にグループに分けられています(マーケットウォッチウィンドウとシンボル、またはショートカットキー "Ctrl" + "U"で右クリック)。

Symbols NASDAQ group (SnP100)

図3.NASDAQ(SnP100)グループのシンボル

この図では『NASDAQ(SnP100)』グループを表示しています。このグループには、"ABBV"が含まれています。シンボルのグループを扱う最も便利な方法は、そのグループのシンボル上でスクリプトが実行されるようにすることです。このように、各グループを反復するためには、各グループから1つのシンボルのグラフを手動で開いてから、動作するグラフで"Symbols on symbol tree.mq5"を起動する必要があります。このスクリプトは、グループのすべてのシンボル(シンボルの名前)を別のファイルにまとめます。

スクリプト"Symbols on symbol tree.mq5"は、次のアルゴリズムに従って動作します。文字ツリー内のパスを取得する"SYMBOL_PATHシンボルツリーの中でパスを取得し(この例では"NASDAQ(SnP100)"グループになります)、このグループからすべてのシンボルを選択し、選択したシンボルをファイルに保存します。ファイル名はシンボルツリーのパスで、 "/"と"\"の文字はすべて "_"で置き換えられます(置換はスクリプトによって自動的に実行され、ファイル名も自動的に取得されます)。NASDAQ(SnP100)シンボルグループのシンボルを置き換えた後、 "Stock Markets_USA_NYSE_NASDAQ_(SnP100)_.txt"という名前のファイルを受け取ります。

各グループを別々のファイルに配置するのはなぜか?続いて、すべてのシンボルを列挙することなく、グループファイルからシンボルの名前を読み込み、ギャップの方向性を調べることができます。一般に、"Symbols on symbol tree.mq5"スクリプトは、特定のシンボルグループから手動でシンボルを選択するルーチンを削除します。


スクリプト "Symbols on symbol tree.mq5"

このスクリプトの動作に焦点を当てます。

注意:「エキスパート」タブの"Everything is fine. There are no errorsというテキストの出力のみ、スクリプトがエラーなしで動作し、シンボルを含む結果ファイルを今後の作業に使用できることが保証されています。

ファイル操作のコードを短縮するにはCFileTxtクラスが接続し、m_file_txt(CFileTxtオブジェクトクラス)がテストファイルを使用して動作します。スクリプトは7つのステップを行います。

//+------------------------------------------------------------------+
//|                                       Symbols on symbol tree.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.000"
//---
#include <Files\FileTxt.mqh>
CFileTxt       m_file_txt;       // file txt object
//---
string   m_file_name="";         // File name
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- STEP 1
   string current_path="";
   if(!SymbolInfoString(Symbol(),SYMBOL_PATH,current_path))
     {
      Print("ERROR: SYMBOL_PATH");
      return;
     }
//--- STEP 2
   string sep_="\\";                 // A separator as a character 
   ushort u_sep_;                    // The code of the separator character 
   string result_[];                 // An array to get strings 
//--- Get the separator code 
   u_sep_=StringGetCharacter(sep_,0);
//--- Split the string to substrings 
   int k_=StringSplit(current_path,u_sep_,result_);
//--- STEP 3
//--- Now output all obtained strings 
   if(k_>0)
     {
      current_path="";
      for(int i=0;i<k_-1;i++)
         current_path=current_path+result_[i]+sep_;
     }
//--- STEP 4
   string symbols_array[];
   int symbols_total=SymbolsTotal(false);
   for(int i=0;i<symbols_total;i++)
     {
      string symbol_name=SymbolName(i,false);
      string symbol_path="";
      if(!SymbolInfoString(symbol_name,SYMBOL_PATH,symbol_path))
         continue;
      if(StringFind(symbol_path,current_path,0)==-1)
         continue;

      int size=ArraySize(symbols_array);
      ArrayResize(symbols_array,size+1,10);
      symbols_array[size]=symbol_name;
     }
//--- STEP 5
   int size=ArraySize(symbols_array);
   if(size==0)
     {
      PrintFormat("ERROR: On path \"%s\" %d symbols",current_path,size);
      return;
     }
   PrintFormat("On path \"%s\" %d symbols",current_path,size);
//--- STEP 6
   m_file_name=current_path;
   StringReplace(m_file_name,"\\","_");
   StringReplace(m_file_name,"/","_");
   if(m_file_txt.Open("5220\\"+m_file_name+".txt",FILE_WRITE|FILE_COMMON)==INVALID_HANDLE)
     {
      PrintFormat("ERROR: \"%s\" file in the Data Folder Common folder is not created",m_file_name);
      return;
     }
//--- STEP 7
   for(int i=0;i<size;i++)
      m_file_txt.WriteString(symbols_array[i]+"\r\n");
   m_file_txt.Close();
   Print("Everything is fine. There are no errors");
//---
  }
//+------------------------------------------------------------------+

スクリプトのアルゴリズムの動作。

  • ステップ1:現在のシンボルに対して、シンボルツリー内でSYMBOL_PATHを判別する。
  • ステップ2:取得したパスを、セパレータ"\"を含む部分文字列に分ける。
  • STEP 3:最後の部分文字列はシンボル名なので、現在のパスを再構築する。
  • ステップ4:使用可能なすべてシンボル上を回り、シンボルツリーのシンボルパスが現在のパスと一致する場合は、シンボル名を選択して検出されたシンボルの配列に追加する。
  • ステップ5:見つかったシンボルの配列のサイズを確認する。
  • ステップ6:ファイル名を作成する(シンボルの名前から"/"と"\"を削除してファイルを作成する)。
  • STEP 7:見つかったシンボルの配列をファイルに書き込み、ファイルを閉じる。

STEP 6に注意してください。ファイルは共有ファイルディレクトリの "5220"フォルダに作成されます(FILE_COMMONフラグが使用されます)。

また、スクリプトがエラーなく実行されたかを確認する必要があります。『エキスパート』タブに、『Everything is fine. There are no errors. Create file』というメッセージが表示されるはずです。そして次の行にファイルの名前が表示されます。この名前をコピーして『Getting gap statistics ...』スクリプトに貼り付けることができます。以下はファイルの作成に成功した例になります。

On path "Stock Markets\USA\NYSE/NASDAQ(SnP100)\" 100 symbols
Everything is fine. There are no errors. Create file:
Stock Markets_USA_NYSE_NASDAQ(SnP100)_

その結果に、各行に1シンボルがあるファイル(この例ではStock Markets_USA_NYSE_NASDAQ(SnP100)_)を取得します。このファイルの最初の5行は次のとおりです。

AAPL
ABBV
ABT
ACN
AGN

データを収集する

OHLCの履歴データをシンボルで取得し、統計を計算することは、メインスクリプトの『Getting gap statistics.mq5』が行います。シンボルごとにSGapStatistics構造で満たされます。

   struct SGapStatistics
     {
      string            name;                // symbol name
      int               d1_total;            // total number of D1 bars
      int               gap_total;           // total number of gaps
      int               gap_confirmed;       // gap was confirmed
     };

name —シンボル名
d1_total —シンボルごとのD1バーの数
gap_total —検出されたギャップの数
gap_confirmed —確認されたギャップの数(例えば、その日にギャップが上に開き、下向きに閉じた場合)

シンボルごとにOHLC価格を取得するには、最も適切な関数は『CopyRates』です。必要な時間間隔の最初と最後の日付に従って、3番目のフォームが使用されます。開始時間は、取引サーバTimeTradeServerの推定現在時間プラス1日で、最終日は1970年1月1日です。

エラーの処理方法(リクエストの結果として「-1」が返される)、またはリクエストの結果としてすべてのデータが戻されない場合(例えば、すべてのデータがサーバーからまだダウンロードされていないなど)を判別する問題が残されます。簡単な方法(リクエスト - 一時停止N - 1秒 - 再リクエスト)または正しい方法を実行することができます。正しい方法は、『TestLoadHistory.mq5』スクリプト(ヘルプページの『データへのアクセスの構成』)の完成に基づいています。

スクリプトクエリの結果を以下に示します。

   switch(res) 
     { 
      case -1 : Print("不明なシンボル",InpLoadedSymbol);                        break; 
      case -2 : Print("リクエストされたバーがグラフ上に表示できるものより多い"); break; 
      case -3 : Print("ユーザーによって実行が中断された");                    break; 
      case -4 : Print("インジケータは自分のデータを読み込まない");          break; 
      case -5 : Print("ダウンロードに失敗しました");                              break; 
      case  0 : Print("全てのデータがダウンロードされました");                                      break; 
      case  1 : Print("タイムシリーズ内にすでにある利用可能なデータで十分です");               break; 
      case  2 : Print("タイムシリーズは端末のデータから構成されます");         break; 
      default : Print("実行結果が定義されていません"); 
     }

— つまり実行結果がゼロ以下で、これはエラーです。次の動作スキームは、シンボルでファイルを開き、シンボルごとにをリクエストを行います。否定的な結果を総合します。少なくとも1つの否定結果が存在する場合は、リクエスト時の問題に関するメッセージを表示します。この場合、ユーザーはスクリプトを再度実行する必要があります(おそらく、履歴は既にロードされているか、その時点で作成されている可能性があります)。エラーがなければ、OHLCデータを取得し、ギャップの数を数えます。


スクリプト『Getting gap statistics.mq5』

このスクリプトは、端末の『エキスパート』タブのギャップに関する統計情報を表示します。以下では、『ギャップの確認』という言葉が用いらます。確認されたギャップとは、毎日のバーがギャップの方向に閉じられていることを意味し、逆方向のギャップではありません。


Gaps

図4.確認されたギャップと確認されなかったギャップ

それは1つの入力パラメータ『File name』ー補助スクリプト『Symbols on symbol tree.mq5』でコンパイルされたファイル名を持っています(このファイルはディレクトリ5220のパブリックフォルダに作成されます)。ファイル名は、ディレクトリや拡張子を指定せずに入力します。たとえば、次のようになります。

Getting gap statistics Inputs

図5. 『Getting gap statistics』スクリプトの入力パラメータ

このように、統計を取得するには、いくつかの手順を実行する必要があります。

  1. ギャップの計算が実行されるシンボルのグループで決定されます。
  2. 選択したグループから、任意のシンボルを選択し、選択したシンボルのグラフを開きます。
  3. 開いているグラフにスクリプト『Symbols on symbol tree.mq5』を配置します。その結果、選択したシンボルグループのすべてのシンボルを含むファイルが作成されます。スクリプトの実行中にエラーがないことを確認する必要があります。『エキスパート』タブで、『Everything is fine. There are no errors』というメッセージが表示されます。
  4. チャート上にスクリプト『Getting gap statistics.mq5』を配置する

その結果、『エキスパート』タブにギャップの数に関する統計が表示されます。最初の5つのシンボルの表示は以下のようになります。

      [name] [d1_total] [gap_total] [gap_confirmed]
[ 0] "AAPL"        7238        3948            1640
[ 1] "ABBV"         759         744             364
[ 2] "ABT"          762         734             374
[ 3] "ACN"          759         746             388
[ 4] "AGN"          761         754             385

それではCGraphicを使ってみよう

『エキスパート』タブ内のすべての情報を表示するのはあまり有益ではないので、スクリプト 『Getting gap statistics CGraphic.mq5』をカスタムグラフCGraphicを表示するために使用します。スクリプトに入力パラメータがあります。

  • "File name" ー シンボルを含むファイルの名前(このファイルは、"Symbols on symbol tree.mq5"スクリプトを使用して事前に作成する必要があります)
  • "Log CheckLoadHistory" ー 『エキスパート』タブのシンボルによる履歴のロード結果の表示/非表示
  • "Log Statistics" ー 『エキスパート』タブにギャップ統計を表示/非表示

動作の結果は、確認されたギャップの数(パーセント)のグラフです。

Getting gap statistics CGraphic

図6. スクリプト "Get gap statistics CGraphic.mq5"の動作の結果

図では数字が付されています。

  • "1" - 確認されたギャップの線の名前
  • "2" - 縮尺率
  • "3" - シンボルを取得したファイルの名前

グラフは、ギャップの値が50%プラスマイナス6%のレベルで変動していることを示しています(最大6%ですが、42%未満の3つのドロップがあります)。ギャップが42%未満であることを確認したこれらの3つのドロップは、確率が58%の3つのシンボルがギャップに対する1日バーがあることを意味します。

ここで別のシンボルグループをチェックすることができます ー Stock Markets\\RussiaMICEX20。Stock Markets\RussiaMICEX20グループの為のスクリプトの結果 "Getting gap statistics CGraphic.mq5"です。

Stock Markets_Russia_MICEX20_

図7. Stock Markets\RussiaMICEX20グループのギャップ統計

2つの異常なドロップがあります。しかし、現在のバージョンでは、画像とシンボルをリンクすることはできません。したがって、スクリプトを少し改善する必要があります。


スクリプト "Getting gap statistics CGraphic 2.mq5

変更点:バージョン2.0では、『エキスパート』タブで確認されたギャップの統計がパーセンテージで表示されます。このおかげで、Stock Markets\RussiaMICEX20グループの為の"Log Statistics"の設定を有効にしたときに、簡単に2つの異常シンボルが見つけることができます

          [name] [d1_total] [gap_total] [gap_confirmed] [confirmed_per]
***
[14] "NVTK.MM"          757         737             347           47.08
[15] "PIKK.MM"          886         822             282           34.31
[16] "ROSN.MM"          763         746             360           48.26
[17] "RSTI.MM"          775         753             357           47.41
[18] "RTKM.MM"          753         723             324           44.81
[19] "SBER.MM"          762         754             400           53.05
[20] "SBER_p.MM"        762         748             366           48.93
[21] "SNGS.MM"          762         733             360           49.11
[22] "TATN.MM"          765         754             370           49.07
[23] "SNGS_p.MM"        751         708             305           43.08
[24] "URKA.MM"          765         706             269           38.10
[25] "VTBR.MM"          763         743             351           47.24
[26] "RASP.MM"          778         756             354           46.83

『PIKK.MM』シンボルの34%、『URKA.MM』の38%の確認されたギャップとは、これらのシンボル上で66%と62%の確率で、毎日のバーがギャップと反対に閉じていることを意味しています。


ファイル内のシンボル(ツール)の数を制限する

さまざまなシンボルグループを分析すると、1000以上のシンボルを持つグループが見つかりました。このような大きい量を扱うことは非常に不便であることが判明しました。このような膨大なシンボル数が『Market Watch』ウィンドウにかなり長く追加され、最終的なチャートは判読不能になります。

したがって、スクリプト"Symbols on symbol tree.mq5"をモデルにして、"Symbols on symbol tree 2.mq5"バージョンを書くことにしました。バージョン2では、ファイルの最大文字数は200以下で、ファイル名に部品番号が追加されます。たとえば、 "Stock Markets\USA\NYSE/NASDAQ(SnP100)\"のシンボルグループには100個のシンボルがあるとします。つまり、1つの部分のみが存在し、ファイル名は "Stock Markets_USA_NYSE_NASDAQ(SnP100)_part_0.txt"となります。


システムダイアログ "ファイルを開く"を使用してファイルを選択する

この記事のスクリプトを数日間動作させた後、スクリプト"Getting gap statistics CGraphic 2.mq5"の入力パラメータにファイルの名前を入力することがとても不便であることがわかりました。いくつかの操作を行う必要があります。すべての端末の共有フォルダを開き、ファイルの名前をコピーして、コピーしたファイル名をスクリプトに貼り付けます。

したがって、ファイル選択はGetOpenFileNameDLL関数を使用して行います。これを行うために、"GetOpenFileNameW.mqh"ファイルを紐づけます。このファイルから"Openfilename関数は、選択された* .txtファイルにフルパスが返されます。たとえば、 "C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\Common\Files\5220\Stock Markets_USA_NYSE_NASDAQ(SnP100)_part_0.txt"のように長いものになります。ここから、パスファイル名を区別する必要があります。

スクリプトGetting gap statistics CGraphic 3.mq5は、DLL関数を使用するGetOpenFileNameDLL関数を使用します。

Allow DLL

図8. "Getting gap statistics CGraphic 3.mq5"スクリプトの実行時にDLLの許可をリクエストします。

これは『ファイルを開く』システムダイアログを使用してファイルを選択します。

File select

図9. ファイル選択


その他の有価証券の統計

ここで、他のシンボルグループのギャップに関する統計を収集することができます。


Stock Markets\USA\NYSE\NASDAQ(ETFs)グループ

グループシンボルは7つのファイルに分割されます。

Stock Markets_USA_NYSE_NASDAQ(ETFs)_part_0

図10. Stock Markets\USA\NYSE\NASDAQ(ETFs)グループ、パート0


Stock Markets_USA_NYSE_NASDAQ(ETFs)_part_1

図11. Stock Markets\USA\NYSE\NASDAQ(ETFs)グループ、パート1


Stock Markets_USA_NYSE_NASDAQ(ETFs)_part_2

図12. Stock Markets\USA\NYSE\NASDAQ(ETFs)グループ、パート2


Stock Markets_USA_NYSE_NASDAQ(ETFs)_part_3

図13. Stock Markets\USA\NYSE\NASDAQ(ETFs)グループ、パート3


Stock Markets_USA_NYSE_NASDAQ(ETFs)_part_4

図14. Stock Markets\USA\NYSE\NASDAQ(ETFs)グループ、パート4


Stock Markets_USA_NYSE_NASDAQ(ETFs)_part_5

図15. Stock Markets\USA\NYSE\NASDAQ(ETFs)グループ、パート5


Stock Markets_USA_NYSE_NASDAQ(ETFs)_part_6

図16. Stock Markets\USA\NYSE\NASDAQ(ETFs)グループ、パート6


"Stock Markets\United Kngdom\LSE Intグループ(ADR/GDR)\"

Stock Markets_United Kngdom_LSE Int. (ADR_GDR)_

図17. "Stock Markets\United Kngdom\LSE Intグループ(ADR/GDR)\"


"Stock Markets\United Kngdom\LSE (FTSE350)\"グループ

このグループには350のシンボルが含まれているため、シンボルは2つのファイルに分割されています。

Stock Markets_United Kngdom_LSE (FTSE350)_part_0

図18. "Stock Markets\United Kngdom\LSE (FTSE350)\"グループ、パート0


Stock Markets_United Kngdom_LSE (FTSE350)_part_1

図19. "Stock Markets\United Kngdom\LSE (FTSE350)\"グループ、パート1


"Stock Markets\Germany\XETRA (IBIS)\Dax100\"グループ

Stock Markets_Germany_XETRA (IBIS)_Dax100_part_0

図20. "Stock Markets\Germany\XETRA (IBIS)\Dax100\"グループ


"Stock Markets\France\Eurnext (CAC40)\"グループ

Stock Markets_France_Eurnext (CAC40)_part_0

図21. "Stock Markets\France\Eurnext (CAC40)\"グループ

まとめ

いくつかの証券市場の調査で、ギャップの後に継続的な動きと逆転の可能性は50%に近く、すなわちギャップが起こるのは50/50であることがわかりました。しかし同時に、確率が65%を大幅に上回る有価証券が存在します(これは継続確率と逆転の確率のいずれかになります)。そして、これらの証券の中には、ギャップで取引を行うことができます。

記事に記事内で説明したスクリプトのアーカイブを添付します。

スクリプト名説明
 Symbols on symbol tree.mq5 動作スクリプトシンボルツリー内のグループを定義し、このグループのすべてのシンボルを、ファイル、共有フォルダ、5220ディレクトリに保存します。
 Symbols on symbol tree 2.mq5  動作スクリプトこれは、シンボルツリー内のグループを定義し、このグループのすべてのシンボルをファイル、共有フォルダ、ディレクトリ5220に保存します。シンボルのグループを200シンボルごとにファイルに分割します。
 Getting gap statistics.mq5 スクリプトは動作スクリプトを作成したファイルからシンボルを読み込み、ギャップ統計を『エキスパート』タブに表示します
 Getting gap statistics CGraphic.mq5 スクリプトは、動作スクリプトを作成したファイルからシンボルを読み込み、カスタムグラフィックスCGraphicを使用してギャップ統計をグラフとして表示します
  Getting gap statistics CGraphic 2.mq5 スクリプトは、動作スクリプトを作成したファイルからシンボルを読み込み、カスタムグラフィックスCGraphicを使用してギャップ統計をグラフとして表示します。『エキスパート』タブの統計情報もパーセントで表示されます。
  Getting gap statistics CGraphic 3.mq5 スクリプトは、動作スクリプトを作成したファイルからシンボルを読み込み、カスタムグラフィックスCGraphicを使用してギャップ統計をグラフとして表示します。 『エキスパート』タブの統計情報もパーセントで表示されます。シンボルを含むファイルを選択するには、システムダイアログの『ファイルを開く』を使用します 
  GetOpenFileNameW.mqh システムダイアログの操作ー『ファイルを開く』を含むファイル  


MetaQuotes Software Corp.によりロシア語から翻訳された
元の記事: https://www.mql5.com/ru/articles/5220

添付されたファイル |
MQL5.zip (20.34 KB)
EAのリモートコントロールの方法 EAのリモートコントロールの方法

トレーディングロボットの主な利点は、リモートの VPS サーバー上で24時間動作できることです。 しかし、時にはサーバーに直接アクセスすることができず、タスクに介入する必要があります。 EAをリモートで管理することは可能でしょうか。 この記事では、外部コマンドを使用してEAを制御するオプションの1つを提案します。

ディープニューラルネットワーク(その7)ニューラルネットワークのアンサンブル: スタッキング ディープニューラルネットワーク(その7)ニューラルネットワークのアンサンブル: スタッキング

アンサンブルの構築を続けます。今回は、以前に作成したバギングアンサンブルに、訓練可能な結合器、つまりディープニューラルネットワークが追加されます。ニューラルネットワークの1つは、刈り込み後に7つの最良アンサンブル出力を組み合わせます。2つ目はアンサンブルの500個の出力をすべて入力として取り込み、刈り込んで結合します。ニューラルネットワークは、Python用のKeras/TensorFlowパッケージを使用して構築されます。このパッケージの特徴には簡単に触れます。テストが実行されて、バギングアンサンブルとスタッキングアンサンブルの分類品質が比較されます。

運動継続モデル-チャート上での検索と実行統計 運動継続モデル-チャート上での検索と実行統計

この記事では、運動継続モデルの1つをプログラムによって定義します。 この主なアイデアは、2つの波の定義です(メインと補正) 極値点については、フラクタルだけでなく、 "潜在的な " フラクタル-まだフラクタルとして形成されていない極値点を適用します。

ピボット・パターン:『ダブルトップ・ダブルボトム』パターンのテスト ピボット・パターン:『ダブルトップ・ダブルボトム』パターンのテスト

トレーディングの実践において、トレーダーはしばしば、トレンドの傾向の逆転のポイントを探します。なぜなら、トレンドが生まれたときに、その価格が最も大きな変動の可能性を秘めているからです。そのため、技術分析の実践において、様々な反転パターンが考慮されます。最も有名で頻繁に使用されるパターンの1つはダブルトップ・ダブルボトムです。この記事では、パターンの自動検出の例を提案し、またその履歴データに対する収益性をテストします。