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



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

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

表示する要素は、『売上成長率(予想)』、『売上成長率』にします。
なぜ、コレにしたかというと、この値、実はトレステのスキャナーで出すことが出来るのです。

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

『売上成長率(予想)』、『売上成長率』のデータをトレステのスキャナーで抽出する

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

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

実際のプログラム

using elsystem.io;
using elsystem.collections;

Inputs: string iFile(“D:\uriage.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)/100, “売上成長率(予想)” );
Plot2 ( StrToNum(vRead.at(3) asType string)/100, “売上成長率” );
If StrToNum(vRead.at(2) asType string)/100 > StrToNum(vRead.at(3) asType string)/100 then SetPlotColor(1,red) else SetPlotColor(1,Cyan) ;
If StrToNum(vRead.at(3) asType string)/100 < 0 then SetPlotColor(2,Cyan);

End
Else Begin
Plot1 ( 0, “売上成長率(予想)” );
Plot2 ( 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 );
Return d1;
End;

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

赤文字が無い!実は、『売上成長率(予想)』、『売上成長率』のデータは全て数字なので、
実質的に【中級編】ーPart2で使用した外部データ読み込みのフォーマットを全く変えていません!
読み込みたい項目だけ変えただけなので、項目名だけ変更するだけで、全てが対応できるのです!。

これらと同じやり方で、経常利益推移とかも作れます!是非、トライしてみて下さい!

Follow me!