골든 비율 이동 평균 거래 전략은 단기 및 장기 이동 평균의 황금 십자가를 거래 신호로 사용하려고 시도하는 양적 거래 전략입니다. 이 전략은 또한 위험을 제어하기 위해 지역 최고 수준에서 포지션을 개척하는 것을 피하기 위해 RSI 지표를 통합합니다.
이 전략은 주로 두 개의 이동 평균을 기반으로 합니다. 200일 MA는 장기 MA와 10일 MA는 단기 MA입니다. 단기 MA가 장기 MA를 넘을 때 구매 신호가 생성됩니다. 단기 MA가 장기 MA를 넘을 때 판매 신호가 생성됩니다. 이것은 유명한
특히, 다음 조건이 충족되면 긴 포지션이 열릴 것입니다.
포지션 종료 조건은 다음과 같습니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략은 또한 몇 가지 위험을 안고 있습니다.
이러한 위험을 줄이기 위해 다음과 같은 최적화 조치를 고려할 수 있습니다.
전략의 더 많은 최적화를 위한 여지가 있습니다.
요약하자면, 황금 비율 이동 평균 거래 전략은 트렌드를 따르는 전략으로 간단하고 효과적입니다. 클래식 MA 크로스오버 신호를 사용하여 거래 기회를 생성하고 위험을 제어하기 위해 정지를 가지고 있습니다. 전략은 더 나은 전략 성능을 얻기 위해 멀티 지표 조합, 매개 변수 최적화, 기계 학습 등을 통해 더욱 향상 될 수 있습니다.
/*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")