A NeoTraderBot é a primeira comunidade aberta no Brasil com foco em compartilhar informações sobre automatização de estratégias
Boa noite pessoal gostaria de ajuda sobre como aumentar numero de contratos no codigo, estou com meu codigo ele ateroda no replay, mas no mercado real ele as vezes sai no 0x0, como se tivesse clicado pra zerar operação, o codigo é de reversão PRF, ele nao tem stop loss , se esta vendido em 1 contrato, e der reversão, ele vai reverter a operação com 1 lote a mais sempre aumentado o lote ate que acerte o alvo, vou enviar ocodigo, valeu
// Robo PFR- MARTINGALE PARA Win Parametro Gain(150); Var SinalCompra, SinalVenda : Boolean ; //atribui valor nas variáveis Inicio SinalCompra:= (abertura[1] > fechamento[1]) e (abertura < fechamento); SinalVenda := (abertura[1] < fechamento[1]) e (abertura > fechamento); //inicio das estruturas de compra e venda se (time >0900) e (time < 1700) então inicio //////////////////////////////////// bloco de estrutura de compra se (buyposition=0) e SinalCompra então Buyatmarket; se buyposition =1 então inicio selltocoverlimit (buyprice + gain); //saida no alvo fim; inicio se ( buyposition =1 ) e SinalVenda então sellShortAtMarket (3); /// gale comp virou pra venda com2ct fim; ////////////////////////////////////////////////////////////////////// se buyposition =2 então inicio selltocoverlimit (buyprice + gain,2); //saida no alvo fim; inicio se ( buyposition =2 ) e SinalVenda então sellShortAtMarket (5); /// gale comp virou pra venda com 3ct fim; ///////////////////////////////////////////////// inicio se buyposition =3 então selltocoverlimit (buyprice + gain,3); //saida no alvo fim; inicio se ( buyposition =3 ) e SinalVenda então sellShortAtMarket (5); /// gale comp virou pra venda com 3ct fim; /////////////////////////////// bloco de estrutura de venda inicio Se ( sellposition=0) e SinalVenda então SellshortAtMarket; Se ( Sellposition =1) então inicio BuyToCoverLimit (SellPrice-Gain); //saida no alvo Se ( Sellposition =1) e SinalCompra então BuyAtMarket(2); fim; /////////////////////////////////////////////////////////////// inicio Se ( Sellposition =2) então inicio BuyToCoverLimit (SellPrice-Gain,2); //saida no alvo com 2ct Se ( Sellposition =2) e SinalCompra então BuyAtMarket(5); /// gale comp virou pra compra com 3ct fim; //////////////////////////////////////////////////////////// inicio Se ( Sellposition =3) então inicio BuyToCoverLimit (SellPrice-Gain,3); //saida no alvo com 3ct Se ( Sellposition =3) e SinalCompra então BuyAtMarket(5); /// gale comp virou pra compra com 3ct fim; //////////////////////////////////////////////////////////// inicio Se ( Sellposition =4) então inicio BuyToCoverLimit (SellPrice-Gain,4); //saida no alvo com 3ct Se ( Sellposition =4) e SinalCompra então BuyAtMarket(5); /// gale comp virou pra compra com 3ct fim; inicio //encerra qualquer posição após horario definido se (time > 1710) então closeposition; fim; se SinalCompra entao PaintBar(ClLime); Se SinalVenda entao PaintBar(Clred);; fim; fim; fim; fim; fim; fim;
Olá @andre-l!
Cara, você pode utilizar a função "ReversePosition", a qual agora também funciona no Módulo de Automação (antes a Nelogica havia bloqueado seu uso).
Percebi também alguns problemas no uso de blocos begin...end inseridos de maneira desnecessária. Eu lhe recomendaria fazer um curso de NTSL para que possa aperfeiçoar suas habilidades de programação.
Como temos um bom curso na Comunidade NeoTraderBot, vou tomar a liberdade de indicar o nosso: https://neotraderbot.com/curso-automatizacao-de-trading-em-ntsl/
O curso de Automatização de Trading em NTSL da Comunidade é bem completo, objetivo e com certeza vai lhe dar uma excelente base para desenvolver qualquer estratégia ou robô que desejar.
Grande abs!