第14話:AIと喧嘩しながら作った、ACE最初の目
ACE Gold EA Ver.1 ― GENESIS
今では、エントリー判定もあれば、フィルターもある
TPもSLも、トレーリングもある
でも、最初からそんなEAを作ろうとしていたわけではありません
ACEの一番最初に作ろうとしたもの
それは
チャートに2つの平行チャネルを作ること
ただ、それだけでした
最初の構想は、かなり単純だった
見るのは、直近120本のローソク足
まず上側
120本の中から高い足を探し
上位3本の候補を出す
その中の2本の上端を結んで、一本のラインを作る
そして、そのラインと同じ傾きの線を下へ平行移動させ
120本すべての足がチャネルの中に収まるところまで下げる
これが上側から作るチャネル
次に下側
今度は120本の中から低い足を探し
下位3本の候補を出す
その中の2本の下端を結ぶ
そして同じ傾きの線を上へ平行移動させ
120本すべての足が収まるところまで上げる
やっていることは、上下を反転しただけ
頭の中では、とても単純でした
「上でやったことを、下でも同じように」
だから最初は
「上側ができたなら、下側も同じ作り方でできる」
と思っていました
高値を安値に変える
上を下に変える
下へ動かす処理を、上へ動かす処理に変える
ほぼ鏡写しです
ところが
なぜか、できない
同じことを頼んでいるのに、同じものができない
当時はAIと一緒にコードを作っていました
こちらとしては
「上側と同じ処理を、そのまま上下反転して下側にも作って」
と頼んでいるつもりでした
でも出来上がったものを見ると
何かが違う
候補の選び方が変わっていたり
いつの間にか別の条件が追加されていたり
「そこは変えなくていい」と言った部分まで変わっていたり
上側で動いていたロジックをそのまま使ってほしいのに
下側になると、なぜか別の解釈が入る
直しても
また別のところが変わる
「だから、同じでいいって!」
何度説明しても、微妙に違う
こちらの頭の中では
上と下で同じ構造
それなのにコードになると違ってくる
たしか、この頃はかなりイライラしていました
「上でできてるんだから、下も同じでいい」
「余計なことをしなくていい」
「そこは変えないで」
そんなやり取りを何度も繰り返していた記憶があります
そして最終的には
一度、一から作り直すところまで戻りました
最初の50行からやり直す
複雑になったコードを修正し続けるより
もう一度、最初から確認する
余計な処理は入れない
まず120本を見る
まず高値と安値を拾う
まずピークとボトムを正しく認識する
そこから少しずつ積み上げる
一気に完成させようとするのをやめて
最初の50行から確認しながら作り直す
今振り返ると、この判断はかなり大きかったと思います
「勝手に変えない」がルールになった
この頃から、AIとの開発方法も変わりました
既存のコードを基準にする
大きく変更しない
変更する場所を明確にする
変更前と変更後を確認する
決めたアルゴリズムを勝手に変えない
今では当たり前にやっていることですが
ACEの開発初期は
EAのロジックだけではなく、AIとどう開発するかという方法そのものも作っていた時期
だったのだと思います
120本、全部を収める
チャネルには、もう一つ大事な条件を付けました
120本すべての足がチャネル内に収まること
見た目がそれっぽい線を引くだけではダメ
一部の足だけに都合のいいチャネルでもダメ
選んだ2点から傾きを作り
その傾きを保ったまま平行線を動かし
120本全部を包む
これを上からも
下からも
同じ考え方で作る
ようやく、ACEが相場を見るための土台ができ始めました
まだ、売買すらしていない
この時点のACEは
まだBUYもしません
SELLもしません
利益も出しません
ただチャートを見て
上から相場を見る
下から相場を見る
その2つを同時にやっているだけです
でも今振り返れば
これがACEに最初の「目」を作った瞬間でした
ACEには今、いろいろなロジックがあります
でも、その一番奥にある原型は
120本の足から、上下2方向の平行チャネルを作る
そこから始まっています
そして苦労の末
ようやくチャネルが動き始めました
しかし次の問題は、もっと難しかった
価格がラインに近づく
そして
触れる
その瞬間、ACEはどうするのか
反発するのか
そのまま抜けるのか
買うのか
売るのか
それとも、何もしないのか
次回 第15話
「触れた。さて、ACEはどうする?」
チャネルを作るだけだったACEが
いよいよ売買を考え始めます