
Strategi perdagangan moving average gold split adalah strategi perdagangan kuantitatif yang mencoba menggunakan crossover emas dengan moving average jangka panjang sebagai sinyal perdagangan. Strategi ini dikombinasikan dengan indikator RSI untuk menghindari posisi di posisi tinggi lokal untuk mengendalikan risiko.
Strategi ini didasarkan pada dua rata-rata bergerak: 200 hari sebagai rata-rata jangka panjang, 10 hari sebagai rata-rata jangka pendek. Ini menghasilkan sinyal beli ketika rata-rata jangka pendek melewati rata-rata jangka panjang; Ini menghasilkan sinyal jual ketika rata-rata jangka pendek melewati rata-rata jangka panjang.
Secara khusus, posisi multi-head akan dibuka jika memenuhi persyaratan berikut:
Kondisi setara adalah sebagai berikut:
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini juga memiliki beberapa risiko:
Untuk mengurangi risiko ini, langkah-langkah optimasi berikut dapat dipertimbangkan:
Strategi ini masih bisa dioptimalkan lebih jauh:
Strategi perdagangan rata-rata bergerak Gold Split secara keseluruhan adalah strategi pelacakan tren yang sederhana dan efektif. Ini menggunakan sinyal silang linier klasik untuk menghasilkan peluang perdagangan, dan memiliki stop loss untuk mengendalikan risiko. Strategi ini dapat ditingkatkan lebih lanjut melalui kombinasi multi-indikator, optimasi parameter, dan pembelajaran mesin, sehingga mendapatkan efek strategi yang lebih baik.
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tsujimoto0403
//@version=5
strategy("聖杯", overlay=true,default_qty_type=strategy.percent_of_equity,
default_qty_value=100)
//ユーザーインプットの準備
malongperiod=input.int(200,"長期移動平均BASE200",group = "パラメータ")
mashortperiod=input.int(10,"長期移動平均BASE10",group = "パラメータ")
stop=input.int(20,title = "損切の割合%",group = "パラメータ")
profit=input.int(5,title = "利食いの割合%",group = "パラメータ")
startday=input(title="バックテストを始める日", defval=timestamp("01 Jan 2018 13:30 +0000"), group="期間")
endday=input(title="バックテスを終わる日", defval=timestamp("1 Jan 2099 19:30 +0000"), group="期間")
//使う変数
var float stopprice=0
var float takeprofit=0
//とりあえず使うインジケーターをプロット
malong=ta.sma(close,malongperiod)
mashort=ta.sma(close,mashortperiod)
plot(malong,color=color.aqua,linewidth = 2)
plot(mashort,color=color.yellow,linewidth = 2)
bgcolor(ta.rsi(close,3)<30?color.rgb(229, 86, 86, 48):na)
//期間条件
datefilter = true
//エントリー条件
if close>malong and close<mashort and strategy.position_size == 0 and datefilter and ta.rsi(close,3)<30
strategy.entry(id="long", direction=strategy.long)
if strategy.position_size>0
strategy.exit(id="long",stop=(1-0.01*stop)*strategy.position_avg_price)
//売り
if strategy.position_size > 0 and close>mashort and close<low[1]
strategy.close(id ="long")