ウッディのサポートとレジスタンスに基づく取引戦略のバックテスト


作成日: 2023-09-20 17:08:11 最終変更日: 2023-09-20 17:08:11
コピー: 2 クリック数: 786
1
フォロー
1617
フォロワー

概要

この戦略は,Woodieモデルを使ってサポートレジスタンス位を計算し,突破反測取引を行う.これは,従来型のサポートレジスタンス突破型の戦略である.

戦略原則

  1. 昨日の高低の収穫価格に基づいて,この期間のバランスポイントと上下軌道を計算する.

  2. 価格が平衡点から上から突破すると,多めに行う.

  3. 価格が平衡点から下から突破したときに空白を行う.

  4. 選択可能な反転取引信号.

  5. 取引の信号を色分けする.

優位分析

  1. ウォーディのモデルでは計算は簡単で直感的です.

  2. サポート・レジスタンス・ブレイクが一般的な取引手法である.

  3. 支援抵抗位と信号標識の可視化

  4. 標準パラメータはシンプルで実用的なものです.

  5. コードが理解しやすいので,修正や最適化に適しています.

リスク分析

  1. 突破後の偽突破が発生する可能性があります.

  2. ストップダストを有効に設定できない.

  3. モデルとパラメータの設定が不適切で効果が損なわれます.

  4. 傾向と整合の区別がつかない.

  5. 信号の有効性が低下する可能性があります.

最適化の方向

  1. 異なる周期パラメータをテストして最適なパラメータを探します.

  2. 傾向判断指標のフィルタリングを増やす.

  3. リスク管理のためのストップダストストップロジックへの加入.

  4. 突破した後の再呼び出し状況の評価は,継続信号を生成する.

  5. 突破の強さを判断する方法を研究する.

  6. 他の要因との組み合わせで検証を考える

要約する

この戦略は,Woodieモデルのサポートレジスタンスレベルを突破して取引する.最適化パラメータの設定,ストップ・ストップなどの追加は,戦略の安定性を高め,信頼性の高い短期取引システムにする.

ストラテジーソースコード
/*backtest
start: 2022-09-13 00:00:00
end: 2023-02-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/08/2018
// Simply input the vales of the high, low and closing price of the previous 
// period to calculate the Woodie pivot point and the associated resistance 
// and support levels for the present period.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Woodie Pivot Points Backtest", overlay = true)
width = input(2, minval=1)
xHigh  = security(syminfo.tickerid,"D", high[1])
xLow   = security(syminfo.tickerid,"D", low[1])
xClose = security(syminfo.tickerid,"D", close[1])
reverse = input(false, title="Trade reverse")
xPP = (xHigh+xLow+(xClose*2)) / 4
pos = iff(close[1] < xPP[1] and close > xPP, 1,
       iff(close < xPP, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))       
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xPP, color=blue, title="WPP", style = circles, linewidth = width)