NA0TA

値動きのパターンを使ったストラテジー(試作)

OANDA:GBPJPY   ポンド/円
OANDA:GBPJPY
今日はインジケータを使わないバーのパターンを使ったシステムのバックテストしました。
パターンベースのストラテジーはあまり作ったことが無いので今は勉強中です。

GBP/JPYの8時間足で2010年~現在までの期間で検証です。

システムのロジックはまず、ポジションを取っていない状態で(終値>前のバーの終値)の日をカウントします。
これを変数U-countとします。
ポジションを取っていない状態で(終値<前のバーの終値)の日をカウントします。
これを変数D-countとします。

U-countの数が7以上で(終値<2本前の終値)になったらショートエントリー。
D-countの数が7以上で(終値>2本前の終値)になったらロングエントリー。
そして、ポジションをとったらすべてのカウントを0に戻し、ポジションが無くなった時点でカウントを再開。

仕掛け値から5ATRの価格に指値でターゲットオーダーを出し、仕掛け値から2ATRの価格にストップロスを置きます

期待値もリカバリーファクターもなかなか良い数値で、ウォークフォワード分析でもほとんどの期間で利益が出ていました。
ですが、カウントの数のパラメータを変えると平均損益の標準偏差がかなりバラバラになってしまい
堅牢性が怪しく、オーバーフィッティングを疑われます。
パターンをつかった良いアイディアがあれば教えてくださいませ。
=========================================================
BCount = input(1, title="BCount", step=1, minval=1, maxval=10)
PCount = input(1, title="PCount", step=1, minval=1, maxval=10)

var UCount = 0.0
var DCount = 0.0

if close > close
UCount := UCount + 1

if close < close
DCount := DCount + 1

sell = UCount > BCount and close < close
buy = DCount > BCount and close > close

if strategy.position_size != 0
DCount := 0.0
UCount := 0.0

//買いシグナル△
LONG_SIGNAL = buy

//売りシグナル▽
SHORT_SIGNAL = sell

//ATRストップルール
tg_pointL = strategy.position_avg_price + atr_tg * atr
tg_pointS = strategy.position_avg_price + (-1*atr_tg * atr)
strategy.exit("TG","買い", limit = atr_tget == true ? tg_pointL : na, comment="買いATRターゲット")
strategy.exit("TG","売り", limit = atr_tget == true ? tg_pointS : na, comment="売りATRターゲット")
strategy.cancel("TG", strategy.openprofit < 0 or atr_tget == false or re_su == true)

lcL = strategy.position_avg_price - unit_val / qty_set
lcS = strategy.position_avg_price + unit_val / qty_set
trCL = strategy.position_avg_price - atr_stop * atr
trCS = strategy.position_avg_price + atr_stop * atr

trcL_set = lcL > trCL ? lcL : trCL
trcs_set = lcS < trCS ? lcS : trCS

strategy.exit("EX","買い", stop = atr_stopLoss == true ? trcL_set : na, comment="買い-ATRロス")
strategy.exit("EX","売り", stop = atr_stopLoss == true ? trcs_set : na, comment="売り-ATRロス")
strategy.cancel("EX", strategy.openprofit > 0 or atr_stopLoss == false)

コメント

ホーム 株式スクリーナー FXスクリーナー 仮想通貨スクリーナー 経済指標カレンダー 使い方 チャート機能 価格 友達紹介 ハウスルール ヘルプセンター ウェブサイト&ブローカー向けソリューション ウィジェット チャートソリューション 軽量チャートライブラリ ブログ&ニュース ツイッター
プロフィール プロフィール設定 アカウントとお支払い 友達紹介 マイサポートチケット ヘルプセンター 公開したアイデア フォロワー フォロー中 プライベートメッセージ チャット サインアウト