サーフライダーの戦略

作者: リン・ハーンチャオチャン開催日:2023年10月17日 15時30分18秒
タグ:

img

概要

サーフライダー戦略は,より信頼性の高い取引信号を生成するために異なるトレンドフォロー戦略を統合した組み合わせ戦略である. 123 リバース戦略とECO戦略を組み合わせ,トレンド確認後により正確な取引信号を生成することを目的としている.サーフライダーという名前はサーファーという用語から由来し,この戦略は,より広い市場で過剰な収益を得るために市場の変動の波に乗ろうとしていることを意味します.

戦略の論理

サーフライダー戦略は 2種類の戦略を統合しています.逆転戦略とトレンドフォロー戦略.

123リバース戦略はリバース戦略である.価格逆転信号を識別するためにキャンドルスタイク情報を使用する.昨日の閉店が前日の閉店より高く,今日の閉店が昨日より低く,9日間のスローKが50未満であるときに購入信号を生成する.昨日の閉店が前日の閉店よりも低く,今日の閉店が昨日より高く,9日間のファストKが50以上であるときに販売信号を生成する.

第2に,ECO戦略はトレンドフォロー戦略である.価格キャンドルストイックの大きさと方向性を用いてモメンタムを計算し,トレンド方向を決定する.ECO指標は0以上の傾向を示し,0以下の傾向を示します.

サーフライダー戦略は,両方の戦略からのシグナルを組み合わせます.両戦略が同じ方向にシグナルを生成するときにのみ,例えば,ECOが上昇傾向を示し,123リバース戦略も購入信号を与える場合のみ,ポジションに入ります.これは,単一の戦略からの誤った判断による取引の損失を回避します.

利点分析

単一の戦略と比較して,サーフライダー戦略には以下の利点があります:

  1. 逆転とトレンド戦略を組み合わせることで,その強みと弱点を補完し,取引シグナルをより信頼性のあるものにする. ECOは,トレンド変化の前にしか逆転が起こらないことを保証し,トレンドの中間での早急な逆転を避ける.

  2. 123 リバース戦略は,ストキャスト指標を使用して過買い・過売り領域を特定し,ECO戦略は価格動向方向を判断する.この2つの戦略は互いを補完し,誤った判断の確率を減らす.

  3. 双重戦略フィルターは,両戦略が同じ方向に一致する場合にのみ,取引リスクを大幅に減らすことを保証します.

  4. 柔軟なパラメータ調整空間により,異なる市場のためのパラメータを最適化することができ,戦略はより多くの市場環境に適応できます.

  5. 日中の逆転と中期トレンドを組み合わせた多時間フレームアプローチにより,より多くの取引機会を把握できます.

リスク分析

個々の戦略リスクを減らすために複数の戦略を使用しているにもかかわらず,サーフライダー戦略は依然として取引における次のリスクを含んでいます:

  1. 123 リバース・戦略は,レンジ・バインド市場では弱く,連続して損失を伴うリバース・シグナルを生む可能性があります.

  2. 低流動性環境では ECO戦略の業績が劣るため,そこで回避すべきです.

  3. 二重戦略フィルターは,単一の戦略が別々に捕捉するいくつかの利益信号を見逃す可能性があります.

  4. 間違ったパラメータ設定により,戦略は誤った信号を生成する可能性があります.パラメータは異なる市場に適合するように調整する必要があります.

  5. 戦略はブラック・スワン事件のような 特殊な市場状況に適応できないかもしれません

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

サーフライダー戦略の最適化にはさらに余地があります.

  1. ストップ・ロスの戦略を 自動的にストップ・ロスのレベルに達したときに ポジションから脱出する戦略を追加することを検討する.

  2. より安定したパラメータ組み合わせを見つけるために異なる移動平均パラメータをテストします.

  3. 機械学習ベースの適応パラメータ最適化で ダイナミックパラメータ調整をしてみてください

  4. 信号の精度をさらに向上させるため,より多くの補助戦略を追加します.

  5. 異なる市場環境で安定性をテストし,そのパラメータを調整する.

  6. より厳格な戦略最適化のために自動バックテストと実行システムを開発する.

結論

結論として,逆転とトレンドフォロー戦略を組み合わせて二重確認することで,サーフライダー戦略はトレンド変化を把握しながら信号の精度を向上させ,より広範な市場での過剰な収益を可能にします.いくつかのリスクにもかかわらず,継続的な最適化は戦略をより多くの市場環境に適応させることができます.戦略は柔軟でリスク制御可能で,安定した長期的収益を求める投資家には適しています.


/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/04/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
// We call this one the ECO for short, but it will be listed on the indicator list 
// at W. Blau’s Ergodic Candlestick Oscillator. The ECO is a momentum indicator. 
// It is based on candlestick bars, and takes into account the size and direction 
// of the candlestick "body". We have found it to be a very good momentum indicator, 
// and especially smooth, because it is unaffected by gaps in price, unlike many other 
// momentum indicators.
// We like to use this indicator as an additional trend confirmation tool, or as an 
// alternate trend definition tool, in place of a weekly indicator. The simplest way 
// of using the indicator is simply to define the trend based on which side of the "0" 
// line the indicator is located on. If the indicator is above "0", then the trend is up. 
// If the indicator is below "0" then the trend is down. You can add an additional 
// qualifier by noting the "slope" of the indicator, and the crossing points of the slow 
// and fast lines. Some like to use the slope alone to define trend direction. If the 
// lines are sloping upward, the trend is up. Alternately, if the lines are sloping 
// downward, the trend is down. In this view, the point where the lines "cross" is the 
// point where the trend changes.
// When the ECO is below the "0" line, the trend is down, and we are qualified only to 
// sell on new short signals from the Hi-Lo Activator. In other words, when the ECO is 
// above 0, we are not allowed to take short signals, and when the ECO is below 0, we 
// are not allowed to take long signals. 
//
// 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

ECO(r,s) =>
    pos = 0
    xCO = close - open
    xHL = high - low
    xEMA = ema(ema(xCO, r), s)
    xvEMA = ema(ema(xHL, r), s)
    nRes = 100 * (xEMA / xvEMA)
    pos := iff(nRes > 0, 1,
	         iff(nRes <= 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & ECO Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(32, minval=1)
s = input(12, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posECO = ECO(r,s)
pos = iff(posReversal123 == 1 and posECO == 1 , 1,
	   iff(posReversal123 == -1 and posECO == -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 )

もっと