
多空力の均衡策略は,改良されたトレンド追跡策略である.現在のK線と前のK線の関係を分析し,多空力の均衡を計算することで,現在のトレンドの方向を判断する.多空力の均衡が崩れたときに,この策略は取引信号を発する.その考え方は,従来型の旧日線指標から派生したが,改良され,より正確にトレンドを判断することができる.
この戦略の核心指標はnBBBで,現在のK線と前回のK線の多空力バランスを反映している.nBBBの計算式は以下の通りである.
nBBB = value2 - value
その中,valueとvalue2は,それぞれ,現在のK線と前のK線の多空力を計算する.それらの計算過程は,比較的に複雑で,閉盘価格,開盤価格,最高価格,最低価格の関係に関する判断を伴う.しかし,全体として,valueは現在のK線の多空力を反映し,value2は前のK線の多空力を反映する.両者の差は,多空力の変化を反映する.
nBBBが設定されたThresholdSellLevelを下回ると,空き信号が発せられます.nBBBが設定されたThresholdBuyLevelを下回ると,多信号が発せられます.Thresholdはパラメータで調整できます.
この戦略には以下の利点があります.
K線反転の判断により,より強いトレンドの転換点を識別できます.
多空力のバランスを計算することで,信号を判断するより正確な信頼性がある.
現在のK線と前のK線を比較する考え方を採用し,部分的なノイズをフィルターして信号をより明確にする.
異なる時間周期に適用可能で,柔軟性がある.
nBBBの計算指標は直観的に見られ,形成された取引信号は単純明快である.
この戦略にはいくつかのリスクがあります.
多空力指数nBBBは誤信号を生成する可能性があるため,価格実体方向,取引量などと組み合わせて検証する必要がある.
nBBB指標の決定だけでは盲点があるので,他の技術指標の決定を補助する方がよい.
SellLevelとBuyLevelのパラメータの設定は,戦略のパフォーマンスに直接影響し,慎重にテスト・最適化する必要があります.
状況が激しく波動する時には,指標からの信号が遅れている可能性があり,リスク判断に注意が必要である.
この戦略は中長線操作に適しており,短線操作は套用される可能性がある.
この戦略は以下の点で最適化できます.
SellLevelとBuyLevelのパラメータを最適化して,シグナルを現実の状況とよりよくマッチさせる.
移動停止,震動停止などの止損戦略を追加することで,リスクを効果的に制御できます.
取引量,ストキャスティックなどの他の指標と組み合わせることで,意思決定の正確性を向上させることができます.
機械学習の要素を追加し,AI技術を活用してパラメータを自動的に最適化し,より正確な取引信号を発信する.
異なる取引品種と時間周期のパラメータは,それぞれ最適化され,戦略のターゲティング性を高めることができます.
多空力の均衡策略は多空力の変化を計算し,トレンドの転換点を判断する,比較的シンプルで実用的トレンド追跡策略である。そのには一定の利点があるが,リスクも存在する。パラメータ最適化,止損策略,補助指標などの手段によって適切な改善が施され,その効果がより良くなる。全体的には,深入に研究され,運用される価値のある量化策略である。
/*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)