ダイナミックピボットポイントバックテスト戦略

作者: リン・ハーンチャオチャン開催日:2023年12月29日15時50分57秒
タグ:

img

概要

この戦略は,前の取引日の最高,最低,閉じる価格から計算されたサポートおよびレジスタンスレベルに基づいてロングまたはショートポジションを作成します.価格は上位レジスタンスレベルR1を突破するとロングになり,価格が下のサポートレベルS1を突破するとショートになります.この戦略はダイナミックピボットポイント戦略に属します.

戦略原則

  1. 現在のサポートレベルS1,レジスタンスレベルR1とピボットポイントvPPを計算する.上記の取引日の最高価格xHigh,最低価格xLow,閉じる価格xCloseに基づいて計算する.

    vPP = (xHigh+xLow+xClose) /3

    vR1 = vPP+(vPP-xLow)

    vS1 = vPP-(xHigh - vPP)

  2. 価格がvR1またはvS1を突破するかどうかを決定します.価格がvR1を突破する場合はロングで,価格がvS1を下回る場合はショートで. POSはロングまたはショート方向を記録します.

    pos = iff(close > vR1, 1, IF (近) < vS1, -1, nz (pos[1], 0)))

  3. possigは実際の取引方向を記録します.もしreverse=trueで逆取引が有効であれば,取引信号は逆になります.

  4. VR1が壊れたら ロングとVS1が壊れたらショートです

戦略 の 利点

  1. この戦略は動的なサポートとレジスタンスのレベルを利用して 傾向の動きを把握します
  2. サポートとレジスタンスレベルは毎日更新され 動的になります
  3. ロング・ショート・トレードも 異なる市場環境に合わせて設定できます
  4. 戦略の論理は 分かりやすく実行するために シンプルで清潔です
  5. サポートとレジスタンスレベルの可視化により,直感的なトレンド変化の検出が可能になります.

リスク分析

  1. 市場が変動している場合,不要な買い売り信号が発信される可能性があります.
  2. 極端なトレンド動きが起こると,破られたサポート/レジスタンスが継続的に拡大して損失を引き起こす可能性があります.
  3. 軸点とサポート/レジスタンス計算は単純で,さらに最適化する必要があります.

リスク管理

  1. 単一の取引損失を制限するためにポジションサイズを調整する.
  2. ストップ・ロスを設定して,最大許容される金額を超えた損失を防止します.
  3. 他の指標に基づくフィルターを追加し,様々な市場での過剰取引を避ける.

増進 の 機会

  1. サポートとレジスタンスの計算を最適化して予測性を向上させる.
  2. 不必要な取引を避けるために,トレンドとモメントの指標を組み込む.
  3. ストップ・ロスの戦略を追加して 単一の損失と最大損失を制御します
  4. サポート/レジスタンスレベルを動的に最適化するために機械学習を使用します.

概要

この戦略は,価格ブレイキング動的サポートおよびレジスタンスレベルに基づいて長または短取引を行う.論理は,トレンド逆転を効果的に識別できる一方で,理解し実行するのが簡単です.しかし,リスクは存在し,より信頼性の高い取引信号を生成するために追加の指標によるさらなる最適化が必要です.全体として,戦略は,量的な取引システムにおける補助指標または基本的なビルディングブロックとしてよく機能します.


//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/06/2018
// This Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Dynamic Pivot Point Backtest", shorttitle="Dynamic Pivot Point", overlay = true)
reverse = input(false, title="Trade reverse")
xHigh  = request.security(syminfo.tickerid,"D", high[1])
xLow   = request.security(syminfo.tickerid,"D", low[1])
xClose = request.security(syminfo.tickerid,"D", close[1])
vPP = (xHigh+xLow+xClose) / 3
vR1 = vPP+(vPP-xLow)
vS1 = vPP-(xHigh - vPP)
pos = iff(close > vR1, 1,
       iff(close < vS1, -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(vS1, color=#ff0000, title="S1", style = circles, linewidth = 1)
plot(vR1, color=#009600, title="R1", style = circles, linewidth = 1)

もっと