Ajuda na codificação - página 175

 

oi mladen,

1.você menciona a segunda forma, de barras mais antigas para barras mais novas, você está dizendo este estilo: para (i=limit;i>=0;i--)?

receio confuso, por isso, peça poucos esclarecimentos.

2.pergunte também, os dois estilos (se não considerarmos a repintura ou não) basicamente dão os mesmos sinais ou valor numérico?

3. um indicador pode conter ambos os estilos de direção do loop?como a parte indicadora do núcleo é a segunda forma, mas a parte mtf é a primeira forma? qualquer contradição aqui? ou ainda pode funcionar sem problemas?

4. falta de algumas sentenças de retorno(0),(é uma sentença de retorno(0) obrigatória ou necessária?) será um problema parar o indicador ou causar a repintura? obrigado

 
kenwa:
oi mladen,

1.você menciona a segunda forma, de barras mais antigas para barras mais novas, você está dizendo este estilo: para (i=limit;i>=0;i--)?

receio confuso, por isso, peça poucos esclarecimentos.

2.pergunte também, os dois estilos (se não considerarmos a repintura ou não) basicamente dão os mesmos sinais ou valor numérico?

3. um indicador pode conter ambos os estilos de direção do loop?como a parte indicadora do núcleo é a segunda forma, mas a parte mtf é a primeira forma? qualquer contradição aqui? ou ainda pode funcionar sem problemas?

4. falta de algumas sentenças de retorno(0),(é uma sentença de retorno(0) obrigatória ou necessária?) será um problema parar o indicador ou causar a repintura? obrigado

1. sim

2. depende do cálculo feito dentro do laço - alguns cálculos não podem ser feitos no formulário "mais novo a mais velho" enquanto todos os cálculos podem ser feitos no formulário "mais velho a mais novo".

3. Só pode ver o ponto 2 - a primeira forma é muito mais segura

4. retorno(0) não pode causar ou impedir a repintura - não tem nada em comum com ele

 
mladen:
1. sim

2. depende do cálculo feito dentro do laço - alguns cálculos não podem ser feitos no formulário "mais novo a mais velho" enquanto todos os cálculos podem ser feitos no formulário "mais velho a mais novo".

3. Só pode ver o ponto 2 - a primeira forma é muito mais segura

4. retorno(0) não pode causar ou impedir a repintura - não tem nada em comum com ele

posso perguntar i) se o segundo formulário pode fazer todos os tipos de cálculo, por que não o segundo formulário é mais seguro? estou um pouco confuso.

também ii) vejo o código que você corrige meu indicador anterior antes de usar (i=limite;i>=0;i--) o segundo formulário que o meu formulário inicial está usando o primeiro estilo, qualquer razão particular usando o segundo estilo ? obrigado.

 
kenwa:
posso perguntar i) se o segundo formulário pode fazer todos os tipos de cálculo, porque não o segundo formulário é mais seguro? estou um pouco confuso.também ii) vejo o código que você corrige meu indicador anterior antes de usar (i=limite;i>=0;i--) o segundo formulário que o meu formulário inicial está usando o primeiro estilo de formulário, qualquer razão particular usando o segundo estilo ? obrigado.

O que eu queria dizer é a forma a partir do ponto 1. Use esse formulário e você eliminará um possível erro de uma direção de cálculo errada.

 
mladen:
O que eu queria dizer é o formulário a partir do ponto 1. Use esse formulário e você eliminará um possível erro de uma direção de cálculo errada.

oi mladen,

se eu não entender mal, você quer dizer que o segundo formulário pode adaptar todo tipo de cálculo, mas mais seguro é o primeiro formulário que evita alguma direção de cálculo errada?

bem, se minha parte indicadora central usar o segundo formulário, e minha parte mtf usar o primeiro formulário, está tudo bem? ou é melhor ambos o mesmo formulário? (o primeiro formulário é melhor??)

qual formulário? primeiro ou segundo formulário é melhor eliminar a possibilidade de repintar ? obrigado por sua paciência responde à minha pergunta.

 
kenwa:
oi mladen,

se eu não entender mal, você quer dizer que o segundo formulário pode adaptar todo tipo de cálculo, mas mais seguro é o primeiro formulário que evita alguma direção de cálculo errada?

bem, se minha parte indicadora central usar o segundo formulário, e minha parte mtf usar o primeiro formulário, está tudo bem? ou é melhor ambos o mesmo formulário? (o primeiro formulário é melhor??)

qual forma? primeira ou segunda forma é melhor eliminar a possibilidade de repintar? obrigado pela sua paciência responde à minha pergunta.

kenwa

para limpá-lo : esta é a forma muito melhor

(i=limite;i>=0;i--)

 

Ok e muito obrigado - Vou conseguir mais alguns resultados juntos antes de voltar!

jeff

 

Ajude-me a resolver este problema relativo ao fantail vma

Hi,

Estou tentando aprender mql durante os últimos meses. Eu estava tentando criar um EA baseado no indicador Fisher. Mas, como conhecemos as pinturas Fisher, me deu dificuldade para criar esse EA. Foi por isso que fiquei desmotivado e me tornei ocupado com meus estudos. Agora estou tentando criar outro EA baseado no FANTAIL. Mas estou enfrentando problemas para conseguir trazer os valores do indicador para a EA. Eu usei a função iCustom para fazer isso. Este indicador desenha 50 linhas no gráfico. Vou precisar de alguns dos valores dessas linhas.

Você pode me mostrar uma maneira de obter esses valores em um EA? Agradecemos antecipadamente. Desculpe se eu estou fazendo uma pergunta estúpida.

O indicador:

Arquivos anexados:
 

Oi mladen, você pode me ajudar a incluir a super tendência neste indicador? (Naturalmente, a super tendência calculada no ExtMapBuffer1)

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DodgerBlue

extern double Beta1 = 1.0;

extern string Symbol2 = "GBPUSD";

extern double Beta2 = 1.4;

//--- buffers

double ExtMapBuffer1[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

IndicatorShortName(Symbol() + " " + Beta1 + " " + Symbol2 + " " + Beta2);

//----

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int counted_bars=IndicatorCounted();

if(Bars<1) return(0);

int i = Bars-counted_bars -1;

while(i >=0) {

int iShift2 = iBarShift(Symbol2, 0, Time, false);

ExtMapBuffer1 = Close * Beta1 - iClose(Symbol2, NULL, iShift2) * Beta2;

i--;

}

return(0);

}

 
k3rn3l:
Oi mladen, você pode me ajudar a incluir a supertendência neste indicador? (Naturalmente, a supertendência calculada em ExtMapBuffer1)

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DodgerBlue

extern double Beta1 = 1.0;

extern string Symbol2 = "GBPUSD";

extern double Beta2 = 1.4;

//--- buffers

double ExtMapBuffer1[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

IndicatorShortName(Symbol() + " " + Beta1 + " " + Symbol2 + " " + Beta2);

//----

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int counted_bars=IndicatorCounted();

if(Bars<1) return(0);

int i = Bars-counted_bars -1;

while(i >=0) {

int iShift2 = iBarShift(Symbol2, 0, Time, false);

ExtMapBuffer1 = Close * Beta1 - iClose(Symbol2, NULL, iShift2) * Beta2;

i--;

}

return(0);

}

Qual exatamente (por causa dos parâmetros necessários para passar à função iCustom())?