AI搭載EAでテクニカルとAIの判定が割れた時の決め方

AI搭載EAでテクニカルとAIの判定が割れた時の決め方

記事
マネー・副業
「テクニカルは買いのサインを出していた。AIは見送りと返した。それで、EAはどう動いたのですか」。完成したEAについてこう尋ねると、答えに詰まる方がいる。動かしているご本人も、その場面で何が起きたのかを説明できない。

割れること自体は、おかしなことではない。二つの判定を並べた時点で、割れるのは通常運転だ。同じ答えしか返らないのなら、二つ置いた意味がない。厄介なのは割れることではなく、割れた時にどう振る舞うかを誰も決めていないことのほうにある。

決めていないと、作り手がどちらかに倒す。悪気があるわけではない。コードにする以上、どちらかを書かなければ動かないからだ。今回は、割れた時の決着のさせ方と、決めた内容をどこに残すかを並べていく。

割れるのは、通常運転

二つの判定を置く理由は、違う角度から見るためだ。片方は数値の比較で閉じる。もう片方は、数値にしづらいものを言葉で説明して聞く。見ているものが違うのだから、答えも割れる。割れない前提で組んでいたのなら、その前提のほうを疑ったほうがいい。

割れの多さを「精度が悪い」と読むと、たいてい判断を誤ります。テクニカルが出したサインの何割かに横から待ったをかけてもらうために、わざわざ載せたはずです。待ったが一度もかからないのなら、費用と待ち時間だけが増えていることになります。

何回に一回、割れているのか

決着のルールを考える前に、数える。ログに三つ並べて残しておく。テクニカルがどう判定したか、AIがどう判定したか、そして最終的にEAが何をしたか。三つ目が抜けている実装は珍しくない。発注の記録だけが残っていても、その裏で割れていたのかどうかが後から分からない。

しばらく回せば割合が出る。N回に1回しか割れないのか、それとも大半の場面で割れているのか。ここが分かってはじめて、どの決着のさせ方が自分の運用に合うかを比べられる。数えないまま決めたルールは、効いているかどうかを後から確かめる手段がない。

数えるのはテクニカルが条件を満たした回数、つまりAIに聞いた回数のほうだ。何も起きていない足まで母数に入れると、割れの割合は限りなく小さく出る。母数を取り違えると、次に決めるルールの土台ごとずれる。

決着のさせ方は、大きく3つ

割れた場面でできることを、順に並べる。一致したときだけ出す。どちらを上位にするかを先に決めておく。その回は結論を出さずに持ち越す。呼び方は何でもいいが、まずこの3つのどれかに寄せて決めると話が早い。

一つ目は、両方が同じ向きを指した場面だけ発注し、割れたら何もしない形。二つ目は、上位に置いた側の判定をそのまま最終判断にする形。三つ目は、その回を飛ばして、次の判定機会にもう一度聞き直す形だ。ロットを落として出すような中間の形もあるが、最初から中間に置くと、効いているかどうかを後から確かめにくくなる。

割れた時、どう決着させるか

どれが正しいというものではない。ただ、選んだ時点で、取引の回数がどちらへ動くかは決まる。一致で出す形にすれば、回数は減る方向にしか動かない。上位をテクニカルにすれば、AIは記録を残すだけの存在になる。上位をAIにすれば、AIが最後の決定者になる。動かし始めてから「思ったより出ない」と慌てないよう、ここは先に見込んでおきたい。

「何もしない」が二つの意味を持つ

一つのルールでまとめてしまうと、危ない場所が残る。エントリーで割れたときの「何もしない」は、ポジションを持たないという意味だ。ところが決済で割れたときの「何もしない」は、持ち続けるという意味になる。同じ言葉なのに、結果は正反対になる。

決済側にAIの判定を噛ませている構成なら、なおさら分けて書いたほうがいい。テクニカルが閉じろと言い、AIがまだ持てと言った場面で、どちらを採るのか。ここを空白にしたまま動かすと、その判断はコードを書く順番で決まってしまう。
「何もしない」が、入らないことなのか、閉じないことなのか。同じ言葉に二つの意味を持たせない。

偏っているなら、疑うのは置き方のほう

数えてみると、極端な出方をすることがある。ほとんど割れないか、割れてばかりか。どちらの場合も、決着のルールをいじる前に、置き方そのものを見直したほうがいい。決着のさせ方の話は、割れがほどよく出ていることを前提にしているからだ。

ほとんど割れないなら、両方が同じ材料を見ている疑いがある。AIへ渡している文の中身が、テクニカルの判定に使った数値とほとんど同じなら、返る答えが揃うのは当たり前だ。二重に見ているだけで、判断の材料は増えていない。

逆に割れてばかりなら、渡している情報が足りていないことがある。人がチャートを見て判断するときに目へ入れているものが、渡す文に入っていない。何をどう渡すかは、それだけで一本になる話なので、ここでは触れない。

割れ方から読み取れること

仕様書に、一行で書く

決めたら、文にして残す。「テクニカルとAIの判定が割れた場合は◯◯する」。この一行があれば足りる。書かれていない一行は、実装した人の手癖で埋まる。

二重に持っている数字が食い違ったとき、どちらを正とするか。これは業務の仕組みでも同じことが起きる。請求した金額と、実際に振り込まれた金額。1円でも違ったときに、消し込むのか、未入金として残すのか。振込手数料が引かれた差なのか、一部だけ入ってきたのか、複数の請求がまとめて振り込まれたのか。差額の型を先に決めていない突合は、後から誰も説明できない。EAの判定も、構造としては同じ突合だ。

あわせて、割れた回数と、その時どちらを採ったかを残しておく。決着のルールを後から変えるとき、これがないと何がどう変わったのかを説明できない。変える前と後で、発注の回数と、見送った場面の数を並べる。記録がなければ、変えた結果を印象で語ることになる。

当方は元金融系のシステムエンジニアで、ココナラでMT5向けのEA開発をお受けしています。テクニカルだけの構成でも、AIの判定を組み合わせる構成でも承っており、割れた場合の振る舞いは仕様に書いたうえでお渡しします。お渡しするのはソフトウェアで、売買の基準そのものはご依頼者さまのルールをもとに組みます。決着のさせ方が決まっていない段階でも構いませんので、いまお使いのルールを箇条書きにして、ココナラのメッセージからご相談ください。なお、お渡しするのはソフトウェアであって、投資助言や運用の代行ではありません。
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す