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
Eu o implementei com OnTimer() e nada saiu dele. Infelizmente o evento onTimer() não calcula o indicador e o atraso é salvo, talvez uma declaração alta e eu tenha feito algo errado, por favor, corrija. Obrigado!
O que você tem feito não é uma implementação através do OnTimer(). Você só recebe valores lá (toda a história, e a cada segundo, sem nenhum controle). Em geral, é improvável que você seja capaz de implementá-lo sozinho. Aguardar resposta do autor da filial:)
Eu o implementei com OnTimer() e nada saiu dele. Infelizmente o evento onTimer() não calcula o indicador e o atraso é salvo, talvez uma declaração alta e eu tenha feito algo errado, por favor, corrija. Obrigado!
//| TestCopyBuffer3.mq5 |
//| Copyright 2009, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots 1
//---- plot MA
#property indicator_label1 "MA"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrRed
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
//--- input parameters
bool AsSeries=true;
int period=15;
input ENUM_TIMEFRAMES TimeFrame=PERIOD_CURRENT; //Период графика
ENUM_MA_METHOD smootMode=MODE_EMA;
ENUM_APPLIED_PRICE price=PRICE_CLOSE;
int shift=0;
//--- indicator buffers
double MABuffer[];
int ma_handle;
int to_copy;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
SetIndexBuffer(0,MABuffer,INDICATOR_DATA);
Print("Параметр AsSeries = ",AsSeries);
Print("Индикаторный буфер после SetIndexBuffer() является таймсерией = ",
ArrayGetAsSeries(MABuffer));
//--- set short indicator name
IndicatorSetString(INDICATOR_SHORTNAME,"MA("+period+")"+AsSeries);
//--- set AsSeries (depends on input parameter)
ArraySetAsSeries(MABuffer,AsSeries);
Print("Индикаторный буфер после ArraySetAsSeries(MABuffer,true); является таймсерией = ",
ArrayGetAsSeries(MABuffer));
//---
ma_handle=iMA(Symbol(),TimeFrame,period,shift,smootMode,price);
EventSetTimer(1);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//--- check if all data calculated
if(BarsCalculated(ma_handle)<rates_total) return(0);
//--- we can copy not all data
//int to_copy;
if(prev_calculated>rates_total || prev_calculated<=0) to_copy=rates_total;
else
{
to_copy=rates_total-prev_calculated;
//--- last value is always copied
to_copy++;
}
//--- try to copy
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()
{
//---
CopyBuffer(ma_handle,0,0,to_copy,MABuffer);
Print("Таймер");
}
//+------------------------------------------------------------------+
Presumo que isso significamover tudo naOnCalculate para aOnTimer
A fim de reescrevê-lo, todos os indicadores a serem incluídos também devem estar abaixo de mql5
Boa tarde. Estou no indicador Delta_RSI, tenho-o constantemente desenhando (ver captura de tela) histo em ambos os sentidos ao mesmo tempo (procurar por erro). E é possível colorir a cor sem sinal para acima/abaixo do zero. Você será capaz de ver(corrigir)? Obrigado.
descreva o que você faz para quebrá-lo ))))
gráfico, TF, seqüência, etc.
descreva o que você faz para quebrá-lo ))))
gráfico, TF, seqüência, etc.