
Strategi ini dinamakan “Strategy Amplitude based on Variance and Moving Averages” dan ia menggunakan varian amplitude pada 30 garis K dan tiga purata bergerak ((MA5, MA15 dan MA30) untuk membuat keputusan perdagangan.
Idea utama strategi ini adalah untuk mengukur turun naik pasaran dengan mengira perbezaan kadar turun naik harga, dan menggabungkan purata bergerak dari pelbagai kitaran untuk menilai arah trend. Strategi ini akan melakukan operasi beli apabila turun naiknya rendah dan garis purata jangka pendek berada di atas garis purata jangka panjang.
Prinsip strategi boleh dibahagikan kepada beberapa langkah berikut:
Kelebihan strategi ini ialah:
Risiko utama strategi ini ialah:
Dalam usaha untuk mengoptimumkan strategi ini, beberapa perkara yang perlu dipertimbangkan ialah:
Secara keseluruhan, “strategi amplitud turun naik berdasarkan perbezaan dan purata bergerak” adalah strategi perdagangan yang menggabungkan volatiliti dan indikator trend. Ia mengukur turun naik pasaran dengan mengira perbezaan dalam pergerakan harga, dan menggabungkan purata bergerak dari pelbagai kitaran untuk menentukan arah trend, dan berdagang dalam keadaan pasaran yang sesuai.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Variance and Moving Averages Strategy", overlay=true)
// 计算MA5、MA15和MA30
ma5 = ta.sma(close, 5)
ma15 = ta.sma(close, 15)
ma30 = ta.sma(close, 30)
// 计算过去30根K线的波动幅度(最高价和最低价)的方差
variance = ta.variance((high - low) / close, 30) * 1000000
// 定义买入条件
buy_condition = variance < 35 and ma5 > ma15 and ma15 > ma30
// 定义止损条件 close < ma30 or ma5 < ma30
stop_loss_condition = true
// 定义止盈条件
take_profit_condition = variance > 500
// 执行交易逻辑
if (buy_condition)
strategy.entry("Long", strategy.long)
if (stop_loss_condition)
strategy.close("Long")
if (take_profit_condition)
strategy.close("Long")
// 绘制MA5、MA15和MA30
// plot(ma5, color=color.blue, title="MA5")
// plot(ma15, color=color.orange, title="MA15")
// plot(ma30, color=color.red, title="MA30")
// 绘制方差
hline(0.0004, color=color.green, linestyle=hline.style_dashed, title="Variance < 0.0004")
hline(0.0005, color=color.red, linestyle=hline.style_dashed, title="Variance > 0.0005")
plot(variance, color=color.white, title="Variance")