システムトレード

[EasyLanguageでシステムトレード]ストラテジーを足の形成途中でも有効にしよう

EasyLanguage バックテスト 足の形成中で取引

前回[EasyLanguage]手数料を設定して現実に近いシステムトレードをしようで手数料の設定方法を紹介しました。

正確な手数料を出すには、別途プログラムを組まないとダメそうでしたが、おおよその手数料は出せました。

しかも、その手数料は場合によっては、無視できない金額にもなっていることがわかりました。

今回は、足の形成途中でも売買注文を出してバックテストをする方法を紹介します。

足の終値などではなく、その途中で売買したとした場合で、バックテストができます。

ある金額を越えたときに買い注文を出すという場合があるかと思いますが、金額を超えた足の後の足での約定では、想定と大きく異なってしまいます。

そんなときに、今回紹介する方法を使ってください。

タートル 投資手法 バックテスト
この結果を見てもまだシステムトレードしないのか【タートル流投資手法の驚くべきバックテスト結果】タートルが取ったとされる投資手法をプログラム化して、バックテストを行いました。その結果としては、かなりのリターンが期待できるものでした。トレンドフォローの投資手法は、まだまだ現役であるようです。...

Buy文やSell文の特徴

ストラテジーを作る際に、Buy文やSell文を作って、売買注文を出していると思います。

ですが、Buy Next Bar at Marketや、Sell this Bar on Closeのように、一番直近でも、今の足の終値までしか選択できません。

もしも、株価が100円を越えたときに買い注文を出すとしても、その足の終わりに105円に急騰してしまうことだってあります。

そうなると、予想通りの取引ができず、損してしまいます。

こういった現象をできるだけなくそうというのが、今回の内容です。

足の形成途中でも有効にするための解決策1 足種を細かくする

解決策としては、足種を細かくするという方法があります。

単純に、5分足で見ていたものを、1分足や秒足で見ればよいということです。

パンダはし
パンダはし
5分足から1秒足に変えると、300倍の細かさだね!それだけ精度が上がるよ!

ですが、もし「5分足を参照した移動平均線がある条件を満たしたとき」など、特定の足種で条件分を記述している場合、対応ができなくなります。

パンダはし
パンダはし
インジケーターでPriceSeriesProviderを使えば、別の足種の参照とかできるけどストラテジーではできないよ。。

そういうときは、別の解決策があります。

足の形成途中でも有効にするための解決策2 表示している足と計算している足を変える

パンダはし
パンダはし
表示している足は5分足で、計算は1秒足でしたい!

そんなあなたには、下記の方法をおすすめします。

ルックインサイドバー-1 ルックインサイドバー-2

まずは、チャート分析ウィンドウにストラテジーを挿入してください。

ルックインサイドバー-3

ストラテジーの設定から、「すべてのプロパティ」をクリックしてください。

「ストラテジープロパティ」ウィンドウが開くので、「一般」タブから「バックテスト」で、「ルックインサイドバーバックテストを使用」にチェックを入れてください。

そして、計算したい足種を選んでください。ティックも選べます。

パンダはし
パンダはし
ティックの場合、過去のデータが十分にない可能性もあるから、気を付けてね

ルックインサイドバー-4

さらに、「バックテスト」タブから、「ルックインサイドバーバックテストでイントラバー注文生成最適化を有効にする」にチェックを入れてください。

こうすることで、表示している足よりも細かい足(またはティック)で計算してくれます。

簡単ですね!

足の形成途中で注文を出すには?ストラテジーの作成方法

実際に、足の形成途中で注文を出すにはどうすればよいでしょうか。

先程も述べたように、Buy文やSell文では、足の形成途中で注文を出すことはできません。

パンダはし
パンダはし
形成中の足の終わりか、次の足でしか注文出すコマンドがないよねー

ではどうすれば良いかというと、OrderTicketコンポーネントを使うしかありません。

条件を満たした瞬間に、OrderTicketは注文を市場に出せるので、足の形成途中でも関係ありません。

注意してほしい点は、条件文のところで、5分足の移動平均であったり、現在の足を計算に含んでいる場合は、結局のところ足が形成されないと判定できないので、足の形成途中で注文が出ることはありません。

パンダはし
パンダはし

設定が完了したら

設定が完了したら、自分の思っているところでバックテストできているかをチェックしてください。

バックテストするにはBuy文などで、実用化するにはOrderTicketなので、そこにギャップが出ないように十分気を付けてください。

はじめのうちは、実際の注文は出さずに、print文を使って、印刷ログに出力する方が良いかもしれません。

ちなみに、このサイトで作ったストラテジーCrossAverageはチャートに表示されている足で移動平均線を引いて、それがクロスしたときに売買注文が出されるものなので、ルックインサイドバーを使って、いくら細かく見ても、結果は変わりません。

さいごに

バックテストを、より現実に近い状態で行えるような設定方法を紹介しました。

バックテストで良い成績を残したとしても、喜んでばかりはいられません。

そのバックテストが実際の取引と同じになるように配慮が必要なのです。

システムトレードで重要なバックテストをより現実的にしてみてください。

タートル 投資手法 バックテスト
この結果を見てもまだシステムトレードしないのか【タートル流投資手法の驚くべきバックテスト結果】タートルが取ったとされる投資手法をプログラム化して、バックテストを行いました。その結果としては、かなりのリターンが期待できるものでした。トレンドフォローの投資手法は、まだまだ現役であるようです。...

システムトレードまとめ

Nocchi_nochilog(のっち)
少額投資をこよなく愛する1児のパパ&サラリーマン。
お小遣い制でも負けずに投資をしています。

知るだけで暮らしが豊かになる知識を発信中!
若いうちから投資することの重要性を伝えるべく、ブログの記事を更新しています。

特にインスタグラムでは、1日1分で自然とお金の知識が身につくような情報を発信しています。
ぜひ合わせてご覧ください!

下のアイコンから飛べます!
\ Follow me /

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です