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

作者: リン・ハーンチャオチャン開催日:2024年5月17日 15:45:13
タグ:ATR

img

#### 概要 この戦略は,ハフトレンド指標に基づい,バリーッシュとベアッシュトレンドを決定することによって購入信号を識別する.ハフトレンド指標がベアッシュからバリーッシュに切り替えたとき,前回のベアッシュトレンドのハフトレンド値でストップ・リミット購入オーダーが配置される.この戦略は,トレンド決定のための幅パラメータを動的に調整するために,幅トレンド (ATR) 指標を使用する.

###戦略の原則

  1. ハーフトレンド指標値を計算し,バックバック期長度と振幅パラメータを設定する必要があります.
  2. 現在の閉店価格を前期のHalfTrend指標値と比較して,上昇傾向または下落傾向を決定します.
    • 閉じる価格がHalfTrend指標値を幅点を超えると,トレンドは上昇傾向になります
    • 閉じる価格がHalfTrend指標値を下回る時,幅が幅を1点下回ると,トレンドは下落傾向になります.
  3. ハーフトレンド指標の値は,トレンドが下落方向に変わるときに記録され,将来の購入ポジションとして機能します.
  4. ハーフトレンドインジケーターが再び下落から上昇に切り替わると,ステップ3で記録されたポジションにストップ・リミット購入オーダーをします.

###戦略の利点

  1. 投資の方向性を決定するための 完全な上昇傾向と下落傾向を基に 現在の市場状況に最大限に適応します
  2. 購入の制限オーダーを使用して,事前に決定されたポジションでより良い実行価格を達成できます.
  3. 購入ポジションは,以前の下落傾向のハフトレンドに基づいて決定され,低水準での購入の安全性を保証します.
  4. 振幅パラメータは,上昇傾向と下落傾向を区別するために必要な最小振幅を制御するために使用され,ノイズ信号を効果的にフィルタリングします.

###戦略リスク

  1. トレンド逆転の決定は幅パラメータに依存し,パラメータ値が不適切であれば,注文の早期または遅延につながる可能性があります.
  2. 価格変動のため,上向きの動きを見逃すため,制限オーダーが実行されない可能性があります.
  3. ストップ・ロスの設定ポジションは,買いポジションにあまりにも近い可能性があり,重大な損失を伴う可能性があります.

####戦略最適化方向

  1. トレンド決定のための最適な振幅を見つけるために振幅パラメータを最適化します.振幅を動的に調整するために,振幅トレンド (ATR) インジケーターを使用できます.
  2. 利潤をタイムリーに確保するために,ストップ・ロスの購入オーダーと共に,利益の販売オーダーを設定します.
  3. ストップ・ロスのポジションはより低く設定して,より大きな損失率を保持し,同時に利益の可能性を高めることができます.
  4. 価格が有利な方向に動くとリスクを減らすためにストップ・ロスのロジックを組み込む.

#### 概要 ハーフトレンド・ブイッシュ・アンド・ベアッシュ・トレンド・フォロー・ストップ・リミット・バイ・ストラテジー (HalfTrend Bullish and Bearish Trend Following Stop-Limit Buy Strategy) は,ハーフトレンド・インディケーターのブイッシュ・アンド・ベアッシュ・トレンドの変化に基づいて購入のタイミングを決定する.このストラテジーは,比較的安全な低水準でロング・ポジションを入力することを目的として,以前のベアッシュ・トレンドの低点をバイポジションとして利用する.この戦略にはトレンド決定,リーミット・オーダー,ストップ・ロース・オーダーなどの共通の戦略要素が含まれ,リスク・リターン比率を改善するためにさらに最適化することができる.


/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("HalfTrend Stop-Limit Buy", overlay=true)

// HalfTrend indicator parameters
length = 1
amplitude = 2.0

// HalfTrend calculation
float ph = na
float pl = na
var float dir = na
var float trend = na

if na(trend)
    trend := close
    ph := high
    pl := low
    dir := na
else
    if high > ph
        ph := high
    if low < pl
        pl := low
    if close > trend and na(dir)
        dir := 1
        trend := close
        ph := high
        pl := low
    if close < trend and na(dir)
        dir := -1
        trend := close
        ph := high
        pl := low
    if dir == 1 and close < trend - amplitude
        dir := -1
        trend := close
        ph := high
        pl := low
    if dir == -1 and close > trend + amplitude
        dir := 1
        trend := close
        ph := high
        pl := low

// Buy signal based on HalfTrend
buySignal = dir == 1 and ta.valuewhen(dir == -1, trend, 0)

// Plot HalfTrend
plot(dir == 1 ? trend : na, color=color.blue, linewidth=2, title="HalfTrend Bullish")
plot(dir == -1 ? trend : na, color=color.red, linewidth=2, title="HalfTrend Bearish")

// Place a stop-limit buy order
if (buySignal)
    stopPrice = ta.valuewhen(dir == -1, trend, 0)
    strategy.entry("HalfTrend Buy", strategy.long, stop=stopPrice, comment="HalfTrend Buy")



関連性

もっと