牛と熊のバランス戦略

作者: リン・ハーンチャオチャン,日付: 2023年11月2日 17:12:40
タグ:

img

概要

ブール&ベアバランス戦略は,トレンドフォロー戦略の改良である.現在のバーと前のバーの関係に基づいて,上昇力と下落力のバランスを分析し,バランスが崩れるときに取引信号を生成する.このアイデアは伝統的なエルダーレイ指標から生まれますが,傾向をより正確に判断するための改善があります.

戦略の論理

この戦略の核心指標はnBBBで,現在のバーと前のバーの上昇力と下落力のバランスを反映しています.nBBBは以下のように計算されます.

nBBB = 値2 - 値

値と値2は,現在のバーと前のバーの上昇力と下落力をそれぞれ計算する. 計算はかなり複雑で,閉,開,高,低価格の関係に関する判断を含む. しかし,一般的に,値は現在のバーの上昇力と下落力を測定し,値2は前のバーの上昇力と下落力を測定する. その違いは,上昇と下落のバランスの変化を反映する.

nBBBがSellLevelの値を下回ると,ショート信号が生成される.nBBBがBuyLevelの値を超えると,ロング信号が生成される.値はパラメータによって調整できる.

利点

この戦略の主な利点は以下の通りです.

  1. キャンドルスタイクからの反転信号に基づいて 強いトレンドターニングポイントを特定できます

  2. 牛と熊のバランスを測定することで 信号はより正確で信頼性があります

  3. 前のバーと現在のバーを比較すると より明確な信号を出すために 音をフィルターします

  4. 異なる時間枠に適用され,柔軟性があります.

  5. nBBBインジケーターは直感的で,信号はシンプルで明確です.

リスク

注意すべきリスクは:

  1. nBBBは誤った信号を生成し,価格確認が必要になる可能性があります.

  2. nBBBのみを頼りにすると盲点があり,他の指標を組み込む方がよい.

  3. SellLevelとBuyLevelのパラメータはパフォーマンスに直接影響し,慎重に最適化する必要があります.

  4. 極端な波動の際に信号が遅れる可能性があるため,リスク評価が必要です.

  5. 中期・長期に適した 短期的な投資は 切り裂かれるかもしれません

改良

戦略の強化の方法:

  1. 最適のバックテストに基づいて SellLevelとBuyLevelを最適化します

  2. リスクをコントロールするために,ストップ・ロスの後継ストップ・ロスのようなストップ・ロスのメカニズムを組み込む.

  3. 決定の正確性を向上させるために,ボリューム,ストキャスティックなど他の指標を追加します.

  4. マシン学習を導入して パラメータを自動最適化して より良い信号を生成します

  5. 異なる製品と時間枠のパラメータの個別の最適化

結論

ブール&ベアバランス戦略は,ブール/ベアフォースの変化を測定することによってトレンド逆転を判断し,比較的シンプルで実践的なトレンドフォロー戦略である.特定の利点もあるが,リスクもある.パラメータ最適化,ストップ損失,追加の指標などにより,さらに改善することができる.全体的には,より深い研究と適用に値する興味深い定量的なアプローチを提示する.


/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/02/2017
//    This new indicator analyzes the balance between bullish and
//    bearish sentiment.
//    One can cay that it is an improved analogue of Elder Ray indicator.
//    To get more information please see "Bull And Bear Balance Indicator" 
//    by Vadim Gimelfarb. 
////////////////////////////////////////////////////////////
strategy(title = "Bull And Bear Balance Strategy")
SellLevel = input(-15, step=0.01)
BuyLevel = input(15, step=0.01)
reverse = input(false, title="Trade reverse")
hline(SellLevel, color=red, linestyle=line)
hline(BuyLevel, color=green, linestyle=line)
value =  iff (close < open , 
          iff (close[1] > open ,  max(close - open, high - low), high - low), 
           iff (close > open, 
             iff(close[1] > open, max(close[1] - low, high - close), max(open - low, high - close)), 
              iff(high - close > close - low, 
               iff (close[1] > open, max(close[1] - open, high - low), high - low), 
                 iff (high - close < close - low, 
                  iff(close > open, max(close - low, high - close),open - low), 
                   iff (close > open, max(close[1] - open, high - close),
                     iff(close[1] < open, max(open - low, high - close), high - low))))))

value2 = iff (close < open , 
          iff (close[1] < open ,  max(high - close[1], close - low), max(high - open, close - low)), 
           iff (close > open, 
             iff(close[1] > open,  high - low, max(open - close[1], high - low)), 
              iff(high - close > close - low, 
               iff (close[1] < open, max(high - close[1], close - low), high - open), 
                 iff (high - close < close - low, 
                  iff(close[1] > open,  high - low, max(open - close, high - low)), 
                   iff (close[1] > open, max(high - open, close - low),
                     iff(close[1] < open, max(open - close, high - low), high - low))))))
nBBB = value2 - value
nBBBc = nBBB < 0 ? red : green
pos = iff(nBBB < SellLevel, -1,
	   iff(nBBB >= BuyLevel, 1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nBBB, style=line, linewidth=1, color=nBBBc)
plot(nBBB, style=histogram, linewidth=1, color=gray)


もっと