This is a trading item or a component that was created using QuantShare by one of our members.
This item can be downloaded and used by QuantShare Trading Software.
Trading items are of different types. There are data downloaders, trading indicators, trading systems, watchlists, composites/indices...
You can use this item and hundreds of others for free by downloading QuantShare.
Top Reasons Why You Should Use QuantShare:
Works with US and international markets (stock, forex, options, futures, ETF...)
Offers you the tools that will help you become a profitable trader
Allows you to implement any trading ideas
Exchange items and ideas with other QuantShare users
Our support team is very responsive and will answer any of your questions
We will implement any features you suggest
Very low price and much more features than the majority of other trading software
The 'insideperiod' function is a custom function that deals with dates.
It returns a value of '1' on bars where the bar's date is superior or equal to the start date and inferior the end date.
It returns a value of '0' on bars where the bar's date is inferior to the start date or superior the end date.
The start and end dates are calculated based on the user-provided parameter values. The first three parameters are used to calculate the start date, while the end date is calculated using the start date and the forth parameter.
Please read the following article for more details: The 'inside period' function.
Example: insideperiod(1, 2008, 1, 10);
The start date is 2 January 2008 (because the offset parameter was set to '1' -> 1 January 2008 + 1 day = 2 January 2008)
The end date is 12 January 2008 (2 January 2008 + 10 days = 12 January 2008)
This function could be used to generate period samples. You can for example test the return of a trading rule over different periods or test a trading rule using different start dates.
Let us backtest the following trading rule (rsi(14) > 80) for different periods.
The new optimizable rule will be: (rsi(14)) > (80) && insideperiod(1, 2005, a, 365) where 'a' varies from 0 to 1460 with 365 as a step.
This will generate the following rules:
(rsi(14)) > (80) && insideperiod(1, 2005, 0, 365) --> 2005
(rsi(14)) > (80) && insideperiod(1, 2005, 365, 365) --> 2006
(rsi(14)) > (80) && insideperiod(1, 2005, 730, 365) --> 2007
(rsi(14)) > (80) && insideperiod(1, 2005, 1095, 365) --> 2008
(rsi(14)) > (80) && insideperiod(1, 2005, 1460, 365) --> 2009
Analyzing the above rules let you assess the performance of the trading rule for each of the last five years.
To backtest a trading rule for different start dates, you just need to define different values for the 'offset' parameter and set the 'length' parameter to a very high value (Ex: 1000000).