Neo traderBot

Neo traderBot

Você sabia?

Abordamos o tema de automatização de estratégias em NTSL, MQL5 e NinjaScript!

leaf leftleaf right
Notifications
Clear all

Como converter este código para que no input possam ser usados Floats no lugar de inteiros, para que ao ter o código convertido, se possa aplicar condições para que a linha seja plotada de um ponto ( condição Float ) até outro (outra condição float)

4 Posts
2 Usuários
0 Reactions
276 Visualizações
(@pedro-henrique-t-de-carvalho)
Membro ativo
Registrou: 2 anos atrás
Posts: 12
Iniciador do tópico  
como fazer que no input aceite, por exemplo, 'close' e a linha seja plotada!!!!

exemplo: linha de close x, até close y!

///Este código só plota linha no gráfico usando inteiros 

// Linha na programação

Input
V1(113935);
V2(114070);
Candle1(788);
Candle2(801);
// Referências Ponto 1 (Candle1,V1)
// Ponto 2 (Candle2,V2)
var
DeltaX,DeltaY : real;
Slope : real;
FX,FY : real;
begin
DeltaY := V1 - v2;
DeltaX := Candle1 - Candle2;
if DeltaX <> 0 then
Slope := DeltaY / DeltaX;
fX := V1+(currentbar - Candle1) * Slope;
plottext(currentbar,CLWHITE,2,8); //Para auxiliar na referencia
if currentbar >= Candle1 then
Plot(fX);
end;
This topic was modified 2 anos atrás by Pedro Henrique T. De carvalho

   
Citar
(@admin)
Membro Admin
Registrou: 2 anos atrás
Posts: 216
 

Olá @pedro-henrique-t-de-carvalho!

Você está querendo plotar uma reta e você passou os parâmetros da equação da reta.

No entanto, o Profit não vai deixar você fazer uma linha no gráfico...porque ele calcula cada ponto do plot barra a barra.

Ou seja, você não tem os valores dos pontos no passado até alcançar o seu segundo ponto da reta. Só a partir daí você conseguiria fazer uma reta.

Você já verificou se a função LinearRegressionChannel poderia te atender?

 

Abs!

 


   
ReplyCitar
(@pedro-henrique-t-de-carvalho)
Membro ativo
Registrou: 2 anos atrás
Posts: 12
Iniciador do tópico  

@admin Mas vc viu que esse código está plotando sim, uma reta no gráfico só que com integers?...

se vc ajustar os valores dos parametros vai ver que funciona.  O que eu queria era transformar isso para floats nos inputs. Já tentei chamar uma variável float de currentbar com 'round' na frente mas não consegui. Existe um indicador, Vectorflow que faz isso... mas neste caso aqui, queria estabelecer as confições a partir deste código. 

 

Abraços


   
ReplyCitar
(@admin)
Membro Admin
Registrou: 2 anos atrás
Posts: 216
 

Olá @pedro-henrique-t-de-carvalho!

O que eu quis dizer é que o Profit não aceita fazer plots em qualquer instante de tempo do gráfico a qualquer momento. No seu caso, você estipulou via parâmetros para fazer isso, mas uma lógica que utiliza-se valores em tempo real para definir os pontos da reta não conseguiria atualizar o gráfico pra trás. Entendeu!?

Quanto a trocar as inputs para float isso é bem simples. A NTSL infere o tipo da entrada pelo valor fornecido. No caso, basta você atribuir o valor padrão às entradas que deseja que sejam float explicitando a casa decimal. No exemplo abaixo, todas as entradas serão do tipo float.

input
    V1(113935.0);
    V2(114070.0);
    Candle1(788.0);
    Candle2(801.0);

 

Espero que isso te ajude! Abs!

 


   
ReplyCitar