
この戦略は,5日目,10日目,20日目指数移動平均 ((EMA)) を計算し,超トレンド指標と組み合わせて,買入と売却のシグナルを生成する. 5日目線が10日目線を横切って,5日目線と10日目線が20日目線を横切ったときに買入シグナルを生成する. 10日目線が5日目線を横切って,10日目線が5日目線を横切って,5日目線が20日目線を横切って,5日目線と10日目線が20日目線を横切ったときに売出シグナルを生成する.
主なリスクに対する解決策:
この戦略は,5日,10日,20日3本の均線と超トレンド指標を用いて取引戦略を構築する.戦略はシンプルで高効率で,トレンド判断と発見の機会に優れている.同時に,強力なカスタマイズ性と拡張性がある.最適化の余地が広く,パラメータの調整,技術指標の追加,機械学習などの方法で戦略のパフォーマンスを継続的に改善し,より複雑な市場環境に適応することができる.
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 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/
// © aadilpatel07
//@version=4
strategy("5-10-20 Cross", overlay=true)
src = close,
len1 = input(5, minval=1, title="EMA 1")
len2 = input(10, minval=1, title="EMA 2")
len3 = input(20, minval=1, title="EMA 3")
mult = input(type=input.float, defval=2)
len = input(type=input.integer, defval=14)
[superTrend, dir] = supertrend(mult, len)
ema1 = ema(src, len1)
ema2 = ema(src, len2)
ema3 = ema(src, len3)
//EMA Color
col1 = color.lime
col2 = color.blue
col3 = color.red
//EMA Plots
plot(series=ema1,color=col1, title="EMA1")
plot(series=ema2,color=col2, title="EMA2")
plot(series=ema3,color=col3, title="EMA3")
//plot SuperTrend
colResistance = dir == 1 and dir == dir[1] ? color.new(color.red, 100) : color.new(color.green, 100)
colSupport = dir == -1 and dir == dir[1] ? color.new(color.green, 0) : color.new(color.green, 10)
plot(superTrend, color = colResistance, linewidth=1)
plot(superTrend, color = colSupport, linewidth=1)
//longCondition = crossover(ema1, ema2) and crossover(ema1,ema3) and crossover(ema2,ema3)
longCondition = ema1 > ema2 and ema1 > ema3 and ema2 > ema3 and ema2 < ema1 and dir == -1
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
//shortCondition = crossover(ema2, ema1) and crossover(ema3,ema1) and crossover(ema3,ema2)
shortCondition = ema1 < ema2 and ema1 < ema3 and ema2 < ema3 and ema2 > ema1 and dir == 1
if (shortCondition)
strategy.entry("My Short Entry Id", strategy.short)