[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 227
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Caros colegas profissionais, preciso de sua ajuda (pli-is). Quero fazer uma função no meu EA que exibe uma notificação no canto posterior da tela sobre a tendência atual em diferentes períodos de tempo e a próxima inversão. Estou usando minhas funções de LinearRegressão e Divergir para este fim. Entretanto, nunca trabalhei com a funçãoComentar e, portanto, não consigo entender onde cometi um erro. De qualquer forma, como resultado do seguinte código, a inscrição "Trend W = Down" é exibida, mas eu quero ter informações sobre outras TFs também.
void UPDN ()
{
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diver_Per_H1, 0) < 0) Comment("Trend H1 = Up");
if(Diverg(LR_TFr_1,0,Diver_Per_H1)<0) Comment("...!Pivot on H1 = Down");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diver_Per_H4, 0) < 0) Comment("Trend H4 = Up");
if(Diverg(LR_TFr_2,0,Diver_Per_H4)<0) Comment("...!Pivot on H4 = Down");
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) < 0) Comment("Trend D1 = Up");
if(Diverg(LR_TFr_3,0,Diver_Per_D1)<0) Comment("..!Pivot on D1 = Down");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) < 0) Comment("Trend W = Up");
if(Diverg(LR_TFr_4,0,Diver_Per_W)<0) Comment("...!Pivot to W = Down");
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diver_Per_H1, 0) > 0) Comment("Trend H1 = Down");
if(Diverg(LR_TFr_1,0,Diver_Per_H1)>0) Comment("....!Pivot on H1 = Up");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diver_Per_H4, 0) > 0) Comment("Trend H4 = Down");
if(Diverg(LR_TFr_2,0,Diver_Per_H4)>0) Comment("...!Pivot on H4 = Up");
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) > 0) Comment("Trend D1 = Down");
if(Diverg(LR_TFr_3,0,Diver_Per_D1)>0) Comment("...!Pivot on D1 = Up");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) > 0) Comment("Trend W = Down");
if(Diverg(LR_TFr_4,0,Diver_Per_W)>0) Comment("....W = Up");
return(0);
}
Caros colegas-profissionais, preciso de sua ajuda (pli-is). Quero fazer uma função no meu EA que exibe uma notificação no canto posterior da tela sobre a tendência atual em diferentes períodos de tempo e a próxima inversão. Estou usando minhas funções de LinearRegressão e Divergir para este fim. Entretanto, nunca trabalhei com a função Comentar e, portanto, não consigo entender onde cometi um erro. De qualquer forma, o código abaixo exibe apenas a mensagem "Trend W = Down", mas quero que ele me informe sobre outras TFs.
nulo UPDN ()
{
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diverg_Per_H1, 0) < 0) Comentário("Tendência H1 = Para cima")
if(Diverg(LR_TFr_1,0,Diver_Per_H1)<0) Comentário("...!Turn at H1 = Down");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diverg_Per_H4, 0) < 0) Comentário("Tendência H4 = Para cima")
if(Diverg(LR_TFr_2,0,Diver_Per_H4)<0) Comentário("...!H4 trend reversal = Down")
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) < 0) Comentário("Tendência D1 = Para cima")
if(Diverg(LR_TFr_3,0,Diver_Per_D1)<0) Comentário("...!Pivot on D1 = Down");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) < 0) Comentário("Trend W = Up");
if(Diverg(LR_TFr_4,0,Diver_Per_W)<0) Comentário(";)
if(LinearRegression(Symbol( ), LR_TFr_1, 0, Diverg_Per_H1, 0) > 0) Comentário("Tendência H1 = Down")
if(Diverg(LR_TFr_1,0,Diver_Per_H1)>0) Comentário("...!H1 trend reversal = Up");
if(LinearRegression(Symbol( ), LR_TFr_2, 0, Diver_Per_H4, 0) > 0) Comentário("Tendência H4 = Down")
if(Diverg(LR_TFr_2,0,Diver_Per_H4)>0) Comentário("...!H4 trend reversal = Up");
if(LinearRegression(Symbol( ), LR_TFr_3, 0, Diver_Per_D1, 0) > 0) Comentário("Tendência D1 = Down")
if(Diverg(LR_TFr_3,0,Diver_Per_D1)>0) Comment("...!Pivot on D1 = Up");
if(LinearRegression(Symbol( ), LR_TFr_4, 0, Diver_Per_W, 0) > 0) Comentário("Tendência W = Down");
if(Diverg(LR_TFr_4,0,Diver_Per_W)>0) Comentário("...!Divergir para W = Para cima")
retorno(0);
}
Arrays não podem ser passados para Comentário(). As arrays devem ser impressas elemento por elemento.
Os dados do tipo duplo são emitidos com 4 dígitos decimais após o ponto. Para imprimir números com maior precisão, use a funçãoDoubleToStr().
O bool, data e tipos de cores serão impressos como números.
Para emitir dados de data e hora como uma string, use a funçãoTimeToStr().
Para dividir a saída em várias linhas, você pode usar o caractere de alimentação de linha "\n" ou "\r\n".
Veja tambémAlerta() eImpressão().
Obrigado, eu peguei. Preciso inserir variáveis de acordo com os resultados das funções LinearRegression e Divergir para cada TF e, em seguida, emiti-las com um comentário, podem estar em várias linhas.
Obrigado, eu peguei. Preciso inserir variáveis de acordo com os resultados das funções LinearRegression e Divergir para cada TF e, em seguida, emiti-las com um comentário, podem estar em várias linhas.
Há apenas uma limitação em termos de comprimento de linha. Você pode usar a função de Alexander Pak. Se você não conseguir encontrá-lo, eu mesmo o procurarei
Caros senhores!
Tenho uma pergunta sobre como passar um array por referência.
O esquema do algoritmo é o seguinte:
Passamos um array por referência de uma biblioteca para outra.
Nós o copiamos lá usando a função embutida:
ArrayCopy.
Em seguida, é utilizada a matriz passada por referência
no primeiro módulo.
Mas, por alguma razão, ocorre um erro, e nem sempre.
Isto é, às vezes a matriz é copiada, às vezes não.
Qual é a razão?
A entrada do registro é a seguinte:
21:07:12 openHistory CADCHF,H1:
2 gamas de matrizes para a função ArrayCopy (0 e 4)
Isso porque você copiou mal meu exemplo. Veja cuidadosamente onde está o i e onde está o k.
Corrigido o código de acordo com o seu.
Ao testar, quatro ordens foram fechadas na ordem em que foram colocadas no primeiro tick, a quinta fechada no tick seguinte. Provavelmente algo mais está errado aqui, já que eu o testei muitas vezes.
Estou lhes fornecendo o código do programa e os logs do testador.
Sinceramente. Shurkin
Você tem que dar o laço para o início. Trabalhar dentro do laço. Lá você pode fazer qualquer coisa.
Isto é um pouco diferente. quando a conexão é perdida, o registro diz "Ping falhou". isto significa que há fi ries, mas eles não estão documentados por alguma razão.
Quanto da carga na CPU e na memória é aumentada através de looping?
Boa noite! Com licença, eu gostaria de voltar a um problema não resolvido.
Compra - tipos incompatíveis D:\TeleTRADE/experts/experts/clean.mq4 (102, 53)
Venda' - tipos incompatíveis D:\TeleTRADE=especialistas.mq4 (102, 79)
Esta linha não é compilada.