
この策略は,9日平均線,20日平均線と200日平均線の交差を計算して多空方向を決定する.これは,二重均等線交差のクラシックな考え方を融合させ,同時に200日平均線の長期トレンドを判断する手段を追加する.これは,より安定した信頼性の高い多空策である.
この戦略は,主に9日平均線,20日平均線と200日平均線の関係を計算して,価格の多空傾向を判断する.
まず,9日平均線と20日平均線を計算する. 9日平均線上から20日平均線を通過すると,買入信号, 9日平均線下から20日平均線を通過すると,売出信号となる. これは双均線交差における最も基本的な判断ルールである.
次に,長期トレンドの指標として,200日平均線を計算する.20日平均線上から200日平均線を突破すると,長期の負の信号;20日平均線下から200日平均線を突破すると,長期の負の信号である.
最後に,9日平均線,20日平均線と200日平均線の関係を統合して,特定の買入と売却のタイミングを判断する.実際の取引信号は,9日平均線と20日平均線が同上または同下を通過するときにのみ発生する.
複数の均線の交差を計算することで,この戦略は均線のトレンド追跡機能を充分に活用し,短期および長期の価格動きを効果的に判断し,購入や販売の操作を導くことができます.
1.平均線策はパラメータ調整に敏感で,周期的な平均線効果は大きく異なる
この戦略は,双均線交差と長期均線判断のクラシックな考え方を統合し,均線のトレンド特性を利用して,買賣決定を導く. 動作はシンプルで,理解しやすい. 量化取引の入門戦略として実装できます. しかし,そのパラメータは敏感で,遅れがある問題など,さらなるテストと最適化が待っています. 全体的に,この戦略は,その基礎として拡張と改善を施し,より強力な取引システムを開発できる基礎の枠組みを提供します. 投資家は,自分のニーズに応じて,適切な要素を選択し,戦略を継続的に最適化して,量化取引で長期にわたって安定した超利益を得ることができます.
/*backtest
start: 2023-10-29 00:00:00
end: 2023-11-05 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=1
strategy("Dieyson Swingtrade EMA 20+200 and bar & line color", overlay=true)
//bar color rules
Dgbar = close>close[1] and ema(close,20)>ema(close[1],20)
Drbar = close<close[1] and ema(close,20)<ema(close[1],20)
//Barcolors
barcolor(Dgbar ? green : na)
barcolor(Drbar ? red : na)
//MM09 Colorful
MMgreen9 = ema(close,9)>ema(close[1],9) and ema(close,20)>ema(close[1],20)
MMred9 = ema(close,9)<ema(close[1],9) and ema(close,9)<ema(close[1],9)
col8 = (MMgreen9 ? color(green,0) : na)
col28 = (MMred9 ? color(red,0) : na)
col38 = (not MMgreen9 and not MMred9 ? color(black,0) : na)
//plot(ema(close,9), color=col8, style=line, linewidth=1)
//plot(ema(close,9), color=col28, style=line, linewidth=1)
//plot(ema(close,9), color=col38, style=line, linewidth=1)
//MM20 Colorful
MMgreen = ema(close,20)>ema(close[1],20)
MMred = ema(close,20)<ema(close[1],20)
col = (MMgreen ? color(green,0) : na)
col2 = (MMred ? color(red,0) : na)
col3 = (not MMgreen and not MMred ? color(yellow,0) : na)
col4 = color(black,0)
plot(ema(close,20), color=col, style=line, linewidth=2)
plot(ema(close,20), color=col2, style=line, linewidth=2)
plot(ema(close,20), color=col3, style=line, linewidth=2)
plot(ema(close,200), color=col4, style=line, linewidth=3)
//plot(vwap(15), color(white,0), style=line, linewidth=3)
//plot(cross(ema(close,9), ema(close,20)) ? ema(close,9) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)
plot(cross(ema(close,20), ema(close,200)) ? ema(close,20) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)
c = crossover(ema(close,9), ema(close,20)) and ema(close,9) > ema(close,20)
// c = crossover(close, ema (close,9) and ema(close,9) > ema(close[1],9))
v = crossunder(close, ema (close,9))
strategy.entry("COMPRA", strategy.long,when=c)
strategy.entry("VENDA", strategy.short,when=v)