Количество сигналов оповещений отличается по сравнению со стратегическими сигналами - PullRequest
0 голосов
/ 16 марта 2020

Я пытался генерировать оповещения на основе нижеприведенного исследования. Оповещения генерируются, но они отличаются от сигналов стратегии. Сегодня я генерировал сигналы для TCS. Согласно Стратегии , сегодня совершено 5 сделок , но при приближении к Оповещениям я получил почти 12-15 сигналов . Я не знаю, где мне не хватает. Если кто-нибудь знает об этом, пожалуйста, помогите мне.

Для справки, я прилагаю снимок

1.Результаты
2. Состояние оповещения

Это исследование


//@version=4
study("Study1_v4", overlay=true)
tim=input('30')
//160

isSession  = input(defval = true, title = "Apply Trading Session", type = input.bool)
sess = input(defval = "0935-1500", title="Trading Session")
t = time(timeframe.period, sess)
sessionOpen = isSession ? (na(t) ? false : true):true 
startYear   = input(defval = 2020, title = "From Year",     type = input.integer)
startMonth  = input(defval = 1,    title = "From Month",    type = input.integer )
startDay    = input(defval = 1,    title = "From Day",      type = input.integer)
endYear     = input(defval = 2112, title = "To Year",       type = input.integer)
endMonth    = input(defval = 1,    title = "To Month",      type = input.integer)
endDay      = input(defval = 1,    title = "To Day",        type = input.integer)
showDate  = input(defval = true, title = "Show Date Range", type = input.bool)
start     = timestamp(startYear, startMonth, startDay, 00, 00)        // backtest start window
finish    = timestamp(endYear, endMonth, endDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"
longCondition = (crossover(security(syminfo.tickerid, tim, close,barmerge.gaps_off,barmerge.lookahead_on),security(syminfo.tickerid, tim, open,barmerge.gaps_off,barmerge.lookahead_on)) and sessionOpen and window())
shortCondition = (crossunder(security(syminfo.tickerid, tim, close,barmerge.gaps_off,barmerge.lookahead_on),security(syminfo.tickerid, tim, open,barmerge.gaps_off,barmerge.lookahead_on)) and sessionOpen and window())
val = 0
if (longCondition)
    val := 1
if (shortCondition)
    val := -1
//if(not sessionOpen)
//    val := -3
plot(val, title="type", color=color.black)

//defining plots above are required only for the purpose of passing dynamic variables to alerts. Their color is set to 'na' so that they don't display on the screen.

alertcondition(val !=0 or not sessionOpen, title='Alert', message='{{ticker}}, price = {{close}} OrderType={{plot("type")}} at time = {{time}}')

Это стратегия

//@version=4
strategy("Strategy1_v4", overlay=true,process_orders_on_close=true)
tim=input('30')
//160

isSession  = input(defval = true, title = "Apply Trading Session", type = input.bool)
sess = input(defval = "0935-1500", title="Trading Session")
t = time(timeframe.period, sess)
sessionOpen = isSession ? (na(t) ? false : true):true 
startYear   = input(defval = 2020, title = "From Year",     type = input.integer)
startMonth  = input(defval = 1,    title = "From Month",    type = input.integer )
startDay    = input(defval = 1,    title = "From Day",      type = input.integer)
endYear     = input(defval = 2112, title = "To Year",       type = input.integer)
endMonth    = input(defval = 1,    title = "To Month",      type = input.integer)
endDay      = input(defval = 1,    title = "To Day",        type = input.integer)
showDate  = input(defval = true, title = "Show Date Range", type = input.bool)
start     = timestamp(startYear, startMonth, startDay, 00, 00)        // backtest start window
finish    = timestamp(endYear, endMonth, endDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"
longCondition = (crossover(security(syminfo.tickerid, tim, close,barmerge.gaps_off,barmerge.lookahead_on),security(syminfo.tickerid, tim, open,barmerge.gaps_off,barmerge.lookahead_on)) and sessionOpen and window())
shortCondition = (crossunder(security(syminfo.tickerid, tim, close,barmerge.gaps_off,barmerge.lookahead_on),security(syminfo.tickerid, tim, open,barmerge.gaps_off,barmerge.lookahead_on)) and sessionOpen and window())
val = 0
if (longCondition)
    val := 1
    strategy.entry("long", strategy.long)
if (shortCondition)
    val := -1
    strategy.entry("short", strategy.short)
//if(not sessionOpen)
//    val := -3
strategy.close_all(when =  not sessionOpen)
plot(val, title="type", color=color.red)

1 Ответ

0 голосов
/ 16 марта 2020

Возможные причины в пирамиде - стратегия не входит в одну и ту же позицию, ваше исследование -

...