Um backtesting adequado deve buscar simular situações práticas do mercado (slippage, custo de operação, etc...)
Pessoal, estou tentando encontrar uma forma de ficar didática pro usuário inserir qual parametro ele quer pra calcular o PriorCote, já funciona com valor numérico de 0 a 4. Porém estou tentando deixar mais amigável, mas não consigo usar uma variável dentro do PriorCote(variavel) porém se for um Input funciona normal. Alguém saberia me dizer onde estou errando?
input Base("Ajuste"); var nIndex: Integer; nBase: Integer; begin if (Base = "Fechamento") OR (Base = "Close") then nBase := 0 else if (Base = "Abertura") OR (Base = "Open") then nBase := 1 else if (Base = "Máxima") OR (Base = "Maxima") then nBase := 2 else if (Base = "Mínima") OR (Base = "Minima") then nBase := 3 else if (Base = "Ajuste") OR (Base = "Adjust") then nBase := 4; Plot(PriorCote(nBase)); # Erro: Parser[30,18]: nBase não é uma constante e nem um parâmetro
Boa noite @toledox82!
Em tese você não está errando nada! Isso parece ser mais um bug do Profit e acho que já escutei alguém comentar sobre isso na Comunidade.
Minha sugestão, seria você adaptar o código da forma como está abaixo.
Grande abs!
input Base("Ajuste"); begin if (Base = "Fechamento") OR (Base = "Close") then Plot(PriorCote(cBase0)) else if (Base = "Abertura") OR (Base = "Open") then Plot(PriorCote(cBase1)) else if (Base = "Máxima") OR (Base = "Maxima") then Plot(PriorCote(cBase2)) else if (Base = "Mínima") OR (Base = "Minima") then Plot(PriorCote(cBase3)) else if (Base = "Ajuste") OR (Base = "Adjust") then Plot(PriorCote(cBase4)); end.