Um backtesting adequado deve buscar simular situações práticas do mercado (slippage, custo de operação, etc...)
Quando declaro uma ordem de Buystop ou sellshortstop perante uma condição previa, se essa declaração é executada, não consigo colocar uma ordem de compra ou venda para fechar a operação stop no mesmo candel em que foi executada....ela executa a operação de fechamento da ordem imediatamente que a ordem stop foi executada...Como por exemplo no código simples abaixo....mas não consigo de jeito nenhum que a operação feche no final do candel onde "Realmente"foi executada a ordem stop....
Falei com a Nelogica e eles me falaram que realmente a ordem de stop é avaliada no candel anterior e que a ordem de fechamento da operação tb é avaliada no mesmo camndel....como se realmente u Buystop ou o sellshortstop tivesse sido executada ...como se não estivesse no aguardo da execução no seguinte candel....
Alguem sabe de algum codigo para que isto não aconteçã???....Necessito de AJUDAAA...
var media3,media9:float; begin media3:=mediaexp(3,fechamento); media3:=mediaexp(9,fechamento); se(media3>media9)entao buystop(fechamento+10*minpriceincrement,fechamento+20*minpriceincrement); se(buyprice+40*minpriceincrement<fechamento)entao selltocoverlimit(fechamento); end;