#signals #pine-script
#сигналы #сосна-сценарий
Вопрос:
я кодирую стратегию на основе канала дончиана в скрипте pine для просмотра торговли, все каналы строятся на графике в соответствии с кодом , но не могут генерировать короткие продажи на покупку и закрывать сигнал, а код также не показывает никаких ошибок, любая помощь была бы отличной.
//@version=5 strategy("Donchian Channel", overlay=true) TOPLENGTH = input.int(defval=10,title='Top length',minval=5,maxval=100,step=1) BOTTOMLENGTH = input.int(defval=10,title='Bottom length',minval=5,maxval=100,step=1) midsellT = input.int(defval=10,title='midbuyT',minval=5,maxval=100,step=1) midsellB = input.int(defval=10,title='midbuyB',minval=5,maxval=100,step=1) midcoverT = input.int(defval=10,title='midshortT',minval=5,maxval=100,step=1) midcoverB = input.int(defval=10,title='midshortB',minval=5,maxval=100,step=1) hh = ta.highest(high, TOPLENGTH) ll = ta.lowest(low, BOTTOMLENGTH) hhB = ta.highest(high, midsellT) llB = ta.lowest(low, midsellB) hhL = ta.highest(high, midcoverT ) llL = ta.lowest(low, midcoverB ) Top = plot(hh, 'Upper Band', color = color.green) Bottom = plot(ll, 'Lower Band', color = color.red) midB = (hhB llB) / 2 midL = (hhL llL) / 2 midPlotB = plot(midB, 'BasisB', color = color.black) midPlotS = plot(midL, 'BasisL', color = color.blue) buy = ta.crossover(high,hh) sell = ta.crossunder(low,midB) short= ta.crossunder(low,ll) cover= ta.crossover(high,midL) plotshape(buy,style=shape.labelup,location=location.belowbar,color=color.green,title="buy",textcolor=color.black,text="buy") plotshape(short,style=shape.labeldown,location=location.abovebar,color=color.red,title="short",textcolor=color.blue,text="short") strategy.entry('long entry',strategy.long,when=buy) strategy.close('long entry',when=sell) strategy.entry('short entry',strategy.short,when=short) strategy.close('short entry',when=cover)
Комментарии:
1. Я попытался применить вашу стратегию к AAPL,D и BTCUSD,D и не увидел никаких знаков формы для записей. Я полагаю, твоим
buy
иshort
никогда не сталtrue
.2. да, я знаю, что сигнал не генерируется, поэтому я задал вопрос, как я могу это исправить, какие изменения я должен внести, чтобы создать правильную торговую систему, если вы знаете сценарий pine, чем, пожалуйста, помогите исправить проблему, я думаю, что состояние сигнала правильное, но какая-то другая проблема создает проблему, я не знаю, что.
3. Я не знаю сути вашей торговой идеи, но
buy = ta.crossover(high,hh)
этого никогда не произойдет, потомуhigh lt;= hh
что всегда.4. моя торговая идея проста покупайте, когда максимум свечи пересекает самый высокий максимум за 25 периодов, и продавайте, когда пробивается самый низкий минимум за 25 периодов. теперь я не понимаю вашего объяснения, почему всегда максимум свечи остается меньше или равен максимуму за 25 периодов, потому что максимум за 25 периодов фиксируется, и мы покупаем, когда он пересекается
5. спасибо за предложение , я думаю,что его «buy=ta.crossover(high ,hh[1])» является правильным решением, и как покупать на верхнем канале и нижнем канале, как только он пересечет эту цену, прямо сейчас после обновления кода покупка ставится на открытие свечи после закрытия выше или ниже канала, как разместить покупку на продажу по значению канала?