移動平均振動ブレイクスルーHODL戦略


作成日: 2023-09-12 16:02:24 最終変更日: 2023-09-12 16:02:24
コピー: 0 クリック数: 612
1
フォロー
1617
フォロワー

この戦略は,価格と長期周期平均線 ((例えば200日線) との関係を見ることによって,価格が平均線を破るときに多額のポジションを立て,価格が平均線を下回るときに平額ポジションを立て,長線震動突破操作戦略に属します.この戦略は,長期の保有を追求し,取引頻度を減らすものです.

戦略の原則:

  1. 長い周期の移動平均を計算し,典型的なパラメータは200日線である.

  2. 閉店価格が下からこの平均線を突破すると,買入し,多操作する.

  3. 閉盘価格が上からこの平均線を下回ったとき,平仓操作を行う.

  4. この状態では,価格が平均線を下回るまで継続して保持します.

この戦略の利点は

  1. 長線均線は,価格の中間の長線トレンドを効果的に識別する.

  2. 突破取引は株価の逆転を捕まえるのに役立ちます.

  3. 取引の頻度を減らすことで,取引コストとリスクを減らすことができます.

この戦略のリスクは

  1. 長周期平均線遅れの問題はより深刻で,入場点も悪い.

  2. 破局後の回调波動による損失を制限できない.

  3. 頻繁に発生する小規模な突破は,小規模な損失を連續的に引き起こす可能性があります.

要するに,HODL戦略は,長期周期平均線の振動によって保有時を判断し,取引頻度を減らすことができます.しかし,パラメータの最適化と止損設定の改善の余地があり,撤回を制御し,長期にわたって安定した利益を得ることができます.

ストラテジーソースコード
/*backtest
start: 2022-09-05 00:00:00
end: 2023-04-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("HODLBot", default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick=true, overlay=true)
    
//// Time limits 
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(01, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2029, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true

maPeriod = input(200, "MA Period")
smoothing = input(defval="EMA", options=["EMA", "SMA"])

ma(smoothing, src, length) => 
    if smoothing == "EMA"
        ema(src, length)
    else
        if smoothing == "SMA"
            sma(src, length)
        
//// Main ////

movingAverage = ma(smoothing, close, maPeriod)

plot(movingAverage, color=orange, style = line, linewidth = 4)
 
// very simple, price over MA? Buy and HODL 
if (testPeriod() and close > movingAverage)
    strategy.entry("HODL", strategy.long)

// Price under, close long
if (testPeriod() and close < movingAverage)
    strategy.close("HODL")