Como quero verificar várias moedas em uma barra, devo verificar o tempo e a moeda para evitar repetir um alerta em uma barra e um símbolo, mas permitir um alerta na mesma barra com um símbolo diferente. À primeira vista, precisamos de mais um conjunto com bandeiras, quer o símbolo seja visto ou não.
Em geral, temos que adicionar uma verificação de símbolo a esta linha, ou repetir o laço somente quando uma nova barra aparece. Mas tenho medo de que quando uma nova barra aparece no símbolo com este indicador, uma nova barra ainda não tenha aparecido em outro símbolo.
A conclusão: devemos esforçar nossos músculos da cabeça para determinar se uma nova barra aparece em cada símbolo separadamente, mas ao mesmo tempo não devemos esticar o número de linhas até o infinito. Não tenho uma solução pronta. E não gosto de sugerir isso escrevendo código...
E eu ainda não resolvi o problema dele?
Talvez eu tenha perdido algo em algum lugar - eu escrevi o código no meu joelho.
Talvez eu tenha perdido algo em algum lugar - eu escrevi o código no meu joelho.
Artem, a última frase do meu post explica tudo. Nem sequer olhou para o seu código. Abri a primeira pergunta não lida com uma citação da minha resposta anterior, respondi e depois vi os outros conselhos. Não duvido da correção do seu código, mesmo do meu joelho.
Artyom, a última frase do meu posto explica tudo. Nem sequer olhou para o seu código. Abri a primeira pergunta não lida, com uma citação da minha resposta anterior, respondi e depois vi outros conselhos. Não duvido da correção do seu código, mesmo do meu joelho.
teria dito preguiçoso ;)
Mesmo à primeira vista, você pode ver que o código depende de carrapatos no símbolo atual. E assim devemos remover o laço da OnTick() e enfiá-lo em um temporizador. E modificar ligeiramente a definição de alertas de tempo.
Olá a todos, há um mal entendido do processo, na função "iniciar" no ciclo mm++; e acompanhar as mudanças nele através de Print(); então a pergunta: "Por que ao invés de 1,2,3,4, etc. aparecem números de quatro dígitos? "
o próprio código
int start()
{
int counted_bars=IndicatorCounted();
int limit, i;
int mm=0; // ======= ПЕРВОЕ========if(counted_bars<0) return(-1);
limit=(Bars-counted_bars)-1;
for (i=limit; i>=0;i--)
{
if (TimeDayOfWeek(Time[i]) != 0)
{if (High[i+1]>LastHigh) LastHigh=High[i+1];if (Low[i+1]<LastLow) LastLow=Low[i+1];}
if (TimeDay(Time[i])!=TimeDay(Time[i+1]) && TimeDayOfWeek(Time[i])!=0)
{
mm++; // ==========ВТОРОЕ==========Print(" TEST= ",mm);// ========ТРЕТЬЕ========
LastLow=Open[i]; LastHigh=Open[i];
/* ObjectMove("Pivot", 0, Time[i],P); ObjectMove("S1", 0, Time[i],S1);ObjectMove("R1", 0, Time[i],R1); */
}
// S1Buffer[i]=S1;
// R1Buffer[i]=R1;
}
//----return(0);
}
//+------------------------------------------------------------------+
Olá a todos, há um mal entendido do processo, na função "iniciar" no ciclo mm++; e acompanhar as mudanças nele através de Print(); então a pergunta: "Por que ao invés de 1,2,3,4, etc. aparecem números de quatro dígitos? "
o próprio código
Na primeira execução, 10 segundosIndicatorCounted()=0
Na primeira execução, por 10 segundosIndicadorContado()=0
significalimite= máximo de barras na história-1
ainda não claro, declaração e inicialização com zero fora do loop int mm=0; e colocado no loop mm++; impressão() mostra números de quatro dígitos mudando com uma diferença de uma unidade apenas na direção descendente por algum motivo
виталик: ainda não claro, declaração e inicialização com zero fora do loop int mm=0; e colocado no loop mm++; impressão() mostra números de quatro dígitos mudando com uma diferença de uma unidade, apenas na direção descendente por algum motivo
Nem todas as impressões são impressas neste registro. Veja no arquivo.
Artem, por que você escreve que ainda não resolveu isso? Ele envia os sinais para todas as ferramentas, mas só carrega muito o sistema. É possível reduzir a carga?
Restringir a verificação em um novo bar não funcionará porque também haverá condições que devem ser verificadas em cada carrapato.
Tento adicionar OnTimer() ao seu código. Funcionou na EA quando OnTick() mas como fazer isso com OnCalculate()
Artyom, por que você escreve que ainda não resolveu isso? Está sinalizando em todos os instrumentos, mas está carregando muito o sistema. Existe alguma maneira de reduzir a carga?
O limite de verificação em um novo bar não serve porque também haverá condições que terão que ser verificadas em cada carrapato.
Em seu código, eu tento adicionar OnTimer(), ele funcionou na EA quando OnTick() mas como fazer isso com OnCalculate ?
Experimente-o com um temporizador por 200 milissegundos.
O problema está nesta linha
Como quero verificar várias moedas em uma barra, devo verificar o tempo e a moeda para evitar repetir um alerta em uma barra e um símbolo, mas permitir um alerta na mesma barra com um símbolo diferente. À primeira vista, precisamos de mais um conjunto com bandeiras, quer o símbolo seja visto ou não.
Em geral, temos que adicionar uma verificação de símbolo a esta linha, ou repetir o laço somente quando uma nova barra aparece. Mas tenho medo de que quando uma nova barra aparece no símbolo com este indicador, uma nova barra ainda não tenha aparecido em outro símbolo.
A conclusão: devemos esforçar nossos músculos da cabeça para determinar se uma nova barra aparece em cada símbolo separadamente, mas ao mesmo tempo não devemos esticar o número de linhas até o infinito. Não tenho uma solução pronta. E não gosto de sugerir isso escrevendo código...
E eu ainda não resolvi o problema dele?
Talvez eu tenha perdido algo em algum lugar - eu escrevi o código no meu joelho.
E eu ainda não resolvi o problema dele?
Talvez eu tenha perdido algo em algum lugar - eu escrevi o código no meu joelho.
Artem, a última frase do meu post explica tudo. Nem sequer olhou para o seu código. Abri a primeira pergunta não lida com uma citação da minha resposta anterior, respondi e depois vi os outros conselhos. Não duvido da correção do seu código, mesmo do meu joelho.
Artyom, a última frase do meu posto explica tudo. Nem sequer olhou para o seu código. Abri a primeira pergunta não lida, com uma citação da minha resposta anterior, respondi e depois vi outros conselhos. Não duvido da correção do seu código, mesmo do meu joelho.
teria dito preguiçoso ;)
Mesmo à primeira vista, você pode ver que o código depende de carrapatos no símbolo atual. E assim devemos remover o laço da OnTick() e enfiá-lo em um temporizador. E modificar ligeiramente a definição de alertas de tempo.
Olá a todos, há um mal entendido do processo, na função "iniciar" no ciclo mm++; e acompanhar as mudanças nele através de Print(); então a pergunta: "Por que ao invés de 1,2,3,4, etc. aparecem números de quatro dígitos? "
o próprio código
Olá a todos, há um mal entendido do processo, na função "iniciar" no ciclo mm++; e acompanhar as mudanças nele através de Print(); então a pergunta: "Por que ao invés de 1,2,3,4, etc. aparecem números de quatro dígitos? "
o próprio código
Na primeira execução, 10 segundosIndicatorCounted()=0
assimlimit= max barras na história-1
Na primeira execução, por 10 segundosIndicadorContado()=0
significalimite= máximo de barras na história-1
ainda não claro, declaração e inicialização com zero fora do loop int mm=0; e colocado no loop mm++; impressão() mostra números de quatro dígitos mudando com uma diferença de uma unidade, apenas na direção descendente por algum motivo
Alexey Viktorov:
...você tem que esticar os músculos da cabeça...
Obrigado a todos que responderam.
Artyom Trishkin: Assim:
Restringir a verificação em um novo bar não funcionará porque também haverá condições que devem ser verificadas em cada carrapato.
Tento adicionar OnTimer() ao seu código. Funcionou na EA quando OnTick() mas como fazer isso com OnCalculate()
Você pode me dizer por que as ordens não estão abrindo?
Obrigado a todos que responderam.
Artyom, por que você escreve que ainda não resolveu isso? Está sinalizando em todos os instrumentos, mas está carregando muito o sistema. Existe alguma maneira de reduzir a carga?
O limite de verificação em um novo bar não serve porque também haverá condições que terão que ser verificadas em cada carrapato.
Em seu código, eu tento adicionar OnTimer(), ele funcionou na EA quando OnTick() mas como fazer isso com OnCalculate ?
Experimente-o com um temporizador por 200 milissegundos.