時間足を切り替えたら、矢印が消えた ── サインツールの矢印を保存して戻す作りと、そのあとに起きたずれ
3通り 考えた直し方 | 2種類 基準の違う矢印が1枚に並んだ | 0回 戻した矢印で鳴らす通知 |
MT4/MT5のインジケーターを作って、GogoJungleで販売している lab.aiueo です。
6月に、SMC-Signalを買ってくださった方から、ご連絡をいただきました。
矢印を見てエントリーしたあと、上の時間足を確かめて元の時間足に戻すと、矢印と利確のラインが消えている、という内容でした。
エントリーの根拠にした矢印を、あとで見返せない。使う側からすると、いちばん困る消え方です。
今日は、その原因と直し方、そして直したあとにもう1つ起きた「ずれ」の話を書きます。
時間足を切り替えると、インジは最初からやり直す
MT4は、チャートの時間足を切り替えると、そのチャートのインジを一度終わらせて、最初から起動し直します。描いていた矢印も線も、いったん全部消えます。
そのあと、インジは過去の価格から描き直します。描き直せるものは戻り、描き直せないものは消えたままになります。
同じ時間足で使い続けている間は、SMC-Signal の矢印は消えません。消えるのは、時間足を切り替えたときと、MT4を再起動したときだけでした。
消えたのは「リテスト」の矢印だった
SMC-Signal の矢印には、出し方が2つあります。
- ブレイク:直前の高値・安値を、終値で抜けたときに出す
- リテスト:ブレイクのあと、同じ向きのOBかFVGまで価格が戻ってきたときに出す
ブレイクの矢印は、過去の価格から「どこで抜けたか」を数え直せます。だから、描き直しで戻りました。
リテストの判定は、「いま確定したばかりの足」だけを見る作りでした。時間が進むと、その足はもう「いま確定した足」ではありません。描き直すときには当てはまる足が見つからず、矢印も、利確と損切りの線も戻りませんでした。
直し方は、3つ考えました
- リテストも、過去の価格から判定し直す
- 出た矢印をその場でファイルに保存しておき、起動し直したら読み戻す
- ブレイクは1、リテストは2で、使い分ける
1を選ばなかったのは、当時の状態を同じに作り直せる保証がないからです。リテストの判定には、そのとき有効だったOBやFVGが要ります。作り直した結果が、そのとき実際に出た矢印と違えば、それは「あとから矢印が変わる」インジになってしまいます。
3は、戻し方を2通り持つことになります。直すときの手間が倍になります。
そこで、2にしました。出た瞬間の値をそのまま保存して、そのまま描き直します。出たときと違う矢印には、なりようがありません。
保存して戻す作り(Ver1.03、6月5日)
- 保存先:通貨ペアと時間足ごとに1つのファイル(ユーロドルの15分足なら EURUSD_15.csv)
- 保存する中身:足の時刻、向き、入る価格、損切り、利確3つ、リスクリワード、点数
- 保存するとき:矢印を出した瞬間に1行足す。同じ足・同じ向きは2回書かない
- 戻すとき:起動して最初の計算で1回だけ読む。チャートに読み込まれている範囲の矢印を描き、利確と損切りの線は最新の1組だけ描く
- 通知:戻した矢印では、アラートも通知も鳴らさない。過去の矢印で鳴ると、今出たと勘違いされるからです
- 片付け:チャートの範囲より古くなった行は消す
- 設定:保存したくない方のために、切れるようにした(PersistSignals)
ファイルを時間足ごとに分けたのは、リテストはその時間足の足にしか意味がないからです。1時間足に切り替えたら、1時間足のファイルを読みます。
直したあとに起きた、もう1つのずれ
8月に、MT5版を買ってくださった方から、「過去のチャートに売りの矢印しか出ない」とご連絡をいただきました。
最初は移植のミスを疑いました。でも、判定のコードはMT4版と同じでした。
原因は、過去を描き直すときの点数の付け方でした。
SMC-Signal は、5つの根拠(OB・FVG・Premium/Discount・Sweep・上の時間足の向き)で点数を付け、基準に届いたら矢印を出します。
過去の足を描き直すとき、このうち上の時間足の向きを、「その足の時点の向き」ではなく「チャートに入れた瞬間の向き」で数えていました。Sweep も同じでした。
上の時間足が下向きのときにチャートへ入れると、過去のすべての足で、売りに1点、買いに0点が入ります。初期設定では2点で矢印が出るので、過去のチャートに買いがほとんど出なくなっていました。
では、MT4版ではなぜ買いも出ていたのか。
MT4版は前から動かしていたので、実際に出た矢印が、6月に作った保存ファイルから戻されていたのです。保存した矢印は、出たときの上の時間足の向きで、正しく点数が付いています。
つまり、1枚のチャートの上に、基準の違う2種類の矢印が並んでいました。
- 保存ファイルから戻した矢印:出たときの状態で点数を付けたもの
- 過去の価格から描き直した矢印:チャートに入れた瞬間の状態で点数を付けたもの
MT5版は出したばかりで、保存ファイルがほとんどありませんでした。だから、後者だけが見えていたのです。
「その足の時点」で数え直す(MT4版 Ver1.08・MT5版 Ver1.01)
8月29日の版で、過去を描き直すときの数え方を直しました。
- Sweep:その足より後に起きたものは数えない
- 上の時間足の向き:その足が入っている上の時間足の、その時点の向きで判定する。その足より新しい足は1本も見ない
パネルに出す上の時間足の向きも、点数と同じ計算から出すようにしました。別々に計算すると、パネルは「下向き」なのに点数は上向きで付く、という食い違いが起きるからです。
正直に書くと、OBとFVGの点は、まだ「その足の時点」にできていません。消えたゾーンを持っておく作りになっていないためです。初めてチャートに入れたときに過去を描き直す分は、OBとFVGだけ、入れた時点のゾーンで数えています。
9月には、動いている途中で過去の足に矢印があとから付く問題も見つけて、直しました。
作る側として、決めたこと
- その瞬間にしか判定できない矢印は、出た瞬間の値を保存して戻す
- 過去を描き直すときは、すべて「その足の時点」の情報で数える。今の状態を過去に当てない
- 保存したものと描き直したものが同じチャートに並ぶなら、同じ基準になっているか確かめる
- 戻した矢印では、通知を鳴らさない
SMC-Signal
5つの根拠を点数にして、確定した足で矢印を出すサインツールです。時間足を切り替えても、MT4・MT5を再起動しても、出た矢印と利確・損切りの線を戻します。
SMC-Signal(MT4) | 販売ページを見る |
SMC-Signal MT5 | 販売ページを見る |
本記事は、私自身の開発と、購入者の方からのご連絡をもとに書いています。紹介しているインジケーターは相場分析を補助するツールであり、利益を保証するものではありません。矢印は売買を勧めるものではありません。投資判断はご自身の責任で行ってください。
最後まで読んでいただき、ありがとうございました。