А зачем лишняя нагрузка на процессор? Есть тик → проверили новый ли бар. Нет тика → сидим на заборе, курим бамбук… Ведь новый бар любого ТФ наступает одновременно с новым баром минутного ТФ. Если появился новый часовой бар, то обязательно появился и минутный бар.
Хотел научится использовать платформу МТ4, но никак не могу открыть ни в одной конторе демо-счёт через терминал
Даже на этом сервере не получается, пробовал и неделю назад - никак.
далее продвижения нет
Если нв предыдущем шаге сервер выбрали правильно, то грохните всё кроме terminal.exe и metaeditor.exe и после запуска терминала всё восстановится без проблемы.
Ну если хотите я открою для вас счёт в MQ-Demo и скину пароли в личку.
Ну вот пока писал ответ поступила от вас просьба. Сейчас скину.
Кто не жадный, откройте пожалуйста счёт на сервере
и скиньте в личку данные доступа - очень нужно.
Вообще, нужна любая демка МТ4, на которой STOPLEVEL равен НЕ "0" = чем больше - тем лучше, с суммой $2000,
Спасибо!
в мкудемо в 4ке счет открываю в мобильном и потом переношу на комп счет. С компа тоже почему то не получается. Кста почему обновились почти все демки на альпах альфа, и других, возможно не открывал 2 недели, но обычно новые счета не появлялись, а тут открыл, и везде 10к везде и новые счета.))) С наступившим!!!
в мкудемо в 4ке счет открываю в мобильном и потом переношу на комп счет. С компа тоже почему то не получается. Кста почему обновились почти все демки на альпах альфа, и других, возможно не открывал 2 недели, но обычно новые счета не появлялись, а тут открыл, и везде 10к везде и новые счета.))) С наступившим!!!
Вообще нигде не могу открыть, пробовал неделю назад - трабл.
Добрый день! Возник вопрос к програмистам mql5. В моем индикаторе я отображаю фракталы и буфер для окраски свечей. Но фракталы не графике не появляются, если удалить код окраски свечей, то все прекрасно работает. Подскажите, в чем проблема.
код:
//--- номер версии индикатора#property version"1.00"//---- отрисовка индикатора в главном окне#property indicator_chart_window//---- для расчета и отрисовки индикатора использовано два буфера#property indicator_buffers11//---- использовано всего два графических построения#property indicator_plots3//+----------------------------------------------+//| Параметры отрисовки верхнего индикатора |//+----------------------------------------------+//---- отрисовка индикатора 1 в виде символа#property indicator_type1DRAW_ARROW//---- в качестве цвета медвежьей линии индикатора использован цвет Magenta#property indicator_color1 Magenta
//---- толщина линии индикатора 1 равна 1#property indicator_width11//---- отображение бычей метки индикатора#property indicator_label1"Up Fractal"//+----------------------------------------------+//| Параметры отрисовки нижнего индикатора |//+----------------------------------------------+//---- отрисовка индикатора 2 в виде символа#property indicator_type2DRAW_ARROW//---- в качестве цвета бычьей линии индикатора использован цвет Blue#property indicator_color2 Blue
//---- толщина линии индикатора 2 равна 1#property indicator_width21//---- отображение медвежьей метки индикатора#property indicator_label2"Down Fractal"#property indicator_type3DRAW_COLOR_BARS#property indicator_color3clrDarkGray,clrSandyBrown,clrDeepSkyBlue//+----------------------------------------------+//| Входные параметры индикатора |//+----------------------------------------------+inputbool Fine=true; // Чувствительностьinputbool FlatShift=true; // Сдвигinputuint AlertCount=0; // Количество алертовinputint UpLable=217; // Метка верхнего фракталаinputint DnLable=218; // Метка нижнего фрактала//--- input parameters//inputint inpCmoPeriod = 20; // CMO periodinputint inpCmoSignalPeriod = 9; // CMO signal period////--- buffers and global variables declarations//double cmo[],cmoc[],dslup[],dsldn[],baro[],barh[],barl[],barc[],barcl[];
//+----------------------------------------------+//---- объявление динамических массивов, которые в дальнейшем//---- будут использованы в качестве индикаторных буферовdouble SellBuffer[];
double BuyBuffer[];
//----int StartBars;
int FRA_Handle;
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---- инициализация глобальных переменных
StartBars=6;
//---- получение хендла индикатора ATR
FRA_Handle=iFractals(NULL,0);
if(FRA_Handle==INVALID_HANDLE)
{
Print(" Не удалось получить хендл индикатора iFractals");
return(1);
}
//---- превращение динамического массива в индикаторный буферSetIndexBuffer(0,SellBuffer,INDICATOR_DATA);
//---- осуществление сдвига начала отсчета отрисовки индикатора 1PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,StartBars);
//---- создание метки для отображения в DataWindowPlotIndexSetString(0,PLOT_LABEL,"Up Fractal");
//---- символ для индикатораPlotIndexSetInteger(0,PLOT_ARROW,UpLable);
//---- индексация элементов в буфере, как в таймсерииArraySetAsSeries(SellBuffer,true);
//---- запрет на отрисовку индикатором пустых значенийPlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE);
//---- превращение динамического массива в индикаторный буферSetIndexBuffer(1,BuyBuffer,INDICATOR_DATA);
//---- осуществление сдвига начала отсчета отрисовки индикатора 2PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,StartBars);
//---- создание метки для отображения в DataWindowPlotIndexSetString(1,PLOT_LABEL,"Down Fractal");
//---- символ для индикатораPlotIndexSetInteger(1,PLOT_ARROW,DnLable);
//---- индексация элементов в буфере, как в таймсерииArraySetAsSeries(BuyBuffer,true);
//---- запрет на отрисовку индикатором пустых значенийPlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE);
//---- установка формата точности отображения индикатораIndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//---- имя для окон данных и метка для подоконstring short_name="Fine Fractals";
IndicatorSetString(INDICATOR_SHORTNAME,short_name);
//--- indicator buffers mappingSetIndexBuffer(0,baro,INDICATOR_DATA);
SetIndexBuffer(1,barh,INDICATOR_DATA);
SetIndexBuffer(2,barl,INDICATOR_DATA);
SetIndexBuffer(3,barc,INDICATOR_DATA);
SetIndexBuffer(4,barcl,INDICATOR_COLOR_INDEX);
SetIndexBuffer(5,dslup,INDICATOR_CALCULATIONS);
SetIndexBuffer(6,dsldn,INDICATOR_CALCULATIONS);
SetIndexBuffer(7,cmo,INDICATOR_CALCULATIONS);
SetIndexBuffer(8,cmoc,INDICATOR_CALCULATIONS);
//----return(0);
}
//+------------------------------------------------------------------+//| 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(Bars(_Symbol,_Period)<rates_total) return(prev_calculated);
staticint prevDisplayType=-1;int currDisplayType=(int)ChartGetInteger(0,CHART_MODE);
if(currDisplayType!=prevDisplayType)
{
PlotIndexSetInteger(0,PLOT_DRAW_TYPE,currDisplayType==CHART_CANDLES?DRAW_COLOR_CANDLES:DRAW_COLOR_BARS);
prevDisplayType=currDisplayType;
}
double _alpha=2.0/(1+inpCmoSignalPeriod);
int i=(int)MathMax(prev_calculated-1,0); for(; i<rates_total && !_StopFlag; i++)
{
double SumUp=0;
double SumDn=0;
for(int k=0; k<inpCmoPeriod && (i-k-1)>=0; k++)
{
double diff=close[i-k]-close[i-k-1];
SumUp += diff>0 ? diff : 0;
SumDn += diff<0 ? -diff : 0;
}
cmo[i]=(SumUp+SumDn)!=0 ? 100 *(SumUp-SumDn)/(SumUp+SumDn) : 0;
dslup[i] = (i>0) ? (cmo[i]>0) ? dslup[i-1]+_alpha*(cmo[i]-dslup[i-1]) : dslup[i-1] : 0;
dsldn[i] = (i>0) ? (cmo[i]<0) ? dsldn[i-1]+_alpha*(cmo[i]-dsldn[i-1]) : dsldn[i-1] : 0;
cmoc[i] = (cmo[i] > dslup[i]) ? 2 : (cmo[i] < dsldn[i]) ? 1 : 0;
////---//
barh[i] = high[i];
barl[i] = low[i];
barc[i] = close[i];
baro[i] = open[i];
barcl[i] = cmoc[i];
}
}
//---- проверка количества баров на достаточность для расчетаif(BarsCalculated(FRA_Handle)<rates_total || rates_total<StartBars) return(0);
//---- объявления локальных переменныхint to_copy,limit;
double HP1,HP2,HP3,HPi,LP1,LP2,LP3,LPi,res,UpFractal[],DnFractal[];
staticuint UpCount,DnCount;
//---- расчеты необходимого количества копируемых данных//---- и стартового номера limit для цикла пересчета баровif(prev_calculated>rates_total || prev_calculated<=0)// проверка на первый старт расчета индикатора
{
to_copy=rates_total; // расчетное количество всех копируемых данных
limit=rates_total-StartBars-1; // стартовый номер для расчета всех баров
}
else
{
to_copy=rates_total-prev_calculated+5; // расчетное количество только новых копируемых данных
limit=rates_total-prev_calculated+2; // стартовый номер для расчета новых баров
}
//---- копируем вновь появившиеся данные в массивы UpFractal и DnFractalif(CopyBuffer(FRA_Handle,0,0,to_copy,UpFractal)<=0) return(0);
if(CopyBuffer(FRA_Handle,1,0,to_copy,DnFractal)<=0) return(0);
//---- индексация элементов в массивах, как в таймсериях ArraySetAsSeries(high,true);
ArraySetAsSeries(low,true);
ArraySetAsSeries(UpFractal,true);
ArraySetAsSeries(DnFractal,true);
//---- основной цикл расчета индикатораfor(int bar=2; bar<=limit && !IsStopped(); bar++)
{
HP1=high[bar+1];
HP2=high[bar];
HP3=high[bar-1];
HPi=high[bar-2];
LP1=low[bar+1];
LP2=low[bar];
LP3=low[bar-1];
LPi=low[bar-2];
res=UpFractal[bar];
if(res==0.0 && Fine)//повышенная чувствительностьif(HP1<HP2 && HP2>HP3 && (LP2>=LP3 || HP2>HPi)) res=HP2;
if(FlatShift && res!=0.0) while(high[bar]==high[bar+1]) bar++;
SellBuffer[bar]=res;
res=DnFractal[bar];
if(res==0.0 && Fine)//повышенная чувствительностьif(LP1>LP2 && LP2<LP3 && (HP2<=HP3 || LP2<LPi)) res=LP2;
if(FlatShift && res!=0.0) while(low[bar]==low[bar+1]) bar++;
BuyBuffer[bar]=res;
}
//---- сброс счетчиков алертов в нулиif(rates_total!=prev_calculated)
{
UpCount=0;
DnCount=0;
}
res=SellBuffer[2];
//---- подача алерта для верхнего фракталаif(UpCount<AlertCount && res!=EMPTY_VALUE && res!=0.0)
{
UpCount++;
Alert("Новый верхний фрактал "+DoubleToString(res,_Digits));
}
res=BuyBuffer[2];
//---- подача алерта для верхнего фракталаif(DnCount<AlertCount && res!=EMPTY_VALUE && res!=0.0)
{
DnCount++;
Alert("Новый нижний фрактал "+DoubleToString(res,_Digits));
}
//---- return(rates_total);
}
Свойства программ (#property) - Препроцессор - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Вообще нигде не могу открыть, пробовал неделю назад - трабл.
Ранее всё было без проблем
Сейчас на альпах так, висит почти 2 часа
--
Если что, фамилия польская :)
Хех, на нотике 32 бита в 4ке тоже не удается открыть счет с терминала. На телефоне открыл, но на нотике счет не логинится. пишет старая версия. Версия 1380 от 24 марта 2023.
А 5ка на 32 битах работает версия 2361 от 8 марта 2020 года))) сервер метаквот-демо.
ЗЫ завел 4ку, на нотике нашелся еще один файл терминала, который обновился до версии 4 от 10 ноября 2023 билд 1400
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Как он будет работать когда нет новых свечей?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Alexey Viktorov, 2024.01.02 22:17
Я думаю лучше делать не по таймеру, а функцию нового бара указанного ТФ.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Alexey Viktorov, 2024.01.03 11:46
А зачем лишняя нагрузка на процессор? Есть тик → проверили новый ли бар. Нет тика → сидим на заборе, курим бамбук… Ведь новый бар любого ТФ наступает одновременно с новым баром минутного ТФ. Если появился новый часовой бар, то обязательно появился и минутный бар.
Всем привет!
Хотел научится использовать платформу МТ4, но никак не могу открыть ни в одной конторе демо-счёт через терминал
Даже на этом сервере не получается, пробовал и неделю назад - никак.
далее продвижения нет
Кто не жадный, откройте пожалуйста счёт на сервере
и скиньте в личку данные доступа - очень нужно.
Вообще, нужна любая демка МТ4, на которой STOPLEVEL равен НЕ "0" = чем больше - тем лучше, с суммой $2000,
Спасибо!
Всем привет!
Хотел научится использовать платформу МТ4, но никак не могу открыть ни в одной конторе демо-счёт через терминал
Даже на этом сервере не получается, пробовал и неделю назад - никак.
далее продвижения нет
Если нв предыдущем шаге сервер выбрали правильно, то грохните всё кроме terminal.exe и metaeditor.exe и после запуска терминала всё восстановится без проблемы.
Ну если хотите я открою для вас счёт в MQ-Demo и скину пароли в личку.
Ну вот пока писал ответ поступила от вас просьба. Сейчас скину.
Кто не жадный, откройте пожалуйста счёт на сервере
и скиньте в личку данные доступа - очень нужно.
Вообще, нужна любая демка МТ4, на которой STOPLEVEL равен НЕ "0" = чем больше - тем лучше, с суммой $2000,
Спасибо!
в мкудемо в 4ке счет открываю в мобильном и потом переношу на комп счет. С компа тоже почему то не получается. Кста почему обновились почти все демки на альпах альфа, и других, возможно не открывал 2 недели, но обычно новые счета не появлялись, а тут открыл, и везде 10к везде и новые счета.))) С наступившим!!!
в мкудемо в 4ке счет открываю в мобильном и потом переношу на комп счет. С компа тоже почему то не получается. Кста почему обновились почти все демки на альпах альфа, и других, возможно не открывал 2 недели, но обычно новые счета не появлялись, а тут открыл, и везде 10к везде и новые счета.))) С наступившим!!!
Вообще нигде не могу открыть, пробовал неделю назад - трабл.
Ранее всё было без проблем
Сейчас на альпах так, висит почти 2 часа
--
Если что, фамилия польская :)
Vitaly Muzichenko #:
Ранее всё было без проблем
Сейчас на альпах так, висит почти 2 часа
Похоже, какие-то (используемые в процессе дополнительные) ip недоступны.
код:
Эти две строчки я изменить не могу. Верно?
Вообще нигде не могу открыть, пробовал неделю назад - трабл.
Ранее всё было без проблем
Сейчас на альпах так, висит почти 2 часа
--
Если что, фамилия польская :)
Хех, на нотике 32 бита в 4ке тоже не удается открыть счет с терминала. На телефоне открыл, но на нотике счет не логинится. пишет старая версия. Версия 1380 от 24 марта 2023.
А 5ка на 32 битах работает версия 2361 от 8 марта 2020 года))) сервер метаквот-демо.
ЗЫ завел 4ку, на нотике нашелся еще один файл терминала, который обновился до версии 4 от 10 ноября 2023 билд 1400Кто-нибудь может дать ссылку на код индикатора mq4 c использованием функции OnTime() при создании графического объекта.
С уважением, Вячеслав.