Como atualizar os indicadores para o Build 600+? - página 4

 
qjol:
você está brincando, claro que funcionou


Sim, está funcionando agora.

Usei a última versão com todos os 10 parâmetros e está funcionando agora.

Obrigado.

BTW, ainda não entendo porque a versão mais antiga com 7 parâmetros não funcionou!

Como na imagem acima, esse indicador tem 8 parâmetros externos. Aqui o 'TimeFrame' foi definido como '0' antes da string "xpMA".

Então declarei o resto dos 7 parâmetros como abaixo:

double  signal = iCustom(NULL,0,"xpMA",MA_Period,MA_Type,MA_Applied ,T3MA_VolumeFactor,JMA_Phase,Step_Period,DebugMode,3,0); 

Então, onde eu cometi o erro, por favor indique.

Atenciosamente

 
deysmacro:

Ele tem que aprender com os erros comuns.

Obrigado pelo apoio e compreensão :)
 
Arav007:


BTW, ainda não entendo porque a versão mais antiga com 7 parâmetros não funcionou!

Como na imagem acima, esse indicador tem 8 parâmetros externos. Aqui o 'TimeFrame' foi definido como '0' antes da string "xpMA".

Depois declarei o resto dos 7 parâmetros como abaixo:

Então, onde eu cometi o erro, por favor indique.


Deixe-me dizer novamente usando iCustom , você tem que passar os parâmetros correspondentes com a ordem de declaração.


Os parâmetros aprovados e sua ordem devem corresponder à ordem de declaração e ao tipo de variáveis externas do indicador personalizado. Se os valores dos parâmetros de entrada não forem especificados, serão utilizados os valores padrão.

você NÃO PODE pular um parâmetro

exemplo, se um indicador personalizado tiver 5 parâmetros, você pode usá-lo assim:

double x = iCustom (Symbol(), Period(), "Name", Param1, Param2, Param3, mode, shift);

mas não se pode usá-lo assim:

double x = iCustom (Symbol(), Period(), "Name", Param2, Param3, Param4, mode, shift);
 
qjol:


Deixe-me dizer novamente usando iCustom você tem que passar os parâmetros correspondentes com a ordem de declaração

você NÃO PODE pular um parâmetro

exemplo, se um indicador personalizado tiver 5 parâmetros, você pode usá-lo assim:

mas não se pode usá-lo assim:



Isto é o que estou fazendo de errado e incapaz de identificar.

Ok, aqui como eu tenho atribuído os parâmetros:

Parâmetro1=Periodo_MA

Param2=MA_Type

Param3=MA_Aplicado

Param4=T3MA_VolumeFactor

Param5=JMA_Fase

Param6=Periodo_Passo

Param7=DebugMode

Agora, qual deles está errado?

Cumprimentos

 

você pulou o primeiro "TimeFrame".



 
qjol:


você pulou o primeiro "TimeFrame".




ohh, então este é o caso.

Se eu sentir falta de algum dos Parâmetros Externos, não funcionará.

Mas eu o ignorei conscientemente como deveria funcionar com o cronograma atual que é definido no início:

iCustom(Null, 0, Param1,...)

Foi por isso que achei que não havia necessidade de defini-lo novamente como 'TimeFrame'.

Obrigado pela correção.

 
Arav007:


ohh, então este é o caso.

Se eu sentir falta de algum dos Parâmetros Externos, não funcionará.

não, você pode falhar, mas não pode pular, ou seja, se houver 5 param. e você deixar os últimos 2 não há problema

mas não se pode pular 1 e usar 2 3 4 5

Mas eu o ignorei conscientemente como deveria funcionar com o cronograma atual que é definido no início:

iCustom(Null, 0, Param1,...)

sim, mas o terminal não sabe o que este parâmetro contém, pode conter qualquer coisa (não necessariamente o cronograma)

Por isso achei que não havia necessidade de defini-lo novamente como 'TimeFrame'.

não pense, aja! ;-)

Obrigado pela correção.