[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 143
Em um fractal! Eu tentei com um stop-loss - é uma droga, eu gostaria de tentar com stops nos fractais, mas não sei como escrevê-lo no estado em que está. Ou como escrevê-lo em um EA, eu escrevi uma condição de entrada, algo como isto
Em um fractal! Eu tentei com um stop loss - está perdendo, eu gostaria de tentar com stops em fractais, mas não sei como escrevê-lo no estado. Ou como escrevê-lo em um EA, eu escrevi uma condição de entrada, algo como isto
Para testar a estratégia, é mais fácil para você encontrar uma função de trailing stop por fractais e incluí-la em sua EA. Ou você mesmo pode escrevê-lo.
A função irá mover a parada de cada posição aberta para o conjunto fractal necessário nos ajustes. E então, com base nos resultados dos testes, já podemos pensar na conveniência de usar ou esta rede de arrasto, ou fechamento de posições de mercado quando o preço atingir o nível fractal. Nenhuma delas é uma coisa fácil de se fazer.
A função padrão iFractals() o ajudará. Ele retorna o preço pelo qual o fractal é encontrado, como especificado nos parâmetros da função.
ajuda por favor, meu indicador mede o movimento máximo de minutos para a hora atual em um período de uma hora, as primeiras 6 horas (barras) ele mede tudo adequadamente, e então inicia alguns valores ilegais vêm abaixo do próprio código e do indicador, me diga onde errei, embora eu não me importe com valores além de 3 barras, mas temo que erros possam ocorrer na primeira barra
#property indicator_separate_window#property indicator_buffers 1// Количество буферов#property indicator_color1 Blue // Цвет первой линии#property indicator_minimum 0#property indicator_maximum 25double Buf_0[]; // Объявление массивов (под буферы индикатора)//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int init()
{
//---- indicatorsSetIndexBuffer(0,Buf_0); // Назначение массива буферу SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии //----return(0);
}
//+------------------------------------------------------------------+//| Custom indicator deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//----//----return(0);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+int start()
{
//----int i; // Индекс бара int Counted_bars; // Количество просчитанных баровint m;
int MaxSpeed;
int Speed;
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars-1; // Индекс первого непосчитанного while(i>=0) // Цикл по непосчитанным барам
{
MaxSpeed=0;
if (Period()==PERIOD_H1)
{
m=59;
while (m>=0)
{
Speed=(iOpen(Symbol(),PERIOD_M1,m+60*i)-iClose(Symbol(),PERIOD_M1,m+60*i))/Point;
if (MaxSpeed<Speed)
{
MaxSpeed=Speed;
}
m--;
}
}
if (Period()==PERIOD_M1)
{
m=0;
while (m>=0)
{
Speed=(iOpen(Symbol(),PERIOD_M1,m+i)-iClose(Symbol(),PERIOD_M1,m+i))/Point;
if (MaxSpeed<Speed)
{
MaxSpeed=Speed;
}
m--;
}
}
Buf_0[i]=MaxSpeed; // Значение 0 буфера на i-ом баре
i--; // Расчёт индекса следующего бара
}
//----return(0);
}
//+------------------------------------------------------------------+
ajuda por favor, meu indicador mede o movimento máximo de minutos para a hora atual em um período de uma hora, as primeiras 6 horas (barras) ele mede tudo adequadamente, e então inicia alguns valores ilegais vêm abaixo do próprio código e do indicador, me diga onde errei, embora eu não me importe com valores além de 3 barras, mas temo que erros possam ocorrer na primeira barra
eu tinha originalmente um indicador diferente, desmontei-o e "soldei" meu código
Quero que o indicador mostre o valor máximo de iOpen-iClose entre as barras de minutos, mas para HOUR, por exemplo para uma hora de 59 barras de minutos iOpen-iClose = 3 (por exemplo) e uma barra de um minuto iOpen-iClose = 10 e em um período de uma hora, ele deve mostrar 10 sem nenhum desvio e preciso que o indicador feche as ordens, se de repente, mais de um minuto for muito rápido na direção errada, então o conselheiro será um sinal para fechar
Esta é a primeira versão da mesma e mais tarde quero que ela seja capaz de detectar para que lado o preço está indo.
A contagem inicial é de 59 barras, o que é incorreto. Pode haver lacunas em minutos, e a barra da última hora pode conter menos minutos.
Você deve pegar o horário de abertura e fechamento da barra de horas (Tempo[i]). Use este tempo para calcular os offsets para minutos iBarShift, e depois calcule o máximo dentro desta faixa de offsets.
A propósito, o que o indicador deve mostrar em um período de minutos?
Se o número é positivo o preço sobe, se o número é negativo - para baixo, devolvendo o número modulo mostrará a força do movimento.
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.
Em um fractal! Eu tentei com um stop-loss - é uma droga, eu gostaria de tentar com stops nos fractais, mas não sei como escrevê-lo no estado em que está. Ou como escrevê-lo em um EA, eu escrevi uma condição de entrada, algo como isto
if(iOpen(NULL,PERIOD_H1,1)<iClose(NULL,PERIOD_H1,1)&&
iOpen(NULL,PERIOD_M30,1)<iClose(NULL,PERIOD_M30,1)&&
iOpen(NULL,PERIOD_M15,1)<iClose(NULL,PERIOD_M15,1)&&
iOpen(NULL,PERÍODO_M5,1)<iClose(NULL,PERÍODO_M5,1)
{...???
}
Duvido, pelo seu código, que a conversa seja sobre um fractal. alguns preços de abertura e fechamento em 4 períodos.
Em um fractal! Eu tentei com um stop loss - está perdendo, eu gostaria de tentar com stops em fractais, mas não sei como escrevê-lo no estado. Ou como escrevê-lo em um EA, eu escrevi uma condição de entrada, algo como isto
if(iOpen(NULL,PERIOD_H1,1)<iClose(NULL,PERIOD_H1,1)&&
iOpen(NULL,PERIOD_M30,1)<iClose(NULL,PERIOD_M30,1)&&
iOpen(NULL,PERIOD_M15,1)<iClose(NULL,PERIOD_M15,1)&&
iOpen(NULL,PERÍODO_M5,1)<iClose(NULL,PERÍODO_M5,1)
{...???
}
Para testar a estratégia, é mais fácil para você encontrar uma função de trailing stop por fractais e incluí-la em sua EA. Ou você mesmo pode escrevê-lo.
A função irá mover a parada de cada posição aberta para o conjunto fractal necessário nos ajustes. E então, com base nos resultados dos testes, já podemos pensar na conveniência de usar ou esta rede de arrasto, ou fechamento de posições de mercado quando o preço atingir o nível fractal. Nenhuma delas é uma coisa fácil de se fazer.
A função padrão iFractals() o ajudará. Ele retorna o preço pelo qual o fractal é encontrado, como especificado nos parâmetros da função.
ajuda por favor, meu indicador mede o movimento máximo de minutos para a hora atual em um período de uma hora, as primeiras 6 horas (barras) ele mede tudo adequadamente, e então inicia alguns valores ilegais vêm abaixo do próprio código e do indicador, me diga onde errei, embora eu não me importe com valores além de 3 barras, mas temo que erros possam ocorrer na primeira barra
acho que posso ter alguns erros no primeiro bar.ajuda por favor, meu indicador mede o movimento máximo de minutos para a hora atual em um período de uma hora, as primeiras 6 horas (barras) ele mede tudo adequadamente, e então inicia alguns valores ilegais vêm abaixo do próprio código e do indicador, me diga onde errei, embora eu não me importe com valores além de 3 barras, mas temo que erros possam ocorrer na primeira barra
eu tinha originalmente um indicador diferente, desmontei-o e "soldei" meu códigoO que você queria obter?
Vinin:
O que você queria obter?
Quero que o indicador mostre o valor máximo de iOpen-iClose entre as barras de minutos, mas para HOUR, por exemplo para uma hora de 59 barras de minutos iOpen-iClose = 3 (por exemplo) e uma barra de um minuto iOpen-iClose = 10 e em um período de uma hora, ele deve mostrar 10 sem nenhum desvio e preciso que o indicador feche as ordens, se de repente, mais de um minuto for muito rápido na direção errada, então o conselheiro será um sinal para fechar
Esta é a primeira versão da mesma e mais tarde quero que ela seja capaz de detectar para que lado o preço está indo.
Se você clicar em um objeto gráfico, por exemplo, uma Linha Horizontal, você pode ver uma "Descrição" na janela que se abre.
- É possível acrescentar uma "Descrição" a partir do código?
Obrigado!
Se você clicar em um objeto gráfico, por exemplo, uma Linha Horizontal, você pode ver uma "Descrição" na janela que se abre.
- É possível acrescentar uma "Descrição" a partir do código?
Obrigado!
h ttps://docs.mql4.com/ru/objects/ObjectSetText
Exatamente o que eu precisava! Obrigado!
LazarevDenis
A contagem inicial é de 59 barras, o que é incorreto. Pode haver lacunas em minutos, e a barra da última hora pode conter menos minutos.
Você deve pegar o horário de abertura e fechamento da barra de horas (Tempo[i]). Use este tempo para calcular os offsets para minutos iBarShift, e depois calcule o máximo dentro desta faixa de offsets.
A propósito, o que o indicador deve mostrar em um período de minutos?
Se o número é positivo o preço sobe, se o número é negativo - para baixo, devolvendo o número modulo mostrará a força do movimento.