
Стрельба в золоте с использованием пересечения долгосрочных и краткосрочных скользящих средних является количественной торговой стратегией, которая используется в качестве торгового сигнала. Эта стратегия используется в сочетании с индикатором RSI, чтобы избежать открытия позиций в локальных высоких позициях, чтобы контролировать риск.
Эта стратегия основана на двух движущихся средних: 200-дневная линия является долгосрочной средней, 10-дневная - краткосрочной средней. При пересечении долгосрочной средней через короткосрочную среднюю она дает сигнал о покупке, а при пересечении долгосрочной средней через короткосрочную среднюю она дает сигнал о продаже.
В частности, для открытия позиции сверхглавой необходимо выполнить следующие условия:
Условия ликвидации:
Эта стратегия имеет следующие преимущества:
Однако эта стратегия также несет в себе некоторые риски:
Чтобы снизить эти риски, можно рассмотреть следующие меры оптимизации:
В этой стратегии есть место для дальнейшей оптимизации:
В целом, стратегия трейдинга с золотой серединой является простой и эффективной стратегией отслеживания тенденций. Она использует классические равнолинейные перекрестные сигналы для создания торговых возможностей и имеет стоп-стоп для контроля риска. Эта стратегия может быть улучшена с помощью комбинации множественных индикаторов, оптимизации параметров и машинного обучения, чтобы получить лучшую стратегическую эффективность.
/*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")