Эта стратегия использует индикаторы TEMA, VWMACD и HMA для фиксации нисходящего тренда биткоина. Ее основная логика заключается в том, чтобы пойти коротко, когда VWMACD пересекает ниже 0, цена ниже HMA, а быстрая TEMA ниже медленной TEMA. Она выйдет из позиции, когда VWMACD пересекает выше 0, цена выше HMA или быстрая TEMA пересекает более медленную TEMA.
Сначала вычислите VWMACD (единственное отличие от обычного MACD - это способ вычисления скользящей средней) и выведите его в виде гистограммы. Затем добавьте HMA в качестве фильтра тренда. После этого создайте и добавьте быструю TEMA (5 периодов) и медленную TEMA (8 периодов) и вычислите разницу между ними, чтобы вывести на график около 0.
Специфическое правило входа: когда VWMACD ниже 0, цена ниже HMA, а быстрая TEMA ниже медленной TEMA, перейти на короткий.
Специфическое правило выхода заключается в следующем: когда VWMACD пересекается выше 0, цена превышает HMA или быстрая TEMA пересекается выше медленной TEMA, закрытая позиция.
Эта стратегия использует комбинацию VWMACD, HMA и быстрой/медленной TEMA для улавливания краткосрочных нисходящих тенденций биткойна. Ее преимущества - относительно надежные сигналы и пригодность для высокочастотного трейдинга. Но она также имеет риски, такие как сложная настройка параметров, подверженная помехам шума. Дальнейшая оптимизация комбинаций параметров и добавление вспомогательных индикаторов могут сделать стратегию более стабильной и надежной. В целом, используя множество подтверждений индикаторов и краткосрочных параметров, эта стратегия может делать относительно точные суждения о краткосрочных нисходящих тенденциях биткойна, и является эффективной высокочастотной короткой стратегией.
/*backtest start: 2022-11-08 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="TEMA_HMA_VWMACD short strategy", shorttitle="Short strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.018, currency='USD') startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0) end = timestamp(9999,1,1,0,0) _testPeriod() => iff(time >= startP and time <= end, true, false) slow = input(13, "Short period") fast = input(21, "Long period") signal = input(5, "Smoothing period") Fast = ema( volume * close, fast ) / ema( volume, fast ) Slow = ema( volume * close, slow ) / ema( volume, slow ) Macd = Slow - Fast Signal = ema(Macd, signal) Hist=Macd-Signal plot(Hist, color=color.silver, linewidth=1, style=plot.style_histogram) plot(0, color=color.red) length = input(400, minval=1, title = "HMA") hullma = wma(2*wma(close, length/2)-wma(close, length), floor(sqrt(length))) tema_length_1 = input(5, "Fast moving TEMA") tema_length_2 = input(8, "Slow moving TEMA") tema(sec, length)=> tema1= ema(sec, length) tema2= ema(tema1, length) tema3= ema(tema2, length) tema = 3*tema1-3*tema2+tema3 tema1 = tema(hlc3, tema_length_1) tema2 = tema(hlc3, tema_length_2) threshold = 0 tm = tema1 - tema2 plot_fast = plot(tm, color = tm > 0 ? color.green : color.red) plot(threshold, color=color.purple) up = crossover(tm, 0) down = crossunder(tm, 0) longCondition = (Hist < 0) and hullma > close and (tema1 < tema2) and _testPeriod() strategy.entry('BUY', strategy.short, when=longCondition) shortCondition = (Hist > 0) or hullma < close or up strategy.close('BUY', when=shortCondition) // Take profit tp = input(1, type=input.float, title='Take Profit (%)') sl = input(4, type=input.float, title='Stop Loss (%)') strategy.exit('XLong', from_entry='BUY', profit=(close * (tp/100) * (1/syminfo.mintick)), loss=(close * (sl/100) * (1/syminfo.mintick)))