[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 615
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Então, ao invés de PERIOD_M1, etc., você pode simplesmente colocar um número inteiro correspondente ao período? Especificamente, ao invés de iOpen(NULL,PERÍODO_M1,1, pode iOpen(NULL,1,1 ?
Sim, você acertou.
Quase lá. Obrigado!
O que você quer dizer com "quase"? Não precisamos disso, queremos sucesso absoluto :)
O que é um bom conselheiro?
Quem imprime sua própria massa e traz café para a cama...
E sempre aconselha ...
Sob o Presidente de Toda a Rússia... DDD
A EA auto-escrita é a melhor (se você puder fazer dessa maneira)
Rapazes, por favor, me digam como extrair valores dia_max, dia_min de um indicador. É claro que o iCustom, mas como? Isto é, a coruja tem um indicador deste tipo inserido nele.
aqui está o cabeçalho...
#property copyright "DOC"
#property link "none"
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Green
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double day_max;
double day_min;
Rapazes, por favor, me digam como extrair valores dia_max, dia_min de um indicador. É claro que o iCustom, mas como? Isto é, a coruja tem um indicador deste tipo inserido nele.
Aqui está o cabeçalho...
#property copyright "DOC"
#property link "none"
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Green
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double day_max;
double day_min;
Por que se preocupar em retirá-los, quando seria muito mais fácil calcular no EA.
Ainda mais porque você só pode tomar buffers indicadores do indicador
E por que retirá-las quando é mais fácil calculá-las na EA.
Especialmente porque você só pode pegar os amortecedores de indicador do indicador
Bem, pelo menos mostre os amortecedores indicadores... :( Eu só estou confuso neste momento, se no quadro procurar o máximo/minuto do dia anterior. Isto é, no meu indicador é fácil - por isso, loop, mas minha coruja fica presa...+ problema com a contagem da barra atual (porque posso usar a coruja a qualquer momento) até a última barra do dia anterior (para calcular os máximos). Talvez você possa me dizer como chegar da barra atual à última barra do dia anterior? pelo menos a fórmula durante 30 min, ou seja, quero ver o algoritmo...
Bem, pelo menos mostre os amortecedores indicadores ...:( Acabei de ficar perplexo no momento, se o conselho de prescrever uma busca por max/min do dia anterior. Isto é, no meu indicador é fácil - por isso, loop, mas minha coruja fica presa...+ problema com a contagem desde a barra atual (porque a coruja pode ser acionada a qualquer momento) até a última barra do dia anterior (para calcular os máximos). Talvez você possa me dizer como chegar da barra atual à última barra do dia anterior? pelo menos a fórmula durante 30 min, ou seja, quero ver o algoritmo...
iHigh(NULL, PERÍODO_D1,1) - a alta de ontem
iLow(NULL, PERÍODO_D1,1) - o mínimo de ontem
iOpen(NULL, PERÍODO_D1,1) - a abertura de ontem
iClose(NULL, PERÍODO_D1,1) - o fechamento de ontem
Vinina:
iHigh(NULL, PERÍODO_D1,1) - a alta de ontem
iLow(NULL, PERÍODO_D1,1) - o baixo de ontem
iOpen(NULL, PERÍODO_D1,1) - a abertura de ontem
iClose(NULL, PERÍODO_D1,1) - fechamento de ontem
Peço desculpas pela minha falta de exatidão em relação aos meus pedidos... O resultado final é que o cálculo sobre os altos de diferentes prazos é diferente, isto é compreensível, por isso fiz o seguinte (necessário para uma estratégia de negociação em diferentes prazos):
double ExtMapBuffer1[];
double day_max;
......
int start()
{
int counted_bars = IndicatorCounted();
int limit;
//---- последний посчитанный бар будет пересчитан
if((counted_bars > 0))
counted_bars--;
limit = Bars - counted_bars;
//---- основной цикл
for(int i = 1; i < limit; i++)
{int k,z,t,b,l,n;
k=TimeHour(Time[i]);
z=TimeMinute(Time[i]);
t=Period();
if (t==60){b=24; //значение b определяет количество баров для дня на таймфрейме.
l=24*Period()*60; //l используется для доп. значений, тут не актуально
}
if (t==30){b=48;
l=48*Period()*60;
}
....
....
if (Close[iHighest(NULL,0,MODE_CLOSE,b,i)]> Open[iHighest(NULL,0,MODE_OPEN,b,i)])
{
ExtMapBuffer1[i] = Close[iHighest(NULL,0,MODE_CLOSE,b,i)];
day_max=Close[iHighest(NULL,0,MODE_CLOSE,b,i)];//сделал для того, что значение ExtMapBuffer1[i] при выводе на экран почему-то 0, тогда как day_max показыает правильно...
..... //тут графика
}
else if (Close[iHighest(NULL,0,MODE_CLOSE,b,i)]<= Open[iHighest(NULL,0,MODE_OPEN,b,i)])
{ExtMapBuffer1[i] = Open[iHighest(NULL,0,MODE_OPEN,b,i)];
day_max= Open[iHighest(NULL,0,MODE_OPEN,b,i)];
//опять графика
}
....}