
この戦略は,複数の技術指標と動力の分析方法を組み合わせた総合的なトレンド追跡システムである. 戦略の核心は,均線交差,トレンド確認と動力の指標を組み合わせた方法で,波動率を介してリスク制御を行い,市場傾向の把握とリスクの効果的な管理を実現する. この戦略は,中長期の傾向が明らかな市場環境において,適性がある.
戦略は,複数のレベルの信号確認メカニズムを採用し,主に以下のいくつかの重要な要素を含んでいます.
複数の信号を集約した判断の取引条件は以下の通りです. 複数の条件:EMA9でEMA21を穿え,MACD線は信号線より大きく正値で,RSIは40-70の間,価格はEMA9より上 空気条件:EMA9を下にEMA21を通過し,MACD線は信号線より小さく,負の値であり,RSIは30-60の間であり,価格はEMA9を下にある
この戦略は,複数の技術指標の組み合わせを用いて,比較的完全なトレンド追跡取引システムを構築している.戦略の核心的な優位性は,信号の信頼性とリスク管理の合理性にあるが,同時に,ある程度の遅れとパラメータ最適化の問題もある.提案された最適化の方向によって,戦略は,実地でのアプリケーションでより良いパフォーマンスを期待している.実際のアプリケーションで充分な歴史的データテストを行い,特定の市場特性に合わせてパラメータ調整を行うことを推奨している.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estratégia Cripto - 1D", shorttitle="Estratégia Cripto", overlay=true)
// Definição das Médias Móveis Exponenciais (EMA)
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
// Definição do MACD
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// Definição do RSI
rsi = ta.rsi(close, 14)
// Volume médio
volMedio = ta.sma(volume, 14)
// Definição das Bollinger Bands
basis = ta.sma(close, 20)
dev = ta.stdev(close, 20)
upperBand = basis + 2 * dev
lowerBand = basis - 2 * dev
// Condições de Compra (Long)
longCondition = (ema9 > ema21) and (macdLine > signalLine) and (macdLine > 0) and (volume > volMedio) and (rsi > 40 and rsi < 70) and (close > ema9)
if (longCondition)
strategy.entry("Compra", strategy.long)
// Condições de Venda (Short)
shortCondition = (ema9 < ema21) and (macdLine < signalLine) and (macdLine < 0) and (volume > volMedio) and (rsi < 60 and rsi > 30) and (close < ema9)
if (shortCondition)
strategy.entry("Venda", strategy.short)
// Stop Loss e Take Profit
strategy.exit("Take Profit/Stop Loss", from_entry="Compra", loss=200, profit=400)
strategy.exit("Take Profit/Stop Loss", from_entry="Venda", loss=200, profit=400)
// Plotagem das Médias Móveis e Bollinger Bands
plot(ema9, color=color.green, title="EMA 9")
plot(ema21, color=color.red, title="EMA 21")
plot(upperBand, color=color.blue, title="Upper Band")
plot(lowerBand, color=color.blue, title="Lower Band")