移動平均短期スキャルピング戦略


作成日: 2023-09-21 20:41:15 最終変更日: 2023-09-21 20:41:15
コピー: 0 クリック数: 935
1
フォロー
1617
フォロワー

概要

この戦略は,ショートライン・スカルピング戦略のタイプに属し,その目標は,頻繁にポジションを平行して,小額の利益と下行リスクのコントロールによって安定した利益を達成することです.この戦略は,均線指標によって可能な逆転点の入場を判断し,小額の利益をロックするために迅速なストップオフ目標を設定します.

戦略原則

この戦略は,4つの移動平均線,すなわち9周期,50周期,100周期,および200周期の平均線を使用する.

具体的な取引ルールは次のとおりです。

  • 9周期平均線で50周期平均線で追加入場する
  • 50周期平均線は100周期平均線より低い
  • 100周期平均線は200周期平均線より低い

この組み合わせは,短期的に下落しているものの,反転する可能性のあるタイミングを特定するのに役立ちます.

平仓規則は,9周期平均線に200周期平均線を突破すると平仓多仓である。ここでは,より近いストップストップの目標を設定し,頻繁な小額利益によって安定した利益を達成することを目的としている。

戦略的優位性

  • 単発損失を効果的にコントロールする.
  • 平均線で逆転点を判断して 買い物ポイントを見つけます.
  • 利潤を決定する小額をロックする
  • ポジション保持時間を短縮し,大トレンドの影響を軽減する
  • 資金利用率が高いため,小規模な資金の成長に適しています.

戦略リスク

  • 平均線が遅れていると判断し,ベストエントリーポイントを逃す可能性がある.
  • 利益の余地が狭く,取引費用の影響を受けやすい
  • 取引の頻度,時間と労力のコスト
  • ストップポイントは保守的で,トレンドを十分に追っていない.
  • 市場から利益を得るのに苦労する

リスクは以下の方法で軽減できます.

  • 平均線パラメータを最適化して,購入ポイント判断の正確性を向上させる
  • EXITの制限を適切に緩和し,トレンド利益を増やす
  • 他の技術指標への加入を確認し,無効取引を減らす
  • 資金活用率とポジション管理の最適化
  • 考えるusch

最適化の方向

この戦略は以下の点で最適化できます.

  1. 平均線参数组合を最適化する

より多くの平均周期パラメータをテストし,逆転をより正確に判断する組み合わせを見つけます.

  1. 停止点を緩める

市場を拡大し,トレンドの利益を追求する.

  1. 他の技術指標に追加

KDJ,MACDなどの確認により,無効取引を減らす.

  1. ポジション管理の最適化

ポジションの大きさを設定し,特定のストップポイントとストップ損失ポイントに応じて動的に調整します.

  1. 再入学制度への参加

停戦後,この傾向が続くと,条件付き再入場を検討することができる.

要約する

この戦略は,短線スカルピング戦略のタイプに属し,短期的な反転の均線組み合わせを判断して取引信号を形成し,より近いストップを設定して頻繁に利益を得る.これは,単一損失とリスクを効果的に制御し,小額の資金の成長に適しています.しかし,利益の余地が小さい,取引の頻度などの問題があります.

ストラテジーソースコード
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//strategy(shorttitle='Moving Average Scalper (by Coinrule)',title='Moving Average Scalper', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 10,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2019, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

//MA inputs and calculations
movingaverage_signal = sma(close, input(9))
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_mid= sma(close, input(100))

//Entry 
bullish = crossover(movingaverage_signal, movingaverage_fast)

strategy.entry(id="long", long = true, when = bullish and movingaverage_fast < movingaverage_mid and movingaverage_mid < movingaverage_slow and window())

//Exit

bearish = crossover(movingaverage_signal, movingaverage_slow)


Stop_loss= ((input (2))/100)
Take_profit= ((input (8))/100)

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = bearish)

// close < longStopPrice or close > longTakeProfit and window())

//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2 )
plot(movingaverage_fast, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=2)
plot(movingaverage_mid, color=color.blue, linewidth=2)