Como codificar? - página 315

 

...

Se você precisar dele para 0,5 fixo do que você pode usar MathSqrt(x)

Mas se você precisar do cálculo para a variável 0,5 parte também do que você pode usar MathPow(x,0,5) (a parte 0,5 também pode ser alterada)

dasio:
Hi.

Há uma função que me permite calcular esta operação?

x^0,5 (x= valor conhecido)

E outra pergunta.

Eu tenho um corretor de 5 dígitos. É possível obter apenas o primeiro 4 decimal de valor conhecido? Obrigado.

Obrigado
 
mladen:
Se você precisar dele para fixo 0,5 do que você pode usar MathSqrt(x)Mas se você precisar do cálculo para variável 0,5 parte também do que você pode usar MathPow(x,0,5) (a parte 0,5 parte também pode ser mudada)

Obrigado por sua resposta. É um bom trabalho.

Para a segunda solicitação?

Se eu tiver um corretor de 5 dígitos o código me dá prive com um corretor de 5 dígitos, mas eu preciso dele em 4 dígitos. Como posso tranfomizar o valor de 5 a 4 dígitos?

Obrigado.

 

dasio

Use algo como isto :

price4digit = NormalizeDouble(price,4);
dasio:
Obrigado por sua resposta. É um bom trabalho.

Para a segunda solicitação?

Se eu tiver um corretor de 5 dígitos o código me dá prive com um corretor de 5 dígitos, mas eu preciso dele em 4 dígitos. Como posso tranfomizar o valor de 5 a 4 dígitos?

Obrigado
 

Encontrar o ponto de interseção

Hi,

Apreciei o seguinte indicador:

#property copyright "Kalenzo"

#property link "bartlomiej.gorski@gmail.com"

#property indicator_color1 DodgerBlue

#property indicator_color2 Lime

#property indicator_buffers 2

extern int MoMPeriod = 14;

extern int MaType = MODE_EMA;

extern int MaPeriod = 50;

extern int TimeFrame = 60;

double mom[],

ema[],

momTF[],

emaTF[];

#property indicator_separate_window

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

IndicatorBuffers(4);

SetIndexBuffer(0,mom);

SetIndexBuffer(1,ema);

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer(2,momTF);

SetIndexBuffer(3,emaTF);

IndicatorShortName("MTF Momentum "+tf());

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

//----

int bbshift,limit,limitTF;

limit=Bars;

limitTF = iBars(Symbol(),TimeFrame);

for(int i=0; i<limitTF; i++) momTF = iMomentum(Symbol(),TimeFrame,MoMPeriod,PRICE_CLOSE,i);

for(int j=0; j<limitTF; j++) emaTF[j] = iMAOnArray(momTF,0,MaPeriod,0,MaType,j);

for(int t=0; t<limit; t++)

{

bbshift = iBarShift(Symbol(),TimeFrame,Time[t]);

mom[t] = momTF;

ema[t] = emaTF;

}

//----

return(0);

}

[/PHP]

But I can't get the intersection point from this two lines with my ea, even I can't get the right value from the indicator, which is displayed.

Why?

I tried this for example:

[PHP]

x1= iCustom(NULL,0,"MOM_EMA_MTF",14,MODE_EMA,50,60,0,1);

 
mladen:
dasio

Use algo como isto :

price4digit = NormalizeDouble(price,4);

Oi mladen,

é correto como eu o codifico?

Pivot = NormalizeDouble(( PDayHigh + PDayLow + Close ) / 3,4)

MathPow((MathPow(Pivot,0.5)+Número(definido)),2)

Obrigado

 

...

A primeira linha está OK

Uma pergunta sobre esta linha :

MathPow((MathPow(Pivot,0.5)+Number(defined)),2);

Qual é a intenção exata dessa linha? A forma como é escrita retorna o quadrado do (raiz quadrada do pivô + aumento definido). É isso que você tinha em mente?

dasio:
Oi mladen,

É assim que eu a codifico?

Pivot = NormalizeDouble(( PDayHigh + PDayLow + Close ) / 3,4)

MathPow((MathPow(Pivot,0.5)+Número(definido)),2)

Obrigado
 
mladen:
A primeira linha está OK

Uma pergunta sobre esta linha :

MathPow((MathPow(Pivot,0.5)+Number(defined)),2);
Qual é a intenção exata dessa linha? A forma como é escrita retorna o quadrado do (raiz quadrada do pivô + aumento definido). É isso que você tinha em mente?

Sim, primeiro calcula o valor de MathPow(Pivot,0,5)+Number(definido) e depois deve calcular o quadrado do resultado.

Um exemplo.

10 = Pivô

1 = número definido

Eu tenho ((10^0,5)+1)^2 O resultado é:

((3,162)+1)^2 ----> (4,162)^2------>17,324

 

Então está tudo bem.

dasio:
Sim, ele calcula primeiro o valor de MathPow(Pivot,0,5)+Number(definido) e depois eu devo calcular o quadrado do resultado.
 
mladen:
Então está tudo bem

Ok, obrigado.

Mas eu preciso também desta operação

(MathPow((MathPow((Pivot*10000),0.5)+número),2)/10000)

Mas isso me dá um valor diferente se eu o calcular manualmente.

A diferença é alta.

para esclarecer se eu tenho 1.2989 como pivô preciso fazer a operação como 12989 e depois de toda a operação eu preciso dividir o resultado para 10000.

Não sei por que isso me dá um valor diferente

 

dasio

Eu não sei a "intenção" dessa linha. Matematicamente não há nada de errado com essa linha (coloque o "número" em 0 e você verá que ele retornará exatamente o mesmo valor do Pivot, o que significa que funciona corretamente, portanto, se for diferente do que você espera que seja, a única parte que faz a diferença é a adição do "número"). O que você está tentando calcular exatamente com essa linha?

dasio:
Ok, obrigado.

Mas eu preciso também desta operação

(MathPow((MathPow((Pivot*10000),0.5)+número),2)/10000)

Mas isso me dá um valor diferente se eu o calcular manualmente.

A diferença é alta.

para esclarecer se eu tenho 1.2989 como pivô preciso fazer a operação como 12989 e depois de toda a operação eu preciso dividir o resultado para 10000.

Não sei por que isso me dá um valor diferente
Razão: