ダブル反転ポイント指数移動平均戦略


作成日: 2023-12-08 11:37:36 最終変更日: 2023-12-08 11:37:36
コピー: 2 クリック数: 650
1
フォロー
1621
フォロワー

ダブル反転ポイント指数移動平均戦略

概要

双反転ターニングポイント指数均線戦略は,反転取引とダイナミック・サポート・レジスタンスを組み合わせた戦略である.それは,ストーク指数を使用して市場のターニングポイントを判断し,その日の高低価格とクローズアップ価格を組み合わせてダイナミック・サポート・レジスタンス・レベルを計算し,両方の戦略信号が同時に買いまたは売り信号を発行するときに注文する.この戦略は,中短線取引に適している.

戦略原則

逆転戦略

逆転戦略は,市場が過大評価または過小評価されているとき,価格が価値区間に戻る傾向があるという原理に基づいています.具体的には,この逆転戦略は,ウルフ・ジェンセン (Ulf Jensen) のルールを参照しています.

閉店価格が前閉店価格より2日連続で高く,そして9日目のスローK線が50より低ければ,多額にする.閉店価格が前閉店価格より2日連続で低く,そして9日目のファストK線が50より高ければ,空白にする.

ダイナミックなサポート・レジスタンス戦略

ダイナミック・サポート・レジスタンス・ストラテジーは,前日の最高価格,最低価格,および閉店価格に基づいて,その日のサポート・レジスタンス・レベルを毎日計算する.計算方法は:

中心点= (最高価格+最低価格+閉店価格) / 3

サポート1=センターポイント- (最高価格-センターポイント)

抵抗1=中心点+ (中心点−最低値)

その日の閉盘価格がレジスタンス1ラインより高いときは多めにし,その日の閉盘価格がサポート1ラインより低いときは空っぽにする.

双重信号

この戦略は反転戦略と動的サポートレジスタンス戦略を組み合わせている.両者の信号が同時に発せられる場合のみ,注文が下される.こうして,部分的なノイズ取引をフィルターして安定性を向上させる.

優位分析

双反転ターニングポイント指数均線策の最大の利点は,反転策と動的支給抵抗策の利点を組み合わせることで,市場のターニングポイントでより大きな動きを捉えることができ,同時に,当日の価格と重要なポイントの関係に基づいて方向を判断することもできます.単一策と比較して,部分的なノイズ取引をフィルターして安定性を向上させることができます.

この戦略のパラメータは少なく,実行し,最適化することが容易である.

リスク分析

双反転点指数均線策には以下のリスクもあります.

  • 逆転の失敗リスク 市場価格が超膨張し,逆転のシグナルが発せられた後,実質的な逆転なしに価格が継続する可能性があります.

  • サポート・レジスタンスが突破されるリスク.当日の価格は,計算されたサポートまたはレジスタンス値を突破して,誤ったシグナルを生成する可能性があります.

  • ダブルシグナルは保守的であり,市場を見逃すリスクがあります. ダブルシグナルの仕組みは,より多くの取引機会をフィルターすることができます.

対策として

  • キーサポートとレジスタンスレベルの識別

  • ストップ・ロスを使って損失をコントロールする.

  • 双重シグナルのルールを適切に調整し,より多くの取引機会を保留する.

最適化の方向

この戦略は以下の点で最適化できます.

  1. 異なるストック指数パラメータをテストし,反転信号の感度を識別する.

  2. 長期トレンドを追跡する

  3. 取引量エネルギー指数など,市場構造を判断する他の要素を追加する.

  4. 双重シグナルのルールを最適化し,より多くの取引機会を可能にします.

  5. リスク管理のためのストップ・ロスの追加

要約する

双反転点指数均線策は反転取引と動的支柱抵抗判断を組み合わせて,市場のターニングポイントで大きな利益を得ることができ,また,当日の価格とキーポイントの関係に基づいてトレンド方向を判断することもできます.単一の策略と比較して,それはノイズをフィルターし,安定性が優れています.この策略は,パラメータを適切に最適化し,他の指標をテストして効果を上げることができます.

ストラテジーソースコード
/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/03/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// 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.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

DPP() =>
    pos = 0
    xHigh  = security(syminfo.tickerid,"D", high[1])
    xLow   = security(syminfo.tickerid,"D", low[1])
    xClose = 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))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Dynamic Pivot Point", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDPP = DPP()
pos = iff(posReversal123 == 1 and posDPP == 1 , 1,
	   iff(posReversal123 == -1 and posDPP == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )