スカルピング戦略

作者: リン・ハーンチャオチャン開催日:2023年9月21日 20:41:15
タグ:

概要

この戦略はスカルピング戦略タイプに属し,小利益から利益を得るために頻繁にポジションを開閉することを目的とし,下向きのリスクを制限する.これは,移動平均値で長期化するための潜在的な逆転点を特定し,小利益をロックするために緊密な利益目標を設定する.

戦略の論理

この戦略は4つの移動平均値を使用します 9, 50, 100, 200期です

特別取引規則は次のとおりです.

  • 9MAが50MAを超えると長引く
  • 50 MA は 100 MA 未満です
  • 100 MA は 200 MA 未満

この組み合わせは,価格が短期的に下落傾向にある状況が特定されますが,逆転が起こる可能性があります.

エクジットルールは,9MAが200MAを超えるとあります.近利目標は,安定した利益のために頻繁な小利益をロックするために使用されます.

利点

  • 頻繁な開閉制御 単一の損失
  • MAクロスオーバーは潜在的な底を捕まえます
  • 小規模な特定の勝利で利益に近い目標がロックされます
  • 保持時間が短くなり,トレンドの影響は最小限に抑えられる.
  • 小規模な口座に適した高い資本利用率

リスク

  • MAの遅延は,最高のエントリーポイントを見逃す可能性があります.
  • 小規模な利益範囲で手数料に脆弱
  • 不当 な 職業 の 増加 は 時間 や エネルギー の 費用 を 増加 さ せる
  • 過剰に保守的なTPは,トレンドに乗れない
  • 範囲限定市場では利益を得るのは難しい

リスクは以下によって軽減できます.

  • 信号の正確性を向上させるMAパラメータの最適化
  • トップページ > トップページ > トップページ > トップページ > トップページ > トップページ
  • 確認のための他の指標を追加し,無効な取引を減らす
  • 資本利用とポジションサイズを最適化
  • 再入国を検討する

オプティマイゼーションの方向性

戦略は以下によって改善できます.

  1. MA の組み合わせを最適化する

    逆転の検出を良くするために より多くの MA 期間をテストする.

  2. 利益の拡大

    より多くのトレンド利益を得るため,より広いTP距離を許可します.

  3. 他の指標を追加する

    KDJ,MACDなどの確認は 取引が不成立を防ぐため

  4. 位置サイズ最適化

    特定のTPとSLに基づいて動的サイズポジション

  5. 再入国規則の追加

    トレンドが続く場合 TPの後再入力を検討します

概要

このスカルピング戦略は,頻繁な小利益のためのMA組み合わせで潜在的な短期的な逆転を特定します.これは単一の損失とリスクを効果的に制御し,小口座の成長に適しています.しかし,小利益範囲や過剰な取引のような制限があります.パラメータ調節,TP調整,フィルターなどを追加することによって改善ができます.その強みを保持しながら利益を拡大し,戦略をより堅牢かつ効率的にします.また,他のより高度な戦略を継続的に学ぶことも重要です.


/*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)


もっと