
この戦略は,2つの異なるパラメータのセットの単純な移動平均を計算し,それをポジションと平仓の信号として使って,利益を得ます.この戦略は,最初にアメリカのトレーダーであるリチャード・デニスによって1983年に提案され,単純なルールに依存して安定した利益を得ることができ,後にCurtis Faithによってさらに普及し,広く知られています.
この策略は,同時にお2つのセットの快線と慢線を計算する.快線パラメータは,ポジション構築周期20日,ポジション緩和周期10日;スローラインパラメータは,ポジション構築周期55日,ポジション緩和周期20日とする.価格が上線を突破したときに,ポジション構築周期の最高値が多順位シグナルを誘発する.価格が下線を突破したときに,ポジション構築周期の最低値が空順位シグナルを誘発する.信号は,同様に,価格が下線を突破したときに,ポジション構築周期の最低値が多順位シグナルを誘発する.
この戦略は,移動平均の均線理論に依存して利益を得ます.つまり,短期平均線に長期平均線を穿えると,価格上昇の信号とみなされ,下落すると価格下落の信号とみなされます.この戦略の快線と慢線は,同様の役割を果たします.
この戦略は,典型的なトレンドフォロー戦略の1つである. 簡単な二重移動平均を頼りに取引ルールを確立し,市場トレンドを追跡することによって安定した収益を得ることができる. この戦略は,理解しやすい実装,ポジションの信号の明快さ,長期の実況検証収益,初心者の学習研究に適しています. 同時に,より複雑な量化取引の基礎を設ける. 継続的な最適化により,より良いパフォーマンスを得る見通しがある.
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//coded by tmr0
//original idea from «Way of the Turtle: The Secret Methods that Turned Ordinary People into Legendary Traders» (2007) CURTIS FAITH
strategy("20 years old Turtles strategy by tmr0", shorttitle = "Turtles", overlay=true)
enter_fast = input(20, minval=1)
exit_fast = input(10, minval=1)
enter_slow = input(55, minval=1)
exit_slow = input(20, minval=1)
fastL = highest(enter_fast)
fastLC = lowest(exit_fast)
fastS = lowest(enter_fast)
fastSC = highest(exit_fast)
slowL = highest(enter_slow)
slowLC = lowest(exit_slow)
slowS = lowest(enter_slow)
slowSC = highest(exit_slow)
enterL1 = high > fastL[1]
exitL1 = low <= fastLC[1]
enterS1 = low < fastS[1]
exitS1 = high >= fastSC[1]
enterL2 = high > slowL[1]
exitL2 = low <= slowLC[1]
enterS2 = low < slowS[1]
exitS2 = high >= slowSC[1]
//bgcolor(exitL1 or exitL2? red: enterL1 or enterL2? navy:white)
strategy.entry("fast L", strategy.long, when = enterL1)
strategy.entry("fast S", strategy.short, when = enterS1)
strategy.close("fast L", when = exitL1)
strategy.close("fast S", when = exitS1)
strategy.entry("slow L", strategy.long, when = enterL2)
strategy.entry("slow S", strategy.short, when = enterS2)
strategy.close("slow L", when = exitL2)
strategy.close("slow S", when = exitS2)
//zl=0
//z=strategy.netprofit / 37 * koef //ежемесячная прибыль
//z=strategy.grossprofit/strategy.grossloss
//z1=plot (z, style=line, linewidth=3, color = z>zl?green:red, transp = 30)
//hline(zl, title="Zero", linewidth=1, color=gray, linestyle=dashed)