この戦略の核心思想は,K線の高点と閉店価格の関係に基づいて,現在のトレンドの方向を判断し,移動平均の方法で平らな結果である.高点の閉店が多くなれば上昇傾向と判断し,低点の閉店が多くなれば下降傾向と判断する.この戦略は,一定の流動性を持つデジタル資産に適用され,パラメータの最適化によりより良い効果を得ることができる.
この策略は,閉盘価格と高低点の位置関係に基づいて,M分線を使用し,このM分線K線が,高閉盘型 (閉盘価格が高値に近づいている),低閉盘型 (閉盘価格が低値に近づいている),または普通型 (閉盘価格が中値に近づいている) に属することを判断する.
具体的には,最初に計算するのは delt = high - close,つまり高点と閉店価格の差,および height = high - low,つまり高低差である.*2⁄3,高閉盘型と判断し,デルト < height/3,低閉盘型と判断し,そうでない場合は普通型とする.
次に,近代N根K線の中で,高閉盘型,低閉盘型,普通型の数を統計して,その占有率を計算し,EMAを平滑化して,rise,fall,middleの3つの曲線を得ます.rise曲線は高閉盘型K線の占有率を表し,fall曲線は低閉盘型K線の占有率を表し,middle曲線は普通型K線の占有率を表します.
rise曲線上にあるK線がfall曲線を通過すると,高收盤型K線が増加し始め,市場が上昇傾向に入ると考えられ,多信号を発出する. fall曲線下にあるK線がrise曲線を通過すると,低收盤型K線が増加し始め,市場が下降傾向に入ると考えられ,空信号を発出する.
この戦略は,価格動向を基準にトレンドを判断する戦略であり,以下の利点があります.
原則は明確で理解しやすい.
価格の特性を考慮しただけで,いかなる指標にも頼らずにトレンドの方向を判断する.
設定できるパラメータは少なく,主にNとEMAの平滑パラメータで,最適化が容易である.
株式,外貨,暗号通貨など,流動性のあるデジタル資産に広く適用できます.
リスクは厳格にコントロールできます.
トレンドライン,支抵抗などの技術的な方法がさらに最適化される.
単一損失を制御する Stop Loss 戦略を設定できます.
この戦略には利点があるものの,以下のリスクがあります.
市場が揺れ動いているとき,K線型は頻繁に切替し,偽の信号を生成する可能性がある.
NとEMAのパラメータを正しく設定しないことは,走行を逃したり,無効信号を過剰に発生させたりする可能性がある.
単にK線型でトレンドの方向を判断すると,一定の遅れがある.
三角形の収束,旗の形など,一般的な分時図を効果的にフィルターできない場合,反転突破の危険性があります.
この策略はトレンド追跡策略であり,反転の機会を効果的に捉えることはできません.
損失のリスクをコントロールするために,止損と連携する必要があります.そうでなければ,単独の損失は大きい可能性があります.
この戦略は,リスクの低減と収益性の向上のために,以下の方法で最適化できます.
ATRなどの波動性指標と組み合わせて,市場の波動性に応じてパラメータNとEMA平滑パラメータを調整し,波動的な市場が過剰な無効信号を生むのを避ける.
Volume指数判断を増やし,大量放出状況で偽突破をフィルターする.
トレンドラインと重要なサポートレジスタンス点を組み合わせて,トレンドの方向と突破の真偽を判断する.
単一周期の誤判を避けるために,複数の時間周期の判断を追加します.
逆転形状認識モジュールを追加し,有意な逆転信号が発生した時に適切なタイミングでポジションを逆開きます.
市場変動とリスクの好みに応じて,ストップ・ロスの幅を設定するストップ・ロスの戦略を最適化する.
トラッキングストップ,移動ストップなどの機能が追加され,利益をロックし,利益の回転を防止する.
この戦略は,価格動きに基づいてトレンドの方向を判断し,原理は明確で,反測効果は良好で,デジタル資産取引に広く適用できます. しかし,一定の制限もあります. リスクを下げるため,停止と最適化を組み合わせる必要があります. 全体的に,この戦略は,量的な取引のための簡単な実用的な考え方を提供し,学ぶに値します. 継続的な最適化と組み合わせによって,安定した余剰利益を得ることが期待されます.
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("trend detect", overlay=false)
lenght = input(34)
ema_smooth = input(5)
delt = high - close
height = high - low
color_plot=black
state=0
if delt > height/3*2
state := 1
color_plot := red
else
if delt > height/3
state := 2
color_plot := blue
else
state := 3
color_plot := green
//plot(state, color=color_plot, style=histogram)
percOfType(len, state_for_count) =>
num = 0
for i=1 to len
if state[i]==state_for_count
num := num+1
num/len*100
rise = ema(percOfType(lenght, 3), ema_smooth)
fall = ema(percOfType(lenght, 1), ema_smooth)
plot(rise, color = green)
plot(ema(percOfType(lenght, 2), ema_smooth), color = blue)
plot(fall, color = red)
plot(10, color=black)
plot(60, color=black)
longCondition = crossover(rise, fall)
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
shortCondition = crossunder(rise, fall)
if (shortCondition)
strategy.entry("My Short Entry Id", strategy.short)