E, em geral, está a ignorar a ajuda. Estou fora do diálogo. Dei-lhe todos os dados para que o código funcionasse correctamente, mas não o quer ouvir, por isso faz as coisas à sua maneira. É uma pena a época.
Artyom Trishkin: De qualquer forma, está a ignorar a ajuda. Estou fora do diálogo. Dei-vos todos os dados para o código funcionar correctamente, mas não querem ouvi-lo, e fazem as coisas à vossa maneira. É uma pena a época.
Obrigado pela vossa atenção e tempo.... Acho que ainda não descobri... Sobre as rodas e o motor concordo.
Provavelmente vou desistir da mão e calcular a média iClose para o período médio.
Obrigado pela vossa atenção e tempo.... Acho que ainda não descobri... Sobre as rodas e o motor concordo.
Provavelmente vou desistir da mão e calcular a média iClose para o período médio.
//+------------------------------------------------------------------+//| TestMA.mq5 |//| Copyright 2018, MetaQuotes Software Corp. |//| https://mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2018, MetaQuotes Software Corp."#property link"https://mql5.com"#property version"1.00"#property description"Выводит данные скользящей средней с заданного таймфрейма на любом текущем"#property indicator_chart_window#property indicator_buffers1#property indicator_plots1//--- plot LWMA#property indicator_label1"MA"#property indicator_type1DRAW_LINE#property indicator_color1clrBlue#property indicator_style1STYLE_SOLID#property indicator_width11//--- input parametersinputuint InpPeriod = 14; // MA periodinputint InpShift = 0; // MA shiftinputENUM_MA_METHOD InpMethod = MODE_SMA; // MA methodinputENUM_APPLIED_PRICE InpApplierPrice = PRICE_CLOSE; // MA applied priceinputENUM_TIMEFRAMES InpTimeframe = PERIOD_H1; // LRMA timeframe//--- indicator buffersdouble BufferMA[];
//--- global variables//ENUM_TIMEFRAMES timeframe1;int period_ma;
int shift_ma;
int handle_ma;
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- timerEventSetTimer(90);
//--- set global variables
period_ma=int(InpPeriod<1 ? 1 : InpPeriod);
shift_ma=InpShift;
//timeframe1=(InpTimeframe>Period() ? InpTimeframe : Period());//--- indicator buffers mappingSetIndexBuffer(0,BufferMA,INDICATOR_DATA);
//--- setting indicator parametersIndicatorSetString(INDICATOR_SHORTNAME,"Any TF MA on current");
IndicatorSetInteger(INDICATOR_DIGITS,Digits());
//--- setting plot buffer parametersstring label=TimeframeToString(InpTimeframe)+" "+MethodToString(InpMethod)+"("+(string)period_ma+")";
PlotIndexSetString(0,PLOT_LABEL,label);
//--- setting buffer arrays as timeseriesArraySetAsSeries(BufferMA,true);
//--- create handlesResetLastError();
handle_ma=iMA(NULL,InpTimeframe,period_ma,shift_ma,InpMethod,InpApplierPrice);
if(handle_ma==INVALID_HANDLE)
{
Print("The ",TimeframeToString(InpTimeframe)," iMA(",(string)period_ma,") object was not created: Error ",GetLastError());
returnINIT_FAILED;
}
//--- get timeframeTime(NULL,InpTimeframe,1);
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//--- Проверка количества доступных баровif(rates_total<fmax(period_ma,4)) return0;
//--- Проверка и расчёт количества просчитываемых баровint limit=rates_total-prev_calculated;
if(limit>1)
{
limit=rates_total-1;
ArrayInitialize(BufferMA,EMPTY_VALUE);
}
//--- Подготовка данныхif(Time(NULL,InpTimeframe,1)==0)
return0;
int bars=(InpTimeframe==PERIOD_CURRENT ? rates_total : Bars(NULL,InpTimeframe));
int count=(limit>1 ? fmin(bars,rates_total) : 1),copied=0;
copied=CopyBuffer(handle_ma,0,0,count,BufferMA);
Comment(TimeframeToString(InpTimeframe)," ",MethodToString(InpMethod),": copied=",copied,", count=",count,", bars=",bars,", rates_total=",rates_total);
if(copied!=count) return0;
//--- Расчёт индикатора//for(int i=limit; i>=0 && !IsStopped(); i--)// {// // }//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+//| Custom indicator timer function |//+------------------------------------------------------------------+voidOnTimer()
{
Time(NULL,InpTimeframe,1);
}
//+------------------------------------------------------------------+//| Возвращает Time |//+------------------------------------------------------------------+datetimeTime(conststring symbol_name,constENUM_TIMEFRAMES timeframe,constint shift)
{
datetime array[];
ArraySetAsSeries(array,true);
return(CopyTime(symbol_name,timeframe,shift,1,array)==1 ? array[0] : 0);
}
//+------------------------------------------------------------------+//| Возвращает наименование таймфрейма |//+------------------------------------------------------------------+string TimeframeToString(constENUM_TIMEFRAMES timeframe)
{
returnStringSubstr(EnumToString(timeframe),7);
}
//+------------------------------------------------------------------+//| Возвращает наименование метода МА |//+------------------------------------------------------------------+string MethodToString(ENUM_MA_METHOD method)
{
returnStringSubstr(EnumToString(method),5);
}
//+------------------------------------------------------------------+
Removido tudo o que era desnecessário.
Não se esqueça que não há carraças no fim-de-semana e a linha só será produzida ao mesmo tempo - trabalhando uma e a outra nas definições.
Se o executar num período de tempo diferente do especificado nas definições, então sem carraças no fim-de-semana, é necessário actualizar forçosamente o gráfico com o botão direito do rato: Actualizar, para que a linha seja desenhada.
Não esquecer que não há ticks no fim-de-semana e a linha será exibida apenas nos prazos correspondentes - o que funciona e o que está nas definições.
Se o executar num período de tempo diferente do especificado nas definições, então sem carraças no fim-de-semana, é necessário actualizar forçosamente o gráfico com o botão direito do rato: Actualizar, para que a linha seja desenhada.
Obrigado muitas vezes!!1 Tenho andado a brincar o dia todo.... os meus olhos estão cosidos. Mais uma vez obrigado
Boa tarde a todos. Perante o problema da descoordenação temporal, por favor ajude a resolvê-lo. Tentando compreender porque é que as encomendas estão atrasadas, estou a registar informação de depuração na minha EA, é absolutamente correcto, pode vê-la na imagem do ecrã. Noto que a hora da mensagem é 4,5 horas a mais do que a hora de início das barras (TF=M30) e é este atraso que faz com que as encomendas se atrasem. Ou seja, de acordo com a informação de depuração, vejo que a condição para entrar no mercado foi cumprida, por exemplo, a hora no bar é 10:00 mas a encomenda é colocada no bar com a hora 14:30. Esta é a primeira vez que me deparo com uma tal situação. O que fazer?
por agora
outro período de tempo (não nativo)
De qualquer forma, está a ignorar a ajuda. Estou fora do diálogo. Dei-vos todos os dados para o código funcionar correctamente, mas não querem ouvi-lo, e fazem as coisas à vossa maneira. É uma pena a época.
Obrigado pela vossa atenção e tempo.... Acho que ainda não descobri... Sobre as rodas e o motor concordo.
Provavelmente vou desistir da mão e calcular a média iClose para o período médio.
Obrigado pela vossa atenção e tempo.... Acho que ainda não descobri... Sobre as rodas e o motor concordo.
Provavelmente vou desistir da mão e calcular a média iClose para o período médio.
Removido tudo o que era desnecessário.
Não se esqueça que não há carraças no fim-de-semana e a linha só será produzida ao mesmo tempo - trabalhando uma e a outra nas definições.
Se o executar num período de tempo diferente do especificado nas definições, então sem carraças no fim-de-semana, é necessário actualizar forçosamente o gráfico com o botão direito do rato: Actualizar, para que a linha seja desenhada.
Removido tudo o que era desnecessário.
Não esquecer que não há ticks no fim-de-semana e a linha será exibida apenas nos prazos correspondentes - o que funciona e o que está nas definições.
Se o executar num período de tempo diferente do especificado nas definições, então sem carraças no fim-de-semana, é necessário actualizar forçosamente o gráfico com o botão direito do rato: Actualizar, para que a linha seja desenhada.
Boa tarde, a todos.
Perante o problema da descoordenação temporal, por favor ajude a resolvê-lo.
Tentando compreender porque é que as encomendas estão atrasadas, estou a registar informação de depuração na minha EA, é absolutamente correcto, pode vê-la na imagem do ecrã. Noto que a hora da mensagem é 4,5 horas a mais do que a hora de início das barras (TF=M30) e é este atraso que faz com que as encomendas se atrasem. Ou seja, de acordo com a informação de depuração, vejo que a condição para entrar no mercado foi cumprida, por exemplo, a hora no bar é 10:00 mas a encomenda é colocada no bar com a hora 14:30. Esta é a primeira vez que me deparo com uma tal situação. O que fazer?
Encontrado o código de parada de arrasto no youtube, como pode ser utilizado?
Encontrado o código de parada de arrasto no youtube, como pode ser utilizado?
Esta rede de arrasto é apenas para compra e é mal implementada, não pode ser utilizada.
esta rede de arrasto é apenas para compra e é mal implementada, não pode ser utilizada.