
双方向逆転重複選択戦略 (Dual Reversal Overlap Selective Strategy) は,逆転取引戦略と超買超売選択を組み合わせて,資産配置と選択時の取引を実現する.この戦略は,トレンドの逆転点で買入と売却の操作を行うことを目的とし,同時にも超買超売指標を利用して,不合理な拡大区域の不必要な取引を回避する.
この戦略は,以下の2つの子戦略の重複によって構成されています.
この戦略は,連続して2日間,閉盤価格が逆転した取引シグナルに基づいています.具体的には,閉盤価格が上昇して最近2日間,K線ストックが50を下回る9日間は,多額の取引を行います.閉盤価格が減少して最近2日間,K線ストックが50を下回る9日間は,空き取引を行います.この戦略は,短期的なトレンドの逆転を捕捉するために,逆転戦略です.
この戦略は,ブレサットの双平滑振動指標を利用して,超買超売の判断を行う.具体的には,5日平均線が10日平均線より低くて20日超売区より低ければ,多出し,5日平均線が10日平均線より高くて80日超売区より高ければ空出する.この戦略は,超買超売戦略の1つであり,非合理的な領域での不必要な取引を避けるためにある.
最終的なシグナルは,両者の組み合わせによって生成され,両者が一致するシグナルを与える場合にのみ取引をトリガーします.このようにして,利益の確率を高め,二つの異なるタイプの戦略の優位性を利用して組み合わせることができます.
逆転戦略と超買い超落札戦略を組み合わせることで,短期的なトレンドの逆転を捉え,不合理な地域取引を回避できます.
123反転策のパラメータは少なく,論理はシンプルで,実行しやすい。DSS策は双指数を利用して超買超売判断を円滑に実現し,多頭市場における空頭信号を効果的に除することができる。
2つの異なるタイプの戦略の組み合わせにより,信号の信頼性が向上し,元の戦略の偽信号が減少する.
柔軟な戦略パラメータ設定,異なる市場に応じてパラメータを調整できる,適応性が強い.
逆転策には,金儲けの危険性があり,波動的な市場では,そのリスクに囚われやすい.
DSS策略にはパラメータ最適化が難しい問題があり,結果に影響するパラメータが異なる.
この2つの戦略信号が一致しない場合,取引機会を逃すリスクがあります.
戦略は単純に価格指数に基づいていて,総合的な判断が欠け,利益の限界がある.
対応方法:
投資の継続性を向上させるため,投資の継続性を向上させ,
成功事例を参考にして,精密にテストしたパラメータの組み合わせを特定市場向けに最適化します.
戦略の効果を高めるために,他の補助的判断指標の追加を検討する.
投資のタイミングを最適化するか,または保有比率を調整する.
テストし,他の反転指標または形状判断を加え,反転信号の正確性を向上させる.
DSSの代替として,エネルギー潮,RSIなどの他の超買い超売り指標を試してみてください.
利益を固定し,損失を減らすために,ストップ・ロスの策略に加入する.
パラメータ設定を最適化し,異なる市場における最適なパラメータ組み合わせをテストする.
市場の変化に合わせてパラメータを動的に調整する可能性を探索する.
機械学習モデルを構築し,取引シグナルを生成する.
双方向逆転重叠優選戦略は,逆転戦略と超買い超売り戦略の組み合わせによって,資産配置と選択時取引の二重機能を実現する.戦略は,パラメータの柔軟性,論理の簡素性,実行の容易さなどの利点があり,合理的な領域の騒音を除き,効果的にぐことができる.しかし,一定の逆転リスクとパラメータ最適化の難点もある.将来的には,ストップ,最適化パラメータ設定,機械学習などの方法の導入によって戦略の強化が可能である.全体的に,この戦略は,取引の量化に柔軟で信頼性の高い分析技術を提供している.
/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 12/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
// Double Smoothed Stochastics (DSS) is designed by William Blaw.
// It attempts to combine moving average methods with oscillator principles.
//
// 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
DSSB(PDS, EMAlen,TriggerLen,Overbought,Oversold) =>
pos = 0
xPreCalc = ema(stoch(close, high, low, PDS), EMAlen)
xDSS = ema(stoch(xPreCalc, xPreCalc, xPreCalc, PDS), EMAlen)
xTrigger = ema(xDSS, TriggerLen)
pos := iff(xTrigger < xDSS and xTrigger < Oversold, -1,
iff(xTrigger > xDSS and xTrigger > Overbought, 1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & DSS Bressert", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
PDS = input(10, minval=1)
EMAlen = input(9, minval=1)
TriggerLen = input(5, minval=1)
Overbought = input(80, minval=1)
Oversold = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDSS = DSSB(PDS, EMAlen,TriggerLen,Overbought,Oversold)
pos = iff(posReversal123 == 1 and posDSS == 1 , 1,
iff(posReversal123 == -1 and posDSS == -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 )