日経平均が過去に1,000円超下落した日を探せるトレステ用自作ショウミー【サンプルコード付き】

もう昨日の事になりましたが、日経平均は1,000円超の大幅下落となりましたね。

さて、1日でこれだけの大暴落となったのは過去にどのくらいあったのでしょうか?その前後の様子を見ると、何か今後の展望に関するヒントが得られるかもしれません。

既に歴代の下落幅をまとめてくれているWebサイトなどもありますが、せっかくトレステ&EasyLanguageを利用しているので、大暴落した日付や下落幅をさがせるショウミーをEasyLanguageで自作してみました。

入力パラメータもいくつか用意したので、「1,000円超の下落」に限らず色んなパターンで使えるかと思います。

<日経平均($MNK)の日足に適用した様子>

ショウミーの機能

(1) チャートに表示されている期間の中で、指定した値幅以上、前日より上昇/下落した足にショウミーのサインを表示します。
(2) さらに該当足について、印刷ログに「日付、前日終値、当日終値、上昇/下落幅」を行出力します。

パラメータについて

値幅 対象の値幅
判定方向 1:上昇幅が【値幅】円以上を探す
-1:下落幅が【値幅】円以上を探す
ログを追記するか? 0:パラメータ変更するたび印刷ログをクリアして書き込み
1:前の出力を残して追記

サンプルコード

using elsystem;

Inputs:
    inDiff(1000) [DisplayName="値幅"],
    inUpDn(-1) [DisplayName="判定方向(1:上昇幅/-1:下落幅)"],
    inAppendLog(0) [DisplayName="ログを追記するか?(1:追記する/0:クリア)"];

//--------------------
// 最初の足のみ実行
//--------------------

Once Begin
    If inAppendLog = 0 then Begin
        ClearPrintLog;
    End;
    print("---[Start]---");
End;

//--------------------
// どの足でも実行
//--------------------

If ( Close - Close[1] ) * inUpDn >= inDiff then Begin
    Plot1( High, "Sign" );
    Print(
        ELString.Join(
            ",",
            FormatDate( "yyyy/MM/dd", ELDateToDatetime( Date ) ),
            NumToStr( Close[1], 2 ),
            NumToStr( Close, 2 ),
            NumToStr( Close - Close[1], 2 )
        )
    );
End;

//--------------------
// 最後の足のみ実行
//--------------------

Once ( LastBarOnChartEx ) Begin
    print("---[End]---");
End;

解説

( Close - Close[1] ) * inUpDn >= inDiff

についてですが、

・前日から値上がりした時:( Close – Close[1] ) が正
・前日から値下がりした時:( Close – Close[1] ) が負

となるので、値下がりの時だけ -1 を掛けて同じ式で判定できるようにしてあります。

<例:前日20,500円から本日19,000円の1,500円値下がり>
( 19000 – 20500 ) * -1 >= 1000
-1500 * -1 >= 1000
1500 >= 1000 →条件OK!

カスタマイズについて

今回は前日からの値上がり/値下がり幅でしたが、
「値上がり率/値下がり率」に変えてみても面白いと思います。

また、今回はカンマ区切りにしましたが
タブ区切りにすればExcelにすぐ貼り付けられる形になります。

ぜひ、EasyLanguageコードを色々いじってお試しください。

ではでは。

「株式投資 x IT」の
オンラインコミュニティに参加しませんか?

2019年5月頃から、トレステやEasyLanguageを中心とした株式投資に役立つ最新ツールやITスキルに関する情報が手に入るオンラインコミュニティを運営しています。

トレステやEasyLanguageの豊富な小ネタやサンプルコードが手に入り
チャットツール(Slack)でいつでもトレステやEasyLanguageの質問ができ
毎月開催している勉強会の収録動画がすべて視聴できて
トレステ以外にも株式投資に役立つ最新のツールやITスキルを学べる

オンライン動画講座
時系列分析用サンプルプログラム
OOELサンプルプログラム
Slackでいつでも質問可能

このように、「コンテンツ見放題」「チャット交流」という構成で、僕がが運営しているコミュニティになります。

最近トレステやEasyLanguageを始めたという方から、経験豊富な投資家・プログラマーの方まで、様々な人が集う場となっております。興味のある方はぜひ、ご参加ください。

トレードテック・オンラインの詳細を見る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です