Die Golden Ratio Moving Average Trading Strategie ist eine quantitative Handelsstrategie, die versucht, das goldene Kreuz von kurzfristigen und langfristigen gleitenden Durchschnitten als Handelssignale zu verwenden.
Die Strategie basiert hauptsächlich auf zwei gleitenden Durchschnitten: der 200-Tage-MA als langfristige MA und der 10-Tage-MA als kurzfristige MA. Ein Kaufsignal wird erzeugt, wenn der kurzfristige MA über die langfristige MA überschreitet; ein Verkaufssignal wird erzeugt, wenn der kurzfristige MA unter den langfristigen MA überschreitet. Dies ist das berühmte
Insbesondere wird eine Long-Position eröffnet, wenn die folgenden Bedingungen erfüllt sind:
Die Bedingungen für die Schließung der Position sind wie folgt:
Die Strategie weist folgende Vorteile auf:
Die Strategie birgt auch einige Risiken:
Zur Verringerung dieser Risiken können folgende Optimierungsmaßnahmen in Betracht gezogen werden:
Es besteht Raum für eine weitere Optimierung der Strategie:
Zusammenfassend ist die Golden Ratio Moving Average Trading Strategie eine einfache und effektive Trend-Folge-Strategie. Sie erzeugt Handelsmöglichkeiten mit klassischen MA-Crossover-Signalen und hat Stops, um Risiken zu kontrollieren.
/*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")