
この戦略は,EMA均線の交差原理に基づいて,ショートライン取引戦略を設計し,株価が一定程度の回調が発生したときに,適切なショートライン取引を行い,より良い収益を期待することができる.
この戦略は,10日線,20日線,5日線,7日線,200日線の5つの異なるパラメータのEMA平均線を使用する.その取引信号の生成ロジックは次のとおりです.
価格が75日線を上越し,50日線を下越したときに,株価が一定幅の出現した短線リコールシグナルと見なされ,空白を考慮することができる.
短引の後に,10日線を下に20日線を突破した場合,空券を保有し続けます.10日線が20日線を再び突破したとき,平仓で購入し,そのラウンドのショートライン取引を終了します.
このような取引の論理設計により,短期間の株価の大きな変動を捉え,修正段階で証券の差値を稼ぐことができます.
この戦略の最大の利点は,取引信号の生成が単純で明快で,実行が容易であることです. 移動平均の数つの交差点のみに依存して,取引決定を完了することができます. 複雑なモデルと大量の歴史的データを必要とせず,実行の難しさが軽減されます.
また,複数のEMA平均線を組み合わせることで,市場騒音を効果的にフィルターし,中短期のトレンドの逆転のタイミングを特定し,取引決定を正確にすることができる.
この戦略の主なリスクは,株価が短期間に激しく波動することにある. 株価が制御不能の急速な上昇または下落が発生した場合,ストープ・ローズまたはストップ・フローズが突破され,大きな損失を招く. さらに,選択されたパラメータが不適切であれば,取引シグナルが過度に頻繁になり,戦略の利益に影響を与える可能性があります.
リスクを制御するために,平均線パラメータを適切に調整し,取引頻度を適度なレベルに保つこと;同時に,単一の損失を過大に避けるために合理的な止損幅を設定する.特殊な市場状況に直面したとき,人工介入も必要であり,戦略取引を一時停止する.
この戦略は,パラメータ調整の上で空間を優化する.より多くの組み合わせのパラメータをテストして,最適なパラメータの組み合わせを探することができる.例えば,60日線,120日線などのより多くの平均を導入して,より豊かな取引信号源を形成することができる.
また,止損,止などの次元で最適化することもできる.適切な緩解止損幅は,誤った止損の確率を減らすことができる;緊固な止損幅は,収益性を高める可能性がある.これらのパラメータの調整は,フィットバックの結果に基づいて最適なパラメータを選択する必要がある.
この戦略は全体的に比較的シンプルで,EMA均線交差をベースに,簡単な実行可能なショートライン取引戦略を設計した. この戦略の信号は明確で,実行しやすい. 中短期のトレンドの逆転がもたらす取引機会を効果的に捉えることができる. パラメータの調整とストップ,ストップの設定の最適化により,この戦略がよりよい効果を得ることができる.
/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © theswissguy
//@version=5
strategy("Jan 2024 Daily (Short)", initial_capital = 10000, overlay=true, commission_value = 1)
// use closing prices as data source throughout calcs.
ema_source = close
price = close
// set up the EMA curves.
ema10 = ta.ema(ema_source, 10)
ema20 = ta.ema(ema_source, 20)
ema50 = ta.ema(ema_source, 50)
ema75 = ta.ema(ema_source, 75)
ema200 = ta.ema(ta.ema(ema_source, 200), 35)
plot(ema10, color=color.red, title="EMA10")
plot(ema20, color=color.orange, title="EMA20")
plot(ema50, color=color.green, title="EMA50")
plot(ema75, color=color.yellow, title="EMA75")
plot(ema200, color=color.blue, title="EMA200", linewidth = 4)
// if EMA50 <= price <= EMA75 AND EMA10 < EMA20 - sell
dailySellIndicator = ta.crossover(price, ema75) and ta.crossunder(price, ema50) and ta.crossunder(ema10, ema20)
dailyBuyIndicator = ta.crossover(ema10, ema20)
if(dailySellIndicator)
strategy.entry("daily", strategy.short)
else if(dailyBuyIndicator)
strategy.entry("daily", strategy.long)