資源の読み込みに... 荷物...

多要素逆転取引コンボ戦略

作者: リン・ハーンチャオチャン, 日時: 2023-09-20 15:13:58
タグ:

概要

この戦略は,価格逆転のシグナルが出現したときに反方向のポジションをとるために複数の逆転指標を組み合わせます.これは平均逆転アルゴリズム取引戦略に属します.

戦略の論理

  1. 第一に, 123 逆転システムは,連続した 2 つのバーとストキャスト指標の価格アクションに基づいて,価格逆転信号を識別するために使用されます.

  2. 2つ目は 急速・遅いカートーシス (FSK) 指標で 動力加速に基づいて 感情の逆転を判断します

  3. 123逆転システムとFSK逆転指標はコンボとして組み合わせられ,両方が逆転信号を生成すると逆方向のポジションが取られます.

  4. リバース・トレードも可能で,元の信号が長いときショートを取ったり,その逆もできます.

利点分析

  1. 複数の要因を組み合わせることで 信号の正確性が向上し 誤った信号を防ぐことができます

  2. 123 システムと FSK 指標は,時間枠の逆転を捉えるのに互いを補完します.

  3. リバース・トレーディングは急激な逆転から利益を得ることができます

  4. 複数の逆転因子を使うことで 戦略の強度が向上します

  5. 簡単に理解し 実行できます 量子取引の初心者にも適しています

リスク分析

  1. 逆転信号は誤った信号を出し,損失を起こす可能性があります.

  2. 逆転のタイミングが悪ければ 上下を追うことになる

  3. リバース・トレーディングは 継続的なトレンドで損失をもたらす可能性があります

  4. パラメータの最適化が不適切なら オーバーフィッティングになります

  5. 取引頻度が高い場合,取引コストが高くなる可能性があります.

オプティマイゼーションの方向性

  1. RSI,KDなどの他の逆転因子を追加して 組み合わせを豊かにします

  2. パラメータを最適化して センサーの感度を向上させる

  3. 逆トレンド取引を避けるためにトレンドフィルターを追加します.

  4. 資本効率を最適化するために動的ポジションサイズを使用します.

  5. ストップロスを最適化して,取引ごとに損失を制限する.

  6. 取引コストの影響を評価し,過剰な取引を避ける.

結論

この戦略は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 )

もっと