Um backtesting adequado deve buscar simular situações práticas do mercado (slippage, custo de operação, etc...)
Boa tarde galera, queria perguntar 2 coisas aq...
1. Como eu posso fazer um programa q faça compra e venda ou venda e compra? No caso, meu não quero q o programa execute 2 compras seguidas...
2. É possível q eu saiba pra onde o preco foi a partir do "BuyPrice ou SellPrice"? Se ele subiu ou desceu a partir da minha entrada e adicionar um "contador" à uma variável?
Postado por: @nicolas1. Como eu posso fazer um programa q faça compra e venda ou venda e compra? No caso, meu não quero q o programa execute 2 compras seguidas...
Não sei se entendi sua dúvida, mas você quer criar um robô, é isso?
https://www.youtube.com/watch?v=B8oHWoOr1KM
Postado por: @nicolas2. É possível q eu saiba pra onde o preco foi a partir do "BuyPrice ou SellPrice"? Se ele subiu ou desceu a partir da minha entrada e adicionar um "contador" à uma variável?
Não entendi mto bem, mas é possível ter um 'contador' pra atingir alguma condição que vc queira no código...
@nicolas Não é bem uma função. Você precisaria adicionar condições e lógicas para realizar essa operação. Exemplo: Você poderia adicionar uma variável "DirecaoTrade" que mantém o estado atual da estratégia (comprado ou vendido) e, em seguida, adicionar condições para verificar se deve comprar ou vender com base no estado dessa variável.
if DirecaoTrade <> comprar then begin DirecaoTrade := comprar; // comandos de compra end; if DirecaoTrade <> vender then begin DirecaoTrade := vender; // comandos de venda end;
Frisando que essa é apenas uma ideia básica de como seria implementar isso na sua estratégia e precisa ser adaptada para suas necessidades específicas.
Outra forma beeeeem mais simples, seria você tentar incluir algum indicador que, por si só, já faria essa função de intercalar suas ordens, por exemplo, uma média móvel. Então basta uma linha simples do tipo ((sinal > media) and (sinal[1] < media)) e tá feito a mágica rssss
Qualquer novidade posta o código e o @Johnathas ajuda a gente!
Postado por: @nicolas2. É possível q eu saiba pra onde o preco foi a partir do "BuyPrice ou SellPrice"? Se ele subiu ou desceu a partir da minha entrada e adicionar um "contador" à uma variável?
Não entendi mto bem, mas é possível ter um 'contador' pra atingir alguma condição que vc queira no código...
Complementando a resposta do @masker.
Para saber se depois da compra ou venda se o preço subiu ou desceu basta fazer a seguinte condição:
bAndouAFavor := (isBought and (Close > buyPrice)) or (isSold and (Close < sellPrice));
Se bAndouAFavor é falso, logo é porque o preço de atualmente negociado é igual a entrada ou andou contra. Com base nessa variável booleana você pode programar a lógica que desejar.