Использование часа в качестве условия для внутридневных сценариев? - PullRequest
0 голосов
/ 11 апреля 2020

Я хотел бы сделать очень основную c стратегию для внутридневного импульса.

Однако, я застрял в удивлении: можно ли использовать час в качестве условия торговли?

Например:

strategy("Strat - Intraday Momentum", overlay=true)

market_open = hour == 9
market_open_hour = hour == 10
market_close = hour == 15

if (market_open)
    strategy.entry("Open", strategy.long)

if (market_open_hour)
    strategy.entry("Open +1 Hour", strategy.long)

strategy.close_all(when= hour == market_close)

Кажется достаточно простым, но до сих пор убежищем не смог заставить его работать.

Отыгрывал эту идею:

// Simple Example Code
// Designed to play around with Tradingview's close, close_all and exit functions

strategy("Close Example", overlay=true, pyramiding=2)

monCondition = dayofweek == dayofweek.monday
wedCondition = dayofweek == dayofweek.wednesday

if (monCondition)

    strategy.entry("Monday", strategy.long)

if (wedCondition)
    strategy.entry("Wednesday", strategy.long)

strategy.close_all(when=dayofweek == dayofweek.friday)

Источник: https://backtest-rookies.com/2019/03/01/tradingview-strategy-close-strategy-close_all-vs-strategy-exit/

1 Ответ

1 голос
/ 11 апреля 2020

Это возможно, но надежность вашего кода должна быть улучшена. Было бы предпочтительнее строить условия на переходах. Пример 2 взят из usrman :

//@version=4
study("Time begin", "", true)

// #1
timeOpen1 = hour == 9
timeOpenOk1 = not timeOpen1[1] and timeOpen1
plotchar(timeOpenOk1, "timeOpenOk1", "", location.abovebar, text = "▲")
plotchar(timeOpen1, "timeOpen1", "", location.belowbar, text = "•")

// #2
sessSpec2 = input("0900-0959", type=input.session) + ":1234567"
is_newbar(res, sess) =>
    t = time(res, sess)
    na(t[1]) and not na(t) or t[1] < t
timeOpenOk2 = timeframe.isintraday and is_newbar("1440", sessSpec2)
plotchar(timeOpenOk2, "timeOpenOk2", "", location.abovebar, color.orange, text = "▲\n‎")

enter image description here

...