今回はポイントはこちら。
2本のラインの交差判定ブロックです。
どのツールボックスに配置するか迷ったのですが、テクニカル指標を使うので、テクニカル指標のツールボックスに配置しました。
下図のように2本のテクニカル指標が交差したかどうかを判定する場面で利用します。テクニカル指標を利用したシグナル生成でよく出てくるパターンです。
例えば、1本前の短期移動平均をFastMA1、長期移動平均をSlowMA1、2本前の短期移動平均をFastMA2、長期移動平均をSlowMA2とします。
ブロックで表すとこんな感じです。
交差の条件は、文章で書くと、「短期移動平均線が長期移動平均線を上抜ける」とか、「短期移動平均線が長期移動平均線を下抜ける」と表しますね。
でも、この条件はMQLのコードだと、
if (FastMA2 <= SlowMA2 && FastMA1 > SlowMA1)
のように、2本前で長期移動平均の方が上、かつ、1本前で短期移動平均の方は上という書き方をします。
もちろん、このような条件分岐も次のようにブロックで表すことはできます。
ただ、このような書き方はあくまでプログラム向けです。人が考えているイメージをコンピュータだったらこう実行した方がいいよね、と忖度した書き方です。人間にとってわかりやすい書き方ではありません。
そこで、同じ4つの値を使うのなら、チャートの見た目のロジック通りにブロック化できる方がいいということで、2本の交差判定ブロックを作りました。
例えば、「短期移動平均線が長期移動平均線を上抜ける」条件であれば、
というブロックになります。