Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 852
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
É 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