この戦略は,複数の反転指標を組み合わせて,価格が反転シグナルを発したときに反転ポジションを取ることで,反転型のアルゴリズム取引戦略に属している.
まず,123反転システムを使って価格反転の信号を判断する.このシステムは,価格が連続して2Barの関係とStochastic指標で反転を判断する.
次に,市場情勢の逆転を判断する快慢ピーク度指数FSKを使用する.この指数は,市場の買い物勢力の変化を判断する動力の加速度を使用する.
123反転システムとFSK反転指標を組み合わせて,両者が同時に反転信号を発したときに反転ポジションを取ります.
選択的に反転取引,元信号が多頭であったとき空頭をとる,元信号が空頭であったとき多頭をとる.
複数の要因を組み合わせることで,信号の正確性を高め,単一の指標の偽信号を回避することができる.
123反転システムとFSK指標は互補性があり,異なる時間次元における反転の機会を捉えることができる.
逆転取引は,急激なトレンドの逆転から利益を得ることができます.
戦略の安定性を高めるため,複数の反転因子を採用する.
簡単に理解し,実行し,量子取引の初心者に適しています.
逆転信号は誤判で損失を招く可能性があります.
逆転のタイミングが間違って,逆転を繰り返す可能性があります.
逆転取引は,トレンドが続く限り損をする.
パラメータの最適化が不適切である場合,過適合が発生する可能性があります.
取引の頻度が高すぎると,取引コストが増加する可能性があります.
テストはRSI,KDなどの他の反転因子を加え,富裕な組合せである.
パラメータの最適化,指標の感度向上.
トレンドフィルターを加え,逆行を避ける.
ダイナミックなポジション管理戦略を使用して,資金利用の効率を最適化します.
ストップ・ロスの戦略を最適化し,単発損失を減らす.
取引コストの影響を評価し,高頻度の取引を減らす.
この戦略は123反転システムとFSK指標を組み合わせて,価格反転時に反転取引を行う.偽信号をフィルターして,正確性を向上させる.しかし,反転戦略は反転不確実性のリスクに直面する.パラメータを継続的に最適化し,ポジションサイズと取引頻度を適切に制御して,リスクを軽減し,安定性を向上させる必要がある.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/10/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 indicator plots the Fast & Slow Kurtosis. The Kurtosis is a market
// sentiment indicator. The Kurtosis is constructed from three different parts.
// The Kurtosis, the Fast Kurtosis(FK), and the Fast/Slow Kurtosis(FSK).
//
// 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
FSK(Triger) =>
pos = 0.0
xMOM_R = mom(mom(close, 3), 1)
xMOM_RAvr = ema(xMOM_R, 65)
xMOM_RWAvr = wma(xMOM_RAvr, 3)
pos := iff(xMOM_RAvr > Triger and xMOM_RWAvr > Triger, 1,-1)
pos
strategy(title="Combo Backtest 123 Reversal & FSK (Fast and Slow Kurtosis)", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Triger = input(0, minval=0.001)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFSK = FSK(Triger)
pos = iff(posReversal123 == 1 and posFSK == 1 , 1,
iff(posReversal123 == -1 and posFSK == -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 )