この戦略は,市場動向を決定するために,異なる期間の2つのEMA線間のクロスオーバーを計算して取引信号を生成する.より短い期間のEMAがより長い期間のEMAを横切ると,上昇傾向を示し,より短い期間のEMAがより長い期間のEMAを横切ると,ダウントレンドを示し,ロングポジションを開く.
この戦略は主にダブルEMAラインの黄金十字と死十字理論を適用する.ダブルEMAラインは長いEMAと短いEMAで構成される.短いEMAパラメータは10日,長いEMAパラメータは21日と設定されている.
ショート EMA がロング EMA を横切ったとき,買い信号が生成される.ショート EMA がロング EMA を横切ったとき,売り信号が生成される.この戦略は成長率の
購入条件は,ショート EMAがロング EMAよりも高く,株の成長率はポジティブな
戦略は比較的シンプルで信頼性があり,価格動向を決定するためにダブルEMAクロスオーバーを使用して,取引信号を生成するために成長率の
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="ema(ema10-21)", overlay=true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 15000, commission_type = strategy.commission.percent, commission_value = 0.2) useTimeLimit = input(defval = false, title = "Use Start Time Limiter?") startYear = input(defval = 2016, title = "Start From Year", minval = 0, step = 1) startMonth = input(defval = 05, title = "Start From Month", minval = 0,step = 1) startDay = input(defval = 01, title = "Start From Day", minval = 0,step = 1) startHour = input(defval = 00, title = "Start From Hour", minval = 0,step = 1) startMinute = input(defval = 00, title = "Start From Minute", minval = 0,step = 1) startTimeOk() => true lenght0 = input(10) lenght1 = input(21) source = close EmaShort = ema(ema(source, lenght0), lenght0) EmaLong = ema(ema(source, lenght1),lenght1) plot(EmaShort, color=red) plot(EmaLong, color=purple) growth = ((EmaShort-EmaLong)*100)/((EmaShort+EmaLong)/2) thresholdUp = input(defval=0.05, title="Threshold Up", type=float, step=0.01) thresholdDown = input(defval=-0.165, title="Threshold Down", type=float, step=0.001) if( startTimeOk() ) buy_condition = EmaShort > EmaLong and growth > thresholdUp buy_exit_condition = EmaShort < EmaLong and growth < thresholdDown strategy.entry("buy", strategy.long, comment="buy", when=buy_condition) strategy.close(id='buy', when=buy_exit_condition)