前回は、チャートに色付けすることがシステムトレードのルール作りに有効であることをご紹介しました。今回はプログラムをご覧いただくことで、チャートの色付けがシグナルの特徴・クセを視覚的に理解でき、どのタイミングで出現するか確認できる方法を紹介します。
なお、下記で取り上げる「ローソク足の色付け」プログラムは、「トレードシグナル」だけでなく「トレードシグナルLite」でもご利用いただけます。ソースをコピーしてどうぞご活用ください。
マイコミジャーナルでは「トレードシグナル」を3カ月間無料で使用できるフルライセンスを抽選で5名様にご提供します。お申し込みはこちら。応募締め切りは6月29日。
分からない関数(命令文)はすぐに調べよう!
プログラミングを構築する上で、分からない関数(青文字)がでてきます。その時はすぐに「エキーラ関数のルックアップ」を使い、関数の意味や使い方を調べましょう。
(1)~(6)の手順 : プログラム(売買戦略)を基に、関数の意味を調べることができます。
(4)~(6)の手順 : プログラムの編集しながら、関数の意味を調べることができます。
- メニューの「インディケータ」を選択する
≪インディケータの一覧が表示されます≫ - 「移動平均線 単純」にマウスを合わせ、右クリックでメニューを表示する
- 「編集」を選択する
≪「移動平均線 単純」のプログラムが表示されます≫ - 知りたい関数(青文字)にマウスを合わせ、右クリックでメニューを表示する
- 「エキーラ関数のルックアップ」を選択する
- 選択した関数の説明・サンプルの表示
色付けの基本「ローソク足の色付け」プログラム
下図のチャートには濃淡2色のローソク足が描かれていますが、「トレードシグナル」を使用すれば一行の命令文でローソク足を色付けできます。
DrawCandleStick(O,H,L,C, Red,Blue,Black);
この関数を使い、簡単な表示条件を指定して色付けをしたチャートを作成します。
色付け条件
・薄いローソク足:基本ローソク足
・濃いローソク足:過去36本の高値陰線・安値陽線(36本=5分足3時間)
シグナル条件が一致するまでは薄い色のローソク足が表示され、シグナル条件のチェックを通過すれば濃い色のローソク足が表示されます。≪シグナルの特徴が視覚的に確認できます≫
Meta:
Subchart(False);
//ローソク足表示(基本)
If O < C Then DrawCandleStick(O,H,L,C,RGB(255,152,152,0),RGB(132,132,255,0),RGB(255,152,152,0)); // 陽線
If O > C Then DrawCandleStick(O,H,L,C,RGB(255,152,152,0),RGB(132,132,255,0),RGB(132,132,255,0)); // 陰線
If O = C Then DrawCandleStick(O,H,L,C,RGB(100,100,100,0),RGB(100,100,100,0),RGB(100,100,100,0)); // 母体なし
//過去36本(5分足3時間)安値陽線
If LLV(L,36) = L and O < C Then Begin //条件チェック
DrawCandleStick(o,h,l,c,Red ,Red ,Red ); //ローソク足表示(シグナル)
End;
//過去36本(5分足3時間)高値陰線
If HHV(H,36) = H and O > C Then Begin //条件チェック
DrawCandleStick(o,h,l,c,Blue,Blue,Blue); //ローソク足表示(シグナル)
End;
【関数の詳細】
「DrawCandleStick」:4本値・色を指定し、ローソク足を描く
DrawCandleStick(始値,高値,安値,終値,陽線の色,陰線の色,枠の色)
「O」:始値 「H」:高値 「L」:安値 「C」:終値
「Subchart 」:プログラムのシグナルを表示する場所を設定
(False) → メインチャート上(「True」=サブチャート上)
「If」:真偽判断を行い、条件分岐を行う
If O < C Then 処理A; → 「始値(O)<終値(C)」(陽線)なら「処理A」を実行
「HHV」:指定した期間内での高値を求める
(H,36) → H=高値 36=ローソク足36本(現在の足から過去36本の高値を求める)
「LLV」:指定した期間内での安値を求める
(L,36) → L=安値 36=ローソク足36本(現在の足から過去36本の安値を求める)
「RGB」:赤、緑、青のRGBの要素を指定して、色を作成する
「エキーラ関数のルックアップ」を利用することにより、上記の関数をより詳しく理解でき、関数のサンプルで他の使用方法もご覧いただけます。
次回はチャート上にテキスト(文字)を表示し、チャート背面に色付けする方法をご紹介いたします。