azolotta: OK, então como eu retrabalho o código se eu precisar, por exemplo, selecionar a mais alta das 3 últimas barras (que satisfazem as condições do if) e colocar um ponto sobre ela (bem nesta alta!), então também encontrar o ponto baixo.
Infelizmente a compensação de turnos não é a opção certa. Estou pensando que talvez eu devesse tentar inserir meu código no ziguezague padrão. Estou tentando agora, mas até agora sem sucesso. O que você acha, posso passar em ziguezague? Porque no final eu preciso encontrar vértices conectados alternadamente, como alto-baixo-alto, e se eu encontrar uma opção alto-alto, ou baixo-baixo, então estes segundos altos e baixos não estão incluídos na matriz, e esperar pelo oposto.
Infelizmente, a mudança de turno não é uma opção. Estou pensando que talvez eu devesse tentar inserir meu código no ziguezague padrão. Agora eu estou bisbilhotando, mas até agora em vão. Você acha que é possível passar em ziguezague? Porque no final eu preciso conectar tops encontrados alternadamente, como alto-baixo-alto, e se eu encontrar uma opção alto-baixo ou baixo-baixo, então estes segundos altos e baixos não devem ser incluídos em arrays, e esperar pelo oposto.
Não. O anterior deve ser zerado e o atual deve ser adicionado ao buffer indicador.
Infelizmente, a mudança de turno não é uma opção. Estou pensando que talvez eu devesse tentar inserir meu código no ziguezague padrão. Agora eu estou bisbilhotando, mas até agora em vão. O que você acha, posso passar em ziguezague? Porque no final eu preciso encontrar vértices conectados alternadamente, como alto-baixo-alto, e se eu encontrar uma opção alto-alto, ou baixo-baixo, então estes segundos altos e baixos não estão incluídos na matriz, e esperar pelo oposto.
Em qualquer caso, haverá um atraso, ou seja, até que as condições para 2-3 barras anteriores sejam atendidas - não haverá empate.
Eu entendo que precisamos de um zig-zag do alto para o baixo?
Em qualquer caso, haverá um atraso, ou seja, até que as condições para 2-3 barras anteriores sejam atendidas - não haverá empate.
Acho que preciso fazer zig-zag dos altos para os baixos?
Sim, idealmente precisamos de um zig-zag dos altos para os baixos (portanto, estes altos e baixos estão em minhas condições se, e se houver dois ou mais altos/baixos seguidos, então estes segundos altos/baixos não devem ser exibidos, e devemos esperar pela inversão). Para mim é suficiente exibir os últimos 6 mínimos e 6 máximos no indicador. E depois quero chamar estes pontos encontrados em zig-zag no roteiro/conselheiro para outras necessidades.
Sim, idealmente precisamos de um zig-zag dos altos para os baixos (para que estes altos e baixos estejam em minhas condições se, e se houver dois ou mais altos/baixos seguidos, então estes segundos altos/baixos não devem ser exibidos, mas esperar por uma inversão). Basta que eu exiba os últimos 6 baixos e 6 altos no meu indicador. E depois quero chamar estes pontos encontrados em zig-zag no roteiro/conselheiro para outras necessidades.
Não sou programador e ainda não sei como ajudar, mas vou pensar no assunto...
MakarFX: Não sou programador e ainda não sei como ajudar, mas vou pensar sobre isso...
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, |//+----------------------------------------------------------------------------+//| Версия : 07.10.2006 |//| Описание : Возвращает экстремум ЗигЗага по его номеру. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента (NULL или "" - текущий символ) |//| tf - таймфрейм ( 0 - текущий ТФ) |//| ne - номер экстремума ( 0 - последний) |//| dp - ExtDepth |//| dv - ExtDeviation |//| bs - ExtBackstep |//+----------------------------------------------------------------------------+double GetExtremumZZPrice(string sy="", int tf=0, int ne=0, int dp=12, int dv=5, int bs=3) {
if (sy=="" || sy=="0") sy=Symbol();
double zz;
int i, k=iBars(sy, tf), ke=0;
for (i=1; i<k; i++) {
zz=iCustom(sy, tf, "ZigZag", dp, dv, bs, 0, i);
if (zz!=0) {
ke++;
if (ke>ne) return(zz);
}
}
Print("GetExtremumZZPrice(): Экстремум ЗигЗага номер ",ne," не найден");
return(0);
}
indicadorZigZag padrãopersonalizado e retorna seu nível de preço. A função aceita os seguintes parâmetros opcionais:
sy- Nome do instrumento."" ouNULL- símbolo atual. O valor padrão éNULL.
tf- Cronograma. Valor padrão 0- símbolo atual.
ne- Número extremo. 0- último, 1- anterior, 2- anterior, etc.
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
OK, então como eu retrabalho o código se eu precisar, por exemplo, selecionar a mais alta das 3 últimas barras (que satisfazem as condições do if) e colocar um ponto sobre ela (bem nesta alta!), então também encontrar o ponto baixo.
Tente desta forma, mas não com certeza
Tente desta forma, mas não tenho certeza
Infelizmente a compensação de turnos não é a opção certa. Estou pensando que talvez eu devesse tentar inserir meu código no ziguezague padrão. Estou tentando agora, mas até agora sem sucesso. O que você acha, posso passar em ziguezague? Porque no final eu preciso encontrar vértices conectados alternadamente, como alto-baixo-alto, e se eu encontrar uma opção alto-alto, ou baixo-baixo, então estes segundos altos e baixos não estão incluídos na matriz, e esperar pelo oposto.
Infelizmente, a mudança de turno não é uma opção. Estou pensando que talvez eu devesse tentar inserir meu código no ziguezague padrão. Agora eu estou bisbilhotando, mas até agora em vão. Você acha que é possível passar em ziguezague? Porque no final eu preciso conectar tops encontrados alternadamente, como alto-baixo-alto, e se eu encontrar uma opção alto-baixo ou baixo-baixo, então estes segundos altos e baixos não devem ser incluídos em arrays, e esperar pelo oposto.
Não. O anterior deve ser zerado e o atual deve ser adicionado ao buffer indicador.
Infelizmente, a mudança de turno não é uma opção. Estou pensando que talvez eu devesse tentar inserir meu código no ziguezague padrão. Agora eu estou bisbilhotando, mas até agora em vão. O que você acha, posso passar em ziguezague? Porque no final eu preciso encontrar vértices conectados alternadamente, como alto-baixo-alto, e se eu encontrar uma opção alto-alto, ou baixo-baixo, então estes segundos altos e baixos não estão incluídos na matriz, e esperar pelo oposto.
Em qualquer caso, haverá um atraso, ou seja, até que as condições para 2-3 barras anteriores sejam atendidas - não haverá empate.
Eu entendo que precisamos de um zig-zag do alto para o baixo?Em qualquer caso, haverá um atraso, ou seja, até que as condições para 2-3 barras anteriores sejam atendidas - não haverá empate.
Acho que preciso fazer zig-zag dos altos para os baixos?Sim, idealmente precisamos de um zig-zag dos altos para os baixos (portanto, estes altos e baixos estão em minhas condições se, e se houver dois ou mais altos/baixos seguidos, então estes segundos altos/baixos não devem ser exibidos, e devemos esperar pela inversão). Para mim é suficiente exibir os últimos 6 mínimos e 6 máximos no indicador. E depois quero chamar estes pontos encontrados em zig-zag no roteiro/conselheiro para outras necessidades.
Olá!
Alguém pode avisar por que nenhum valor é mostrado através do modo de depuração?
Parece que depois de atualizar o programa mt5, o problema começou
E o que significa vermelho na coluna - Valores?
Olá!
Alguém pode avisar por que nenhum valor é mostrado através do modo de depuração?
Parece que depois de atualizar o programa mt5, o problema começou
E o que significa a cor vermelha do valor na coluna - Valores?
1. Por favor, forneça o mínimo de informações (primeiras três linhas da guia do diário após reiniciar o terminal)
2) Atualizar a construção
Sim, idealmente precisamos de um zig-zag dos altos para os baixos (para que estes altos e baixos estejam em minhas condições se, e se houver dois ou mais altos/baixos seguidos, então estes segundos altos/baixos não devem ser exibidos, mas esperar por uma inversão). Basta que eu exiba os últimos 6 baixos e 6 altos no meu indicador. E depois quero chamar estes pontos encontrados em zig-zag no roteiro/conselheiro para outras necessidades.
Não sou programador e ainda não sei como ajudar, mas vou pensar sobre isso...
indicadorZigZag padrãopersonalizado e retorna seu nível de preço. A função aceita os seguintes parâmetros opcionais:- sy- Nome do instrumento."" ouNULL- símbolo atual. O valor padrão éNULL.
- tf- Cronograma. Valor padrão 0- símbolo atual.
- ne- Número extremo. 0- último, 1- anterior, 2- anterior, etc.
- dp,dv,bs- Parâmetros ZigZaga: ExtDepth, ExtDeviation, ExtBackstep.
indicadorZigZag padrãopersonalizado e retorna seu nível de preço. A função aceita os seguintes parâmetros opcionais:- sy- Nome do instrumento."" ouNULL- símbolo atual. O valor padrão éNULL.
- tf- Cronograma. Valor padrão 0- símbolo atual.
- ne- Número extremo. 0- último, 1- anterior, 2- anterior, etc.
- dp,dv,bs- Parâmetros ZigZaga: ExtDepth, ExtDeviation, ExtBackstep.