銘柄を変えただけで、チャートに適用している分析テクニックやストラテジーのパラメータも自動変更する方法

今回は、EasyLanguage全般に関する小ネタです。(小ネタといいつつ、結構使えると思います)

ストラテジーのバックテストで、複数の銘柄ごとに最適なパラメータを得られたけれど、以下のような悩みをお持ちの方、必見。

・チャートで銘柄を変えるごとにストラテジーのパラメータ値を変えなきゃいけないのが面倒
・ストラテジーとセットで使う分析テクニックのパラメータ値も手動で合わせなきゃいけないのが面倒

通常は、ストラテジーに入力パラメータを設定

例えば移動平均線を利用した分析テクニックやストラテジーを自作する場合、計算足数などのパラメータはInputsで入力パラメータ化する事が多いと思います。

Inputs:
    inLength(5);

Vars:
    varAvg(0);

varAvg = AverageFC( Close, inLength );
Plot1( varAvg, "移動平均線" );

基本的にはこれで良いのですが、バックテストで銘柄コードごとにinLengthの最適値が得られているなら、If記述を活用する事により、手作業で入力パラメータを設定しなくてもEasyLanguage上で現在適用中の銘柄を自動判断し、対応するパラメータを使ってくれます。

例えば、以下のように銘柄ごとの「移動平均線の計算足数」が決まっている場合・・

銘柄コード Length
1111-TS 5
2222-TS 14
3333-TS 99
(その他) 20

Symbolで現在適用されている銘柄コードを取得できるので、以下のようなEasyLanguageになります。

Vars:
    varLength(0),
    varAvg(0);

If Symbol = "1111-TS" then
    varLength = 5
Else If Symbol = "2222-TS" then
    varLength = 14
Else If Symbol = "3333-TS" then
    varLength = 99
Else
    varLength = 20;

varAvg = AverageFC( Close, varLength );
Plot1( varAvg, "移動平均線" );

こちらで書くメリットは、自作した分析テクニックやストラテジーを、どの銘柄でも、手作業による設定不要で、使える点です。

例えば、「1111-TS」の日足チャートにこの分析テクニックを適用すると、5日移動平均線が描画されますが、その状態で銘柄コードを「2222-TS」に変更すると、移動平均線が14日に自動で変更されるというわけです。

さらに、レーダースクリーンとチャートをカスタムシンボルリンクで繋げておけば、銘柄コードをクリックするごとに、最適化されたパラメータの分析テクニック&ストラテジーを適用したチャートが表示される・・といった事もできます。

色々と応用が利くので、ぜひ試してみてください。

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

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

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

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

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

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

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

コメントを残す

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