[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 916

 

Olá, tenho uma pergunta. qual valor o iCustom() retorna de um indicador?

ou seja, tenho um indicador que tem um cálculo que deve resultar em 1 ou 0 ou -1

e um Expert Advisor no qual iCustom() é chamado.

Eu não sei onde colocar o valor calculado no indicador para obtê-lo no Expert Advisor ao chamá-lo.

 
naked:

Olá, tenho uma pergunta. qual valor o iCustom() retorna de um indicador?

ou seja, tenho um indicador que tem um cálculo que deve resultar em 1 ou 0 ou -1

e um Expert Advisor no qual iCustom() é chamado.

Eu não sei onde colocar o valor calculado no indicador para obtê-lo no Expert Advisor ao chamá-lo.

Se iCustom() estiver -1 no indicador, iCustom() também dará -1 no Expert Advisor. você não precisa alterar nada no indicador.
 
por isso não entendo!, se iCustom() for uma variável definida ou se eu a colocar em retorno(????), porque onde quer que eu coloque este valor iCustom() retorna 0.
 
s500:

Olá!

Pergunta sobre o testador de estratégia: Ao testar no testador de diário nenhum resultado com os registros, no terminal de registro também não há ..... no final da barra de carregamento, no testador, há um rangido desagradável. conselheiro reside na pasta de especialistas todas as caixas de verificação são definidas cem ajuda plz?

Você pode não ter baixado o histórico de cotações ou configurado as configurações para que o assessor não faça negócios
 
naked:
portanto, não entendo! deve ser definida uma certa variável no indicador ou devo escrever em retorno(????), porque iCustom() retorna 0 independentemente de onde eu colocar este valor.
depende do tipo do indicador. se os valores 1 0 ou -1 são armazenados pela matriz de indicadores, não é necessário alterar nada na EA. mas se o indicador não usar um buffer, iCustom() não ajudará.
 
forex-k conseguiu. sem matriz. sem variáveis globais também. Eu vou consertar isso. Obrigado.
 

É verdade que a EA pode ser testada, mas não funcionará em uma demonstração ou em uma conta real?

Se sim, devo recodificar toda a EA para que ela funcione na conta real?

por que devo codificá-la novamente para uma versão de teste?

mas se for verdade, é totalmente ...... eu não sei como escrever!!!!!!! eu devo ter relido

o tutorial 10 vezes e na documentação não discuto que tudo é inteligente e bonito, mas ainda não entendo

o que diz ali.!!!!

 
artmedia70:

Na EA, verifique se o pedido está fechado em uma parada. E se assim for, altere o valor de sua bandeira.

Você pode usar a função pronta de Igor Kim para determinar se a última posição fechada foi fechada por uma parada.

Ou você mesmo pode fazer isso. Em qualquer caso, seria um bom exemplo para você começar:


Eu não tentei usar sua função, mas tentei mudar a bandeira de outra forma, mais simples.

No loop, que é muito superior à função de abrir ordens (ele verifica mais adiante no código se precisa fechar suas ordens). Aqui, OP é uma marca de uma ordem sendo estabelecida (minha bandeira):

for(i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso)
{OP=0;
break;// se o número do pedido i não existir, pare a busca
}

....


Em teoria, se o motivo fosse o valor da bandeira, a questão deveria ter sido encerrada. Mas o testador ainda não abre nenhuma outra ordem após a parada((

Mais uma coisa: ao testar, o testador gera erro 1. Vale a pena dar uma atenção especial a ele?

 
Como criar uma função e chamá-la?
 
ViktorF:


Eu não tentei a função que você deu, mas tentei mudar a bandeira de outra maneira, mais simples.

No loop, que é muito superior à função de abertura de ordens (ele verifica mais adiante por código a necessidade de fechar suas ordens). Aqui, OP é uma marca de um pedido a ser colocado (minha bandeira):

for(i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso)
{OP=0;
break;// se o número do pedido i não existir, pare a busca
}

....


Em teoria, se o motivo fosse o valor da bandeira, a questão deveria ter sido encerrada. Mas o testador ainda não abre nenhuma outra ordem após a parada((

Mais uma coisa: ao testar, o testador gera erro 1. Vale a pena dar atenção especial a ele?

Você tem um desenho estranho aqui. Você está fazendo um loop padrão de ordens do terminal. De zero a OrdensTotal() -1. E então você verifica a completa ausência de pedidos no terminal no laço. Por que você não verifica o bilhete para pedidos? Ou um magik? E sua bandeira =0, por alguma razão. E por que não falso? No entanto, você é o chefe. É a sua lógica, você tem que lidar com ela. :)
Razão: