Bot化するときに陥りやすい罠とは

裁量トレードをBotにした時に起こりやすいことって沢山あるんです。

 
BTCの価格は調子悪そうですが、BTCFXのBot(システムトレード)が流行ってきて、市場が盛り上がり始めているのは嬉しいですね。パズルが好きな人はシステムトレードが楽しいと思うので、ぜひ挑戦してみてください。

 
今日は裁量トレードをBot化した時に起こりやすい事を書きます。

 

 

条件の書き方のワナ

自分がBot開発を始めた時にまさに起こった事なのですが、複数の計算式(複数のインジケーター)を活用したエントリー/エグジット条件の場合、コードの書き方によって想定していない結果になる事が多々あります。

 
ここ最近ツイッターで流行っているVIX戦略を検証している方々を見てると、同じ課題があるけれど気付いていない方もいると思い記事にすることにしました。(※VIX戦略を例にしてすみません)

 

例)条件Aと条件Bが同時に成立した時にエントリーする

あなたがこのロジックを採用している場合、以下のどの事を言っているのでしょうか。

1. Aが成立した後に、Aが成立したまま、Bが成立したら、エントリーする

2. AとBがどちらから成立しても良く、同時に成立したら、エントリーする

3. Bが成立した後に、Bが成立したまま、Aが成立したら、エントリーする

 

たとえば、
1. Aが成立した後に、Aが成立したまま、Bが成立したら、エントリーする
の場合、

IF (Aが成立){
 IF (Bが成立){
  エントリーする;
 }
}

です。

つまり、先に条件Aが成立しないと条件Bの成立判定が行われません。

 

2. AとBがどちらから成立しても良く、同時に成立したら、エントリーする
であれば、

IF (Aが成立 and Bが成立){
 エントリーする;
}

となりますし、

 

3. Bが成立した後に、Bが成立したまま、Aが成立したら、エントリーする
であれば、

IF (Bが成立){
 IF (Aが成立){
  エントリーする;
 }
}

となります。

 

上記3つの場合、エントリーする時には条件Aと条件Bが同時に成立していますが、微妙にロジックが異なるのは分かりますでしょうか。

 
 

VIX戦略は複数のインジケーターを組み合わせるものです。

よって、

・成立する順番は関係なく、別々に成立を確認しながら全部が成立したらエントリーとする

・条件ごとに優先順位(成立順序)があってその順番通りに条件が成立したらエントリーする

などなど、インジケーターとの優先度や関係性によって結果は大きく変わるはずです。

 

裁量トレードで上手く行っててもBot化したら結果が出ない理由の1つは、このエントリー条件設定であることが多かったりしますので、もし自作でも他作でも、Botのエントリー/エグジットの挙動に違和感がある人は、ぜひこの部分を確認・修正してみてください。

 
あえて書きませんが、TradingViewでのインジケーターや投資戦略テスターでも同じことですよ。

 

本日はここまで。
今後もよろしくお願いします。