
この戦略は,2つの異なる周期の指標移動平均 ((EMA) の交差信号を利用して,市場の短期的な動きを捉え,快線が下から上へと慢線を横切るときに多頭ポジションを開く,快線が上から下へと慢線を横切るときに空頭ポジションを開く.同時に,リスクを制御し,利益をロックするためにストップとストップを設定する.これは,シンプルで古典的な動力効果に基づくショートライン取引戦略である.
EMA交差動量ショートライン取引戦略は,初心者向けに,迅速な練習と量化取引に慣れている人向けに,シンプルで使いやすいショートライン取引戦略である.この戦略は,短期的な動力の効果を捉え,市場傾向の方向に順応し,リスクを制御するために固定パーセントのストップ・ローズを設定することができる.しかし,この戦略には,頻繁に取引し,不十分な損失を発生させ,トレンドを認識し遅れた後のリスクなどがある.この戦略は,ストップ・ローズを最適化し,振動的状況をフィルターし,ポジションを動的に調整し,異なる周期を組み合わせ,マクロ分析を組み合わせて,戦略のリスクリターンと安定性を向上させるために,戦略の最適化と改良を行うことができる.
/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Scalping Strategy", overlay=true)
// Parameters
length_fast = input.int(9, title="Fast EMA Length", minval=1)
length_slow = input.int(21, title="Slow EMA Length", minval=1)
stop_loss_pct = 0.7 // Risk 0.7% of capital
take_profit_pct = 0.5 // Target 0.5% of capital
// Calculate EMAs
ema_fast = ta.ema(close, length_fast)
ema_slow = ta.ema(close, length_slow)
// Plot EMAs
plot(ema_fast, color=color.blue, title="Fast EMA")
plot(ema_slow, color=color.red, title="Slow EMA")
// Trading logic
long_condition = ta.crossover(ema_fast, ema_slow)
short_condition = ta.crossunder(ema_fast, ema_slow)
// Calculate stop loss and take profit levels
stop_loss_long = strategy.position_avg_price * (1 - stop_loss_pct / 100)
take_profit_long = strategy.position_avg_price * (1 + take_profit_pct / 100)
stop_loss_short = strategy.position_avg_price * (1 + stop_loss_pct / 100)
take_profit_short = strategy.position_avg_price * (1 - take_profit_pct / 100)
// Enter and exit trades
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Exit long trades
if (strategy.position_size > 0)
strategy.exit("Take Profit Long", "Long", limit=take_profit_long)
strategy.exit("Stop Loss Long", "Long", stop=stop_loss_long)
// Exit short trades
if (strategy.position_size < 0)
strategy.exit("Take Profit Short", "Short", limit=take_profit_short)
strategy.exit("Stop Loss Short", "Short", stop=stop_loss_short)