自分のトレードを自動化する方法(言語化ステップ②:水平線)
こんにちは。
あるいはこんばんは。
ついに
『水平線の言語化』
について触れたいと思います。
相場の転換点、売りと買いの交錯する場所、
優秀なトレード戦略を構築するうえで水平線とは無関係ではいられません。
水平線の算出ロジックを変更しただけで天命EAの成績が向上したように、水平線はトレード戦略の根幹を担っています。
※インジケータを信用していないため独断と偏見が含まれています。
MT5で水平線を自動で描画させようとした場合、
以下のようなコードを記述します。
// 水平線を描画する関数
void DrawHorizontalLine(double price, string label, color lineColor)
{
ObjectCreate(0, label, OBJ_HLINE, 0, 0, price);
ObjectSetInteger(0, label, OBJPROP_RAY_RIGHT, true); // チャートの右側に延長
ObjectSetInteger(0, label, OBJPROP_COLOR, lineColor); // 線の色
ObjectSetInteger(0, label, OBJPROP_WIDTH, 1); // 線の太さ
ObjectSetText(0, label, label, 10, "Arial", clrNONE); // ラベル
}
// 使用例
void OnStart()
{
double horizontalPrice = 1.2000; // 水平線の価格
string lineLabel = "HorizontalLine"; // ラベル名
color lineColor = clrRed; // 線の色
DrawHorizontalLine(horizontalPrice, lineLabel, lineColor);
// その他のトレードロジックをここに追加
}
このコードは、MT5で使用されるMQL5言語を使用して水平線を描画します。
`DrawHorizontalLine` 関数は、指定した価格に水平線を描画し、ラベル、線の色、線の太さなどを設定します。これは `OnStart` 関数内で呼び出されます。
たった一本の水平線を描画するにもこれだけのコードが必要になります。
このコードの中で水平線のレートを決めているのはこの部分です。
double horizontalPrice = 1.2000; // 水平線の価格
はい
水平線レートとして1.2000という数値を直接入力しています。
しかし実際にインジケータやEAとして水平線の描画を実行させるためにはリアルタイムのチャートから水平線レートを算出しなければなりません。
みなさんはチャートに水平線を引くとき、どのようにして描画していますか?
気になる場所、目についた場所にカーソルを合わせてクリックすることで水平線を描画していますよね?
貴方がそこをクリックすると決めた理由はなんですか?
なんとなく?
直感?
凡人がトレード技術を高めて継続して利益を上げるために最も必要なのは「再現性」だと思います。
トレード技術を磨き、手法のブラッシュアップをするために、トレビューやMT5を使って過去検証(バックテスト)をしますね。
100回同じ場面を過去検証したら、100回同じレートに寸分違わず水平線を引くことができますか?
例えば、EAのバックテストをしたときに100回違う結果が出たらそのEAを使いますか?
使いませんよね?
貴方の過去検証(バックテスト)は100回実行したら何回同じ結果を出せますか?
再現性のある手法というのは100回の過去検証(バックテスト)を実行したら、100回同じ結果を出せなければなりません。
それではここで皆さんにクイズです。
こちらに直近1ヶ月の4時間足の四本値一覧表があります。
水平線を描画すべき重要レートはどこでしょうか?
この一覧から判断できますか?
普通はできませんよね?
EAで水平線を使用するときはこの4本値一覧の中から重要レートを算出するロジックを構築します。
どうすれば算出できるかが自分なりに分かる方はぜひプログラマーになってください。
ぱっと見ではどうしたらいいか分からないと思います。
この4本値を視覚的に分かりやすく描画してくれるのが「ローソク足」です。
ローソク足には感謝してくださいね。
それではチャートにローソク足を表示して見てみましょう。
チャートにすればどこが重要レートか分かりやすくなりますね。
既に何本か水平線が描画されています。
貴方が水平線を描画するとしたらどこにしますか?
一本描画してみてください。
引きましたか?
引きましたね?
では貴方が水平線を描画するときに考えたことを全て文字に書き起こしてください。
このときに、
『なんとなく』
『この辺り』
といった抽象的な言葉を使ってはいけません。
これらの言葉を使った時点で再現性はなくなります。
少なくとも誰か第三者にその水平線の引き方を教えることはできません。
再現性のある引き方というのは、
『貴方が書き起こした文字を読めば、誰が描画しても1pips単位で同じ水平線になる』
ということです。
さらに言えば、書き起こした文字のやり方なら先に示した4本値一覧からでも水平線の位置を割り出せるはずです。
貴方の水平線手法に再現性はありますか?
ここから先の有料部分ではチャート画像にある真ん中の青色ラインの引き方について言語化します。
気になる方は読んでみてください。
ここから先は
この記事が気に入ったらサポートをしてみませんか?