im having trouble testing out this MACD backtest file. can anyone help me out and figuire why I only get one trade on the backtest trade analyzer and how to put in stops? i thought i coded it right, but its not working.
thanks in advance,
sam
var study = new MACDStudy(8,16, 11, "Close", false);
function preMain() {
setPriceStudy(false);
setColorPriceBars(true);
setDefaultPriceBarColor(Color.green);
setStudyTitle("MACD Sams Strategy");
setCursorLabelName("MACD", 0);
setCursorLabelName("SIGNAL", 1);
setDefaultBarFgColor(Color.blue, 0);
setDefaultBarFgColor(Color.red, 1);
}
function main() {
var MACD = study.getValue(MACDStudy.MACD);
var Signal = study.getValue(MACDStudy.SIGNAL);
//var dStopS;
var dStopL;
var getOutL;
//var getOutS;
if( Signal<MACD && !Strategy.isLong())
{
Strategy.doLong("Long", Strategy.CLOSE, Strategy.NEXTBAR);
dStopL=close()-.5;
getOutL=close()+.5;
}
if (Strategy.isLong()==true)
// Strategy.setStop(dStopL);
{
if (Strategy.CLOSE>getOutL)
Strategy.doCover("cover", Strategy.CLOSE, Strategy.THISBAR);
if (Strategy.CLOSE<dStopL)
Strategy.doCover("stop", Strategy.MARKET, Strategy.THISBAR);
}
// if(Strategy.isShort())
// Strategy.setStop(vStopPrice);
//Strategy.doSell("sell", Strategy.Market, Strategy.THISBAR)
// if(Strategy.isLong())
// {
// if (Strategy.Market==getOutL)
// Strategy.Market;
// }
// if(Signal > MACD && !Strategy.isShort())
// {
// Strategy.doShort("Short", Strategy.MARKET, Strategy.NEXTBAR);
// dStopS=close()+.5;
// getOutS=close()-.5;
// Strategy.setStop(dStopS);
// }
// if(Strategy.isShort())
// {
// if(Strategy.Market==getOutS)
// Strategy.doCover("cover", Strategy.Market, Strategy.THISBAR)
// }
//if(Strategy.isLong())
// setPriceBarColor(Color.lime);
//else if(Strategy.isShort())
// setPriceBarColor(Color.red);
return new Array(MACD,Signal);
}
thanks in advance,
sam
var study = new MACDStudy(8,16, 11, "Close", false);
function preMain() {
setPriceStudy(false);
setColorPriceBars(true);
setDefaultPriceBarColor(Color.green);
setStudyTitle("MACD Sams Strategy");
setCursorLabelName("MACD", 0);
setCursorLabelName("SIGNAL", 1);
setDefaultBarFgColor(Color.blue, 0);
setDefaultBarFgColor(Color.red, 1);
}
function main() {
var MACD = study.getValue(MACDStudy.MACD);
var Signal = study.getValue(MACDStudy.SIGNAL);
//var dStopS;
var dStopL;
var getOutL;
//var getOutS;
if( Signal<MACD && !Strategy.isLong())
{
Strategy.doLong("Long", Strategy.CLOSE, Strategy.NEXTBAR);
dStopL=close()-.5;
getOutL=close()+.5;
}
if (Strategy.isLong()==true)
// Strategy.setStop(dStopL);
{
if (Strategy.CLOSE>getOutL)
Strategy.doCover("cover", Strategy.CLOSE, Strategy.THISBAR);
if (Strategy.CLOSE<dStopL)
Strategy.doCover("stop", Strategy.MARKET, Strategy.THISBAR);
}
// if(Strategy.isShort())
// Strategy.setStop(vStopPrice);
//Strategy.doSell("sell", Strategy.Market, Strategy.THISBAR)
// if(Strategy.isLong())
// {
// if (Strategy.Market==getOutL)
// Strategy.Market;
// }
// if(Signal > MACD && !Strategy.isShort())
// {
// Strategy.doShort("Short", Strategy.MARKET, Strategy.NEXTBAR);
// dStopS=close()+.5;
// getOutS=close()-.5;
// Strategy.setStop(dStopS);
// }
// if(Strategy.isShort())
// {
// if(Strategy.Market==getOutS)
// Strategy.doCover("cover", Strategy.Market, Strategy.THISBAR)
// }
//if(Strategy.isLong())
// setPriceBarColor(Color.lime);
//else if(Strategy.isShort())
// setPriceBarColor(Color.red);
return new Array(MACD,Signal);
}
Comment