# BarUpDn time limited

776 6
trying to understand strategies, it appears that there is a lot of black magic in how a strat works behind the scenes.
anyway, it's hard to analyse what's all the data with one gazillion entries, and i wanted to know how we can manipulate/do stuff with a chart.

so, i needed to know how to "give" the script my values to work on. bundled two wants/needs into one, and created a script that only applies a strategy from the date given onwards.

how to use:
at the chart, go to the "format" little button, then the input tab, and there is all the date fields i created. fun to set it to the current date, then start going backwards and see all the little arrows filing up the chart :)
```//@version=2
strategy("BarUpDn time limited", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 10)

//input boxes for the limit date
yearLimit = input(2016,title="year")
monthLimit = input(1, title="month")
dayLimit = input(1, title="day")

//function that checks if the current date is more recent than the limit
dateOk(yl,ml,dl) =>
ok = (year < yl) ? false : (yl == year and month < ml ) ? false : (yl == year and ml == month and dayofmonth < dl) ? false : true
ok

//applies dumb prebuilt strat limited to the date
if (dateOk(yearLimit,monthLimit,dayLimit) and (close > open and open > close[1]) )
strategy.entry("BarDn", strategy.short)
if (dateOk(yearLimit,monthLimit,dayLimit) and (close < open and open < close[1]) )
strategy.entry("BarUp", strategy.long)
```
How exactly does this strategy make an entry decision? Is it based on gapping? Because surely the open should be equal to the previous candles close price?
DomHall
@DomHall, not important, i was just fooling with strategy syntax, got one of the builtin examples, and the conditions prety much make no sense. you could try close > close, just to make the strat fire. as it says in the comments //applies dumb prebuilt strat limited to the date

the point was to make a strategy start from the date i choose, not from the first bar. but then again, this thing has 60% correct hits, and it's turning a profit, so it lloks like i done a "killer strat" just by pure chance :D
deimosaffair
Okay, cool. The other way to do it is to write:

is_date_valid = time > timestamp(2016, 09 , 11, 0, 1)
if is_date_valid and (close > open and open > close) )
strategy.entry("BarUp", strategy.long)

Just another way that someone taught me. It's annoying that the strategy tester maxes out at 2000!
DomHall
hey, thanks for the timestamp tip, makes it more clear :)

and btw, what's that 2000 you refer? it's bars, trades, somethign else?
deimosaffair
No worries. Yeah, at the moment if you have a strategy that gives more than 2000 trade signals in any given period it won't allow you to test it. But using the timestamp feature resolves this anyway! You only need around 100 trades to know if a strategy is in any way good.
deimosaffair
@deimosaffair, applying the same strategy in python is not yielding the same result.
EN English
EN English (UK)
EN English (IN)
DE Deutsch
FR Français
ES Español
IT Italiano
PL Polski
TR Türkçe
RU Русский
PT Português
ID Bahasa Indonesia
MS Bahasa Melayu
TH ภาษาไทย
VI Tiếng Việt
JA 日本語
KO 한국어
ZH 简体中文
ZH 繁體中文
Home Stock Screener Forex Signal Finder Cryptocurrency Signal Finder Economic Calendar How It Works Chart Features House Rules Moderators Website & Broker Solutions Widgets Stock Charting Library Feature Request Blog & News FAQ Help & Wiki Twitter