A idéia é que a cada iteração o código deve verificar a largura do canal e se for menor ou igual ao valor atual(z11-z12<=z10), um retângulo deve ser desenhado, mas a saída é que todas as iterações são passadas primeiro, e depois há uma verificação de consistência.
Favor informar como lidar com o erro número 1 (ERR_NO_RESULT Sem erro, mas resultado desconhecido) ?
Quando um pedido está perdendo mais de $1 (100 pips a 0,01 lote) no EURUSD, meu Consultor Especialista tenta modificar o pedido (coloque TakeProfit do pedido a seu preço aberto).
Sim, era isso que eu estava pensando... Pode haver alguns deslizes e mal-entendidos. Há cerca de um mês e meio, houve a mesma pergunta no quinto fórum. Então lá falei do ArrayMaximum e aqui um pouco me confundi...
Olá, estou trabalhando com 2000 médias móveis (MAs).
A tarefa é calcular o número de repetições do preço de MA em Close[1].
- Como posso implementar esta tarefa com o mínimo de recursos.
Se não utilizarmos o período 1 em Preços fechados, o número de repetições será zero. Mas se considerarmos entrar em uma determinada faixa, a tarefa pode ser solvível e mais interessante. Alternativamente, encontramos os valores máximo e mínimo. Dividimos a diferença pelo intervalo. Em seguida, definimos um intervalo que se enquadra em cada muving (consideraremos um intervalo que corresponda a intervalos ou faixas). O índice da matriz com o número máximo de acertos é o vencedor. Talvez eu não tenha sido muito claro. É melhor que a tarefa seja resolvida em um tópico à parte. Pode haver várias variantes de solução. E no futuro alguém poderá precisar deles. E aqui eles não encontrarão o fim disto depois.
Olá, lendo o tutorial, cheguei às variáveis GV. Não consigo entender como eles funcionam. Por exemplo, o tutorial diz que as variáveis GV só podem ser do tipo duplo. Ok, o dobro, portanto, o dobro). Mas ao listar as funçõesGlobalVariableSet(),GlobalVariableGet(),GlobalVariableDel() eles escrevem que uma delas retorna tempo, outra retorna bool, etc. Fiquei confuso em minha cabeça, não entendo como eles estão organizados. Também comecei a estudar a MQL4 recentemente, recebi muitas informações novas em minha cabeça. Se possível, por favor, explique-me um exemplo de um dos problemas em um livro didático (ou qualquer um de seus próprios):
Tarefa 24. Vários Expert Advisors trabalham no terminal simultaneamente. O valor do depósito é de $10 000. O valor total de todos os pedidos em aberto não deve exceder 30% do valor do depósito. Cada consultor especializado deve receber a mesma quantia de dinheiro. Criar um programa de Expert Advisor contendo o cálculo da quantia de dinheiro alocada para negociação.
intPeritos;//Número de Consultores Especialistas. de especialistas
duploDepo=10000.0, // Depósito especificado
Persente=30,// dada porcentagem
Dinheiro;// Fundos sendo procurados.
string Quantity="GV_Quantity"; // Nome da variável GV
Vinin: Se você não usar o período 1 nos preços de fechamento, o número de repetições será zero. Mas se você contar atingindo alguma faixa, então o problema pode ser resolúvel e mais interessante. Alternativamente, podemos encontrar os valores máximo e mínimo. Dividimos a diferença pelo intervalo. Em seguida, definimos um intervalo que se enquadra em cada muving (consideraremos um intervalo que corresponda a intervalos ou faixas). O índice da matriz com o número máximo de acertos é o vencedor. Talvez eu não tenha sido muito claro. É melhor que a tarefa seja resolvida em um tópico à parte. Pode haver várias variantes de solução. E no futuro alguém poderá precisar deles. E aqui eles não encontrarão o fim disto depois.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
É melhor usar as novas características CopyHigh do mql4 e a função matemática MathMax
Ou iHighest
Bom dia, diga-me onde está o erro.
/////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////Зона консолидации/////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
if(Hour()>=10)
{
for(x9=2; x9<=5; x9++)
{
x10=Hour()-x9;//x10 -номер свечи от которой считаем восемь свечей назад
if(x10>=0)
{
int Minn=iLowest(NULL, PERIOD_H1, MODE_LOW , x10+8, x10);
int Maxx=iHighest(NULL, PERIOD_H1, MODE_HIGH, x10+8, x10);
z11 =iHigh(NULL,PERIOD_H1,Maxx);
z12 =iLow(NULL, PERIOD_H1,Minn);
ZPB =iTime(NULL,PERIOD_H1,x10+8);
ZPB1 =iTime(NULL,PERIOD_H1,x10);
if(z11-z12<=z10)
{
y4=ObjectCreate("Зона консолидации",OBJ_RECTANGLE,0,0,0,0,0);
y4=ObjectSet("Зона консолидации",OBJPROP_WIDTH,2);
y4=ObjectSet("Зона консолидации",OBJPROP_COLOR,Blue);
y4=ObjectSet("Зона консолидации",OBJPROP_BACK,true);
y4=ObjectMove("Зона консолидации",0,ZPB,z11);
y4=ObjectMove("Зона консолидации",1,ZPB1,z12);
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////
É melhor usar as novas características CopyHigh do mql4 e a função matemática MathMax
Ou iHighest
Favor informar como lidar com o erro número 1 (ERR_NO_RESULT Sem erro, mas resultado desconhecido) ?
Quando um pedido está perdendo mais de $1 (100 pips a 0,01 lote) no EURUSD, meu Consultor Especialista tenta modificar o pedido (coloque TakeProfit do pedido a seu preço aberto).
Eu recebo este erro, o que devo fazer?
Se CopyHigh, então ArrayMaximum, IMHO...
Olá, estou trabalhando com 2000 médias móveis(MAs).
A tarefa é calcular o número de repetições do preço de MA em Close[1].
- Como posso implementar esta tarefa com o mínimo de recursos.
Olá, estou trabalhando com 2000 médias móveis (MAs).
A tarefa é calcular o número de repetições do preço de MA em Close[1].
- Como posso implementar esta tarefa com o mínimo de recursos.
Olá, lendo o tutorial, cheguei às variáveis GV. Não consigo entender como eles funcionam. Por exemplo, o tutorial diz que as variáveis GV só podem ser do tipo duplo. Ok, o dobro, portanto, o dobro). Mas ao listar as funçõesGlobalVariableSet(),GlobalVariableGet(),GlobalVariableDel() eles escrevem que uma delas retorna tempo, outra retorna bool, etc. Fiquei confuso em minha cabeça, não entendo como eles estão organizados. Também comecei a estudar a MQL4 recentemente, recebi muitas informações novas em minha cabeça. Se possível, por favor, explique-me um exemplo de um dos problemas em um livro didático (ou qualquer um de seus próprios):
Tarefa 24. Vários Expert Advisors trabalham no terminal simultaneamente. O valor do depósito é de $10 000. O valor total de todos os pedidos em aberto não deve exceder 30% do valor do depósito. Cada consultor especializado deve receber a mesma quantia de dinheiro. Criar um programa de Expert Advisor contendo o cálculo da quantia de dinheiro alocada para negociação.
intPeritos;//Número de Consultores Especialistas. de especialistas
duplo Depo=10000.0, // Depósito especificado
Persente=30,// dada porcentagem
Dinheiro;// Fundos sendo procurados.
string Quantity="GV_Quantity"; // Nome da variável GV
//--------------------------------------------------------------------
int init()//Special. função init
{
Experts=GlobalVariableGet(Quantidade); // Obter valor de texto.
Peritos=Peritos+1; // Número de Peritos.
GlobalVariableSet(Quantidade, Especialistas); // Novo valor
Money=Depo*Persent/100/Experts; // Exp.
Alerta("Para o especialista na janela ", Symbol()," alocado ",Money);
retornar;// Saída do init()
}
//--------------------------------------------------------------------
int start()// Especial. início da função
{
int New_Experts= GlobalVariableGet(Quantity);// Novo número de exp.
se (Especialistas!=Novos_Peritos) // Se mudado
{
Experts=New_Experts; // Agora o número atual é
Money=Depo*Persent/100/Experts; // Novo valor de experto.
Alerta("Novo valor para especialista ",Symbol()",": ",Money);
}
/*
...
O código principal do Expert Advisor deve ser especificado aqui,
que utiliza o valor da variável Dinheiro
...
*/
retornar;//sair do início()
}
//--------------------------------------------------------------------
int deinit()//Proper. função deinit()
{
se (Peritos ==1)// Se apenas um especialista..
GlobalVariableDel(Quantidade); //...eliminar variáveis GV
senão// Caso contrário..
GlobalVariableSet(Quantidade, Especialistas-1); //...diminuir em 1
Alerta("EA é descarregado da janela ",Symbol()); // Notificar sobre a descarga
retornar;// Saída de deinit()
}
Se você não usar o período 1 nos preços de fechamento, o número de repetições será zero. Mas se você contar atingindo alguma faixa, então o problema pode ser resolúvel e mais interessante. Alternativamente, podemos encontrar os valores máximo e mínimo. Dividimos a diferença pelo intervalo. Em seguida, definimos um intervalo que se enquadra em cada muving (consideraremos um intervalo que corresponda a intervalos ou faixas). O índice da matriz com o número máximo de acertos é o vencedor. Talvez eu não tenha sido muito claro. É melhor que a tarefa seja resolvida em um tópico à parte. Pode haver várias variantes de solução. E no futuro alguém poderá precisar deles. E aqui eles não encontrarão o fim disto depois.
Terei que pensar sobre isso, obrigado.
tópico separado - https://forum.mql4.com/ru/66882