ラベル チャート の投稿を表示しています。 すべての投稿を表示
ラベル チャート の投稿を表示しています。 すべての投稿を表示

2010/06/01

SwingLine

ZigZagというチャートがあります。値動きの山を名前通りジグザグに表示してくれるチャートです。

このチャートのジグザグ加減は画面サイズに依存するのかと思ったのですが、直近12本分(パラメータExtDepthで変更可)の最高値/最安値を更新したかどうかを見ているぽいです。

そこで現在表示してる領域(*)の24%(パラメータturningWidthで変更可)を基準にジグザグ線を引くチャートを作ってみました。
*:チャートの表示領域は表示範囲内の最高値と最安値によって変化します。

表示領域の高さが5%以上変化すると再描画します。後ろの方にスクロールしてコンテキストメニューから「更新」をすれば見ている範囲に応じて再描画されると思います。

プログラムの練習問題にあるような最大値と最小値の取得などの応用です。単純な配列内から最大値と最小値を探すのとは違い、一定期間の方向性(上昇中なのか下降中なのか)の判断が必要になります。

大体似た線を引くのですが若干違いの出る場所もあります。

どちらかというと描画するだけならゴリゴリif分岐していけばなんとかなるんですが、起動直後にWindowサイズが取れないとか、起動直後と起動後にチャートをリセットした場合で初期化される変数が異なるなどの環境要因の所為でいらない分岐が増えます。

デフォルトのMetaEditorは日本語の入力がおぼつかないので、コメントを英語で書いてますが、内容はかなり怪しい物です。

ソース:SwingLine.mq4 - Google Code(DL:SwingLine.mq4)

2010/03/16

通貨別騰落率チャート

UpDownRatio.mq4

ある時点(デフォルトで足120本前)の値段と比較したクロス円の複数通貨ペア(デフォルトでUSD/JPY, EUR/JPY, GBP/JPY, AUD/JPY, NZD/JPY, CAD/JPY, CHF/JPY)の騰落率(%)を表示するチャートです。

MetaTrader4のカスタムインジケーターですので、MetaTrader4が必要になります。

現在表示している通貨ペアの騰落率が白い線、それ以外の7色が上記7通貨ペアになります。どの線がどの通貨ペアかは、線にマウスオーバーするとツールチップに表示されます。

指定した足の数(デフォルト120)より少ないヒストリカルデータしか取得できない場合(月足の場合など)は警告が出ます。

初期表示時した時点で足120本分前の値段を元に計算するので、短い時間足だとすぐに表示が崩れるかもしれません。

また、一度も表示した事が無い通貨ペアや時間足の場合、データを自動で取得するよりも先に警告が出てしまいます。何回か時間足の表示を切り替えるとその内表示されます。

しかし、結果が視覚的にすぐ確認できるコーディングは楽しい物です。