Эта стратегия называетсяСтратегия отслеживания двойной скользящей средней MACDОн использует индикатор MACD с золотым крестом и смертельным крестом двойных скользящих средних в качестве торговых сигналов, в сочетании с самой низкой ценой предыдущего дня в качестве точки остановки потери для отслеживания краткосрочного движения цен.
Эта стратегия использует классический индикатор двойной скользящей средней комбинации MACD для определения перекупленных и перепроданных зон, генерируя торговые сигналы, в то же время внедряя динамическое размещение позиций и самую низкую цену предыдущего дня в качестве дизайна точки остановки потери для улавливания краткосрочных колебаний цен.
/*backtest start: 2023-12-10 00:00:00 end: 2023-12-13 02:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 // macd/cam v1 strategizing Chris Moody Macd indicator https://www.tradingview.com/script/OQx7vju0-MacD-Custom-Indicator-Multiple-Time-Frame-All-Available-Options/ // macd/cam v2 changing to macd 5,8,3 // macd/cam v2.1 // Sell when lower than previous day low. // Initial capital of $2k. Buy/sell quantity of initial capital / close price // Quitar short action // Note: custom 1-week resolution seems to put AMD at 80% profitable strategy(title="MACD/CAM 2.1", shorttitle="MACD/CAM 2.1") // source = close //get inputs from options useCurrentRes = input(true, title="Use Current Chart Resolution?") resCustom = input(title="Use Different Timeframe? Uncheck Box Above", defval="60") smd = input(true, title="Show MacD & Signal Line? Also Turn Off Dots Below") sd = input(true, title="Show Dots When MacD Crosses Signal Line?") sh = input(true, title="Show Histogram?") macd_colorChange = input(true,title="Change MacD Line Color-Signal Line Cross?") hist_colorChange = input(true,title="MacD Histogram 4 Colors?") venderLowerPrev = input(true,title="Vender cuando closing price < previous day low?") res = useCurrentRes ? timeframe.period : resCustom fastLength = input(5, minval=1), slowLength=input(8,minval=1) signalLength=input(3,minval=1) // find exponential moving average of price as x and fastLength var as y fastMA = ema(source, fastLength) slowMA = ema(source, slowLength) macd = fastMA - slowMA // simple moving average signal = sma(macd, signalLength) hist = macd - signal outMacD = request.security(syminfo.tickerid, res, macd) outSignal = request.security(syminfo.tickerid, res, signal) outHist = request.security(syminfo.tickerid, res, hist) histA_IsUp = outHist > outHist[1] and outHist > 0 histA_IsDown = outHist < outHist[1] and outHist > 0 histB_IsDown = outHist < outHist[1] and outHist <= 0 histB_IsUp = outHist > outHist[1] and outHist <= 0 //MacD Color Definitions macd_IsAbove = outMacD >= outSignal macd_IsBelow = outMacD < outSignal plot_color = hist_colorChange ? histA_IsUp ? aqua : histA_IsDown ? blue : histB_IsDown ? red : histB_IsUp ? maroon :yellow :gray macd_color = macd_colorChange ? macd_IsAbove ? lime : red : red signal_color = macd_colorChange ? macd_IsAbove ? yellow : yellow : lime circleYPosition = outSignal plot(smd and outMacD ? outMacD : na, title="MACD", color=macd_color, linewidth=4) plot(smd and outSignal ? outSignal : na, title="Signal Line", color=signal_color, style=line ,linewidth=2) plot(sh and outHist ? outHist : na, title="Histogram", color=plot_color, style=histogram, linewidth=4) circleCondition = sd and cross(outMacD, outSignal) // Determine long and short conditions longCondition = circleCondition and macd_color == lime redCircle = circleCondition and macd_color == red redCirclePrevLow = redCircle or low<low[1] shortCondition = redCircle if (venderLowerPrev) shortCondition = redCirclePrevLow strategy.initial_capital = 20000 // Set quantity to initial capital / closing price cantidad = strategy.initial_capital/close // Submit orders strategy.entry(id="long", long=true, qty=cantidad, when=longCondition) strategy.close(id="long", when=shortCondition) plot(circleCondition ? circleYPosition : na, title="Cross", style=cross, linewidth=10, color=macd_color) // hline(0, '0 Line', linestyle=solid, linewidth=2, color=white)