【トレステ】いろんな分析テクニックを自作、アレンジしてみよう-【中級編】ーPart3ートレステスキャナーで抽出したデータを外部データに保存し読み込む事で銘柄コードと紐付ける-Part2。これでレーダースクリーンがパワーアップ。配当推移を調べよう!



【中級編】ーPart1で紹介した外部ファイルと紐づけするフォーマットを使って、各銘柄の配当推移を表示するインジケーターを作ります。

それでは、トレードステーション【トレステ】EasyLanguage(イージーランゲージ)でプログラムを作っていきましょう。

表示する要素は、『配当金(会社予想)』、『配当金』、『配当利回り(会社予想)』、『配当利回り』にします。
なぜ、コレにしたかというと、この値、実はトレステのスキャナーで出すことが出来るのです。

では、【中級編】ーPart2で学んだトレステスキャナーを使った各要素のデータを抽出方法と同じやり方で、データファイルを作り、【中級編】ーPart2で使用した外部データ読み込みのフォーマットをどう変化させるか学んでいきたいと思います。

『配当金(会社予想)』、『配当金』、『配当利回り(会社予想)』、『配当利回り』のデータをトレステのスキャナーで抽出する

  1. トレーディングアプリからスキャナーを機動する。
  2. スキャナーが立ち上がったら左側のウィンドウの下にある挿入ボタンをクリック。
  3. スキャンを挿入のウィンドウが立ち上がるので、名前を入力。今回は『配当推移』とでもしときます。
  4. 右下の進むを押す。
  5. スキャンするシンボルの範囲を今回は東証全体にしますので、含まれるコードと書かれた部分の下の黄色い部分を押して出てきたウィンドゥの
    『取引所』の横の『+』をクリック ⇒ 『株』の横の『+』をクリック ⇒ 東証を選択
  6. 右下の進むを押す。
  7. スキャンで使用する基準を選択の『フィールド』と書かれた部分の下の黄色い部分を押して出てきたウィンドゥの
    『会社プロファイル』の横の『+』をクリック ⇒ 銘柄名を選択
  8. 真ん中の演算子と書かれた部分の下の黄色い部分を押して出てきたウィンドゥの一番下の『表示』を選択。このコマンドで、会社名を表示するとなります。
    7.8をしないと銘柄コードだけで、会社名がわかりません。
  9. スキャンで使用する基準を選択の『フィールド』と書かれた部分の下の黄色い部分を押して出てきたウィンドゥの
    『配当情報』の横の『+』をクリック ⇒ 『会社予想』の横の『+』をクリック⇒ 配当金[会社予想]を選択
  10. 真ん中の演算子と書かれた部分の下の黄色い部分を押して出てきたウィンドゥの一番下の『表示』を選択。
  11. スキャンで使用する基準を選択の『フィールド』と書かれた部分の下の黄色い部分を押して出てきたウィンドゥの
    『配当情報』の横の『+』をクリック ⇒ 『実績』の横の『+』をクリック⇒ 配当金を選択
  12. 真ん中の演算子と書かれた部分の下の黄色い部分を押して出てきたウィンドゥの一番下の『表示』を選択。
  13. スキャンで使用する基準を選択の『フィールド』と書かれた部分の下の黄色い部分を押して出てきたウィンドゥの
    『配当情報』の横の『+』をクリック ⇒ 『会社予想』の横の『+』をクリック⇒ 配当利回り[会社予想]を選択
  14. 真ん中の演算子と書かれた部分の下の黄色い部分を押して出てきたウィンドゥの一番下の『表示』を選択。
  15. スキャンで使用する基準を選択の『フィールド』と書かれた部分の下の黄色い部分を押して出てきたウィンドゥの
    『配当情報』の横の『+』をクリック ⇒ 『実績』の横の『+』をクリック⇒ 配当利回りを選択
  16. 右下の実行を押す。
  17. データ抽出完了。
  18. トレステスキャナー上で全ての銘柄及びデータ全部を選択してコピーしwindowsメモ帳にペーストします。うまくペーストできました!
    銘柄コードに『-TS』がついていると認識しないので、windowsメモ帳の編集で置換を選択し検索する文字列を『-TS』にして置換後の文字列を空欄にし、すべて置換を選択。
    同様に『-JQ』も行う。
  19. ファイル名をボリュームDの一番上でhaitou.txtで保存する。ファイルの種類は、テキスト文書、文字コードはUTF-8で保存。
  20. これで、データファイルの作成完了です。

今回はいつもの手順でなく、実際のプログラムから紹介した後、前回使用したフォーマットをどう変化させたか理解が必要なところは赤い文字にしています、そこだけ説明します。
それ以外の部分は、まるまる使用して頂く形で良いと思います。

実際のプログラム

using elsystem.io;
using elsystem.collections;

Inputs: string iFile(“D:\haitou.txt”) [DisplayName=”フォルダまでのパス”];

vars: StreamReader SR(null),
StreamWriter SW(null),

Dictionary dRead(null),
Vector vRead(null);

Method Void CreateSR()
Begin

SR = StreamReader.Create(iFile,elsystem.text.Encoding.UTF8 );
While SR.EndOfStream = false
Begin
vRead = SR.ReadLine().Split(” “);
if vRead.at(0) asType string = Symbolroot Then
Begin
dRead.Add(symbolroot, DicSR() );
Break;
End;
End;
SR.Close();

if vRead.at(0) asType string = Symbolroot Then
Begin
Plot1 ( StrToNum(vRead.at(2) asType string), “配当金(会社予想)” );
Plot2 ( StrToNum(vRead.at(3) asType string), “配当金” );
Plot3 ( StrToNum(vRead.at(4) asType string)/100, “配当利回り(会社予想)” );
Plot4 ( StrToNum(vRead.at(5) asType string)/100, “配当利回り” );
If StrToNum(vRead.at(2) asType string) > StrToNum(vRead.at(3) asType string) then SetPlotColor(1,red) else SetPlotColor(1,Cyan) ;
If StrToNum(vRead.at(3) asType string)/100 < 0 then SetPlotColor(2,Cyan);
If StrToNum(vRead.at(4) asType string)/100 > StrToNum(vRead.at(5) asType string)/100 then SetPlotColor(3,red) else SetPlotColor(3,Cyan) ;
If StrToNum(vRead.at(5) asType string)/100 < 0 then SetPlotColor(4,Cyan);

End
Else Begin
Plot1 ( 0, “配当金(会社予想)” );
Plot2 ( 0, “配当金” );
Plot3 ( 0, “配当利回り(会社予想)” );
Plot4 ( 0, “配当利回り” );
End;
End;

Method Dictionary DicSR()
Vars: Dictionary d1;
Begin
d1 = new Dictionary();
d1.Add(“コード”, vRead.at(0) asType string );
d1.Add(“銘柄名”, vRead.at(1) asType string );
d1.Add(“配当金(会社予想)”,vRead.at(2) asType string );
d1.Add(“配当金”,vRead.at(3) asType string );
d1.Add(“配当利回り(会社予想)”,vRead.at(4) asType string );
d1.Add(“配当利回り”,vRead.at(5) asType string );
Return d1;
End;

Once Begin
Clearprintlog;
dRead = new Dictionary;
vRead = new Vector;
CreateSR();
End;

赤文字がほぼ無い!実は、『配当金(会社予想)』、『配当金』、『配当利回り(会社予想)』、『配当利回り』は全て数字なので、ファーマットはほぼ変わらない。
ただ、『配当利回り(会社予想)』、『配当利回り』は、単位が『パーセント』でスキャナーで抽出されるので、レーダスクリーンにいれる時に分析テクニックの設定でスタイルをパーセントにしたかった為あえて、100で割っています。

StrToNum(vRead.at(4) asType string)/100

実質的に【中級編】ーPart2で使用した外部データ読み込みのフォーマットを全く変えていません!
読み込みたい項目だけ変えただけなので、項目名だけ変更するだけで、全てが対応できるのです!。

Follow me!