Can someone tell me how I set the backtesting tool to place the trade at the closing price of the period instead of the opening price.
Announcement
Collapse
No announcement yet.
Backtesting Formulas
Collapse
This topic is closed.
X
X
-
Is it possible to tell the formula to not enter the trade until market opens and to exit trade at market close. The problem I am having is when backtesting MA crossovers the formula is in a trade at market close however afterhours trading really scews the results because the formula doesn't exit until the next bar in my time template which is at market open. By that time the price may be well past the MA crossover causing huge losses.
Comment
-
here is what I do
var StartTradingTime = 83000; //i.e. 09:00:00 A.M.
var NoNewTradeTime = 155900; //i.e. 15:30:00 P.M.
var EndTradingTime = 155900; //i.e. 15:45:00 P.M.
BarHr = getHour();
BarMin = getMinute();
BarSec = getSecond();
cBarTimeInt =BarHr*10000+BarMin*100+BarSec*1;
if(cBarTimeInt >= StartTradingTime
&& cBarTimeInt<NoNewTradeTime){
vTIMEofDAY = "ok2trade";
}
if(cBarTimeInt >= NoNewTradeTime
&& cBarTimeInt <= EndTradingTime){
vTIMEofDAY = "NoNewTrades"
}
if(cBarTimeInt < StartTradingTime
|| cBarTimeInt >= EndTradingTime){
vTIMEofDAY = "closed"
dots5.call("CancelAllFor",sym, fut, exp, ri, 0, xchg, cur);
dots5.call("ClosePositionFor", sym, fut, exp, ri, 0, xchg, cur);
}
then I use the value of vTIMEofDAY to test and see what to do next.
Comment
-
Here's a snippet that is sensitive to the time template you are using.
var vThisDay = getDay();
var vNextDay = getDay(1);
var vNextNextDay = getDay(2);
var bCanTrade = true;
if(vThisDay != null && vNextDay != null && vNextNextDay != null) {
if(vNextDay != vNextNextDay) {
bCanTrade = false;
}
if(vThisDay != vNextDay) {
bCanTrade = false;
}
if(!bCanTrade) {
bNewDay = true;
************************
*** If in a position, Close your Trade
************************
return;
}
}Matt Gundersen
Comment
Comment