Erros, bugs, perguntas - página 276 1...269270271272273274275276277278279280281282283...3184 Novo comentário lVlaxim 2011.01.21 23:11 #2751 Yedelkin: Consulte o Guia de Referência MQL5 / Indicadores Técnicos / iCustom Muito obrigado pela sua prontidão) vda 2011.01.21 23:32 #2752 Sobre o tema. Quase o consegui, mas o COUNTER não começa no diário de bordo do terminal dizretiradocarregado com sucesso funcionou!!!! Sergey Gritsay 2011.01.22 00:06 #2753 tem aqui um erro. v161_handle=iCustom(NULL,0,"ErolМТ5"); v162_handle=iCustom(NULL,0,"ErolМТ5"); Sum_handle=iCustom(NULL,0,"ErolМТ5"); Neste caso, todas as três variáveis terão o mesmo manípulo. como está a chamar três vezes o mesmo indicador. vda 2011.01.22 00:13 #2754 sergey1294: tem aqui um erro Neste caso, todas as três variáveis terão o mesmo manípulo, porque está a chamar três vezes o mesmo indicador.Sim, mas, segundo entendi, os valores das linhas de índice do indicador (os valores das 3 linhas)conseguimos passar:CopyBuffer(v161_handle,1,0,3,Spr1Buffer) CopyBuffer(v162_handle,2,0,3,Spr2Buffer) CopyBuffer(Sum_handle,4,0,3,SumBuffer) aqui 1, 2 e 4 são os valores do índice das linhas indicadoras, que são armazenados no buffer,que depois comparamos uns com os outros.Mas isso não é um problema, não calcula correctamente com estes índices de linha indicadora Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов www.mql5.com Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов - Документация по MQL5 Como posso aprender a Indicador diferencial Sultonov [AVISO FECHADO!] Qualquer pergunta vda 2011.01.22 00:15 #2755 Algum conselho sobre para onde ir ou o que fazer aqui?void OnTick() { ArraySetAsSeries(Spr1Buffer,true); ArraySetAsSeries(Spr2Buffer,true); ArraySetAsSeries(SumBuffer,true); if(CopyBuffer(v161_handle,1,0,3,Spr1Buffer)<0 || CopyBuffer(v162_handle,2,0,3,Spr2Buffer)<0 || CopyBuffer(Sum_handle,4,0,3,SumBuffer)<0) { Alert("Ошибка копирования буферов индикатора номер ошибки:",GetLastError()); } bool SellSpr1 =(Spr1Buffer[1] > Spr2Buffer[1]); bool SellSum1 =(SumBuffer[1]>=Sp); if(SellSpr1 && SellSum1 && !PositionSelect(_Symbol)) { PositionOpenSell1(); } bool BuySpr1 =(Spr1Buffer[1] < Spr2Buffer[1]); bool BuySum1 =(SumBuffer[1]>=Sp); if(BuySpr1 && BuySum1 && !PositionSelect(_Symbol)) { PositionOpenBuy1(); } Sergey Gritsay 2011.01.22 00:15 #2756 alexluek: Sim, mas, segundo entendi, os valores das linhas de índice do indicador (os valores das 3 linhas)conseguimos passar:aqui 1, 2 e 4 são os valores do índice das linhas indicadoras, que são armazenados no buffer,que depois comparamos uns com os outros.Mas não é um problema, não calcula correctamente de acordo com estes índices de linhas indicadoras É suficiente carregar uma cópia do indicador e abordar os índices de buffer necessários através do buffer de cópia vda 2011.01.22 00:30 #2757 sergey1294: Basta carregar uma cópia do indicador, e endereçar o índice tampão desejado através do copybuffernão é não, não consigo obter os valores da 2ª linha uma vez que são comparados os valores de 2 índices de linha armazenados em diferentes amortecedores. bool SellSpr1 =(Spr1Buffer[1] > Spr2Buffer[1]); Sergey Gritsay 2011.01.22 00:50 #2758 alexluek: Errado, não é possível obter os valores da 2ª linha uma vez que são comparados os valores de 2 índices de linha armazenados em diferentes amortecedores. pode haver um erro no próprio indicador vda 2011.01.22 01:07 #2759 sergey1294: pode haver erros no próprio indicadoro indicador lê correctamente vda 2011.01.22 14:43 #2760 Salvar o afogamento é o trabalho do afogamento.Pode vir a ser útil para o futuro:Para chamar 2 ou mais linhas indicadoras num EA para a barra actualescolher 1 manípulo e chamar o indicador, depois utilizar o copybuffer para guardar os valores do índicee depois trabalhar com estes amortecedores. sergey1294 obrigado pela ajuda!int OnInit() { v161_handle=iCustom(NULL,0,"LeroyMТ5"); if(v161_handle<0) { Alert("Ошибка при создании индикаторов: ",GetLastError()); return(-1); } return(0); } void OnTick() { ArraySetAsSeries(Sp1Buffer,true); ArraySetAsSeries(Sp2Buffer,true); ArraySetAsSeries(Sp3Buffer,true); if(CopyBuffer(v161_handle,1,0,1,Sp1Buffer)<0 || CopyBuffer(v161_handle,2,0,1,Sp2Buffer)<0 || CopyBuffer(v161_handle,4,0,1,Sp3Buffer)<0) { Alert("Ошибка копирования буферов индикатора номер ошибки:",GetLastError()); return; } bool SellSpr1 =( Sp1Buffer[0]> Sp2Buffer[0] && Sp3Buffer[0]>=Sp ); if(SellSpr1 && !PositionSelect(_Symbol)) { PositionOpenSell1(); } bool BuySpr1 =( Sp1Buffer[0]< Sp2Buffer[0] && Sp3Buffer[0]>=Sp ); if(BuySpr1 && !PositionSelect(_Symbol)); { PositionOpenBuy1(); } } Perguntas de Iniciantes MQL5 Perguntas de Iniciantes MQL4 Função ICustom 1...269270271272273274275276277278279280281282283...3184 Novo comentário
Consulte o Guia de Referência MQL5 / Indicadores Técnicos / iCustom
Muito obrigado pela sua prontidão)
Sobre o tema. Quase o consegui, mas o COUNTER não começa no diário de bordo do terminal diz
retirado
carregado com sucesso
funcionou!!!!tem aqui um erro.
Neste caso, todas as três variáveis terão o mesmo manípulo. como está a chamar três vezes o mesmo indicador.tem aqui um erro
Neste caso, todas as três variáveis terão o mesmo manípulo, porque está a chamar três vezes o mesmo indicador.Sim, mas, segundo entendi, os valores das linhas de índice do indicador (os valores das 3 linhas)
conseguimos passar:
aqui 1, 2 e 4 são os valores do índice das linhas indicadoras, que são armazenados no buffer,
que depois comparamos uns com os outros.
Mas isso não é um problema, não calcula correctamente com estes índices de linha indicadora
Algum conselho sobre para onde ir ou o que fazer aqui?
Sim, mas, segundo entendi, os valores das linhas de índice do indicador (os valores das 3 linhas)
conseguimos passar:
aqui 1, 2 e 4 são os valores do índice das linhas indicadoras, que são armazenados no buffer,
que depois comparamos uns com os outros.
Mas não é um problema, não calcula correctamente de acordo com estes índices de linhas indicadoras
Basta carregar uma cópia do indicador, e endereçar o índice tampão desejado através do copybuffer
não é não, não consigo obter os valores da 2ª linha
uma vez que são comparados os valores de 2 índices de linha armazenados em diferentes amortecedores.
Errado, não é possível obter os valores da 2ª linha
uma vez que são comparados os valores de 2 índices de linha armazenados em diferentes amortecedores.
pode haver erros no próprio indicador
o indicador lê correctamente
Salvar o afogamento é o trabalho do afogamento.
Pode vir a ser útil para o futuro:
Para chamar 2 ou mais linhas indicadoras num EA para a barra actual
escolher 1 manípulo e chamar o indicador, depois utilizar o copybuffer para guardar os valores do índice
e depois trabalhar com estes amortecedores. sergey1294 obrigado pela ajuda!