что то я пропустил - что вышла новая версия терминала ?
открыл счёт у нового брокера и на реальном счёте, уже новый терминал - да ещё связь, прерывается через каждых пять минут.
--------------------------
а ещё индикатор всегда работал и все свои горизонтальные линии рисовал в нужном окне, теперь полная неразбериха
что то я пропустил - что вышла новая версия терминала ?
открыл счёт у нового брокера и на реальном счёте, уже новый терминал - да ещё связь, прерывается через каждых пять минут.
--------------------------
а ещё индикатор всегда работал и все свои горизонтальные линии рисовал в нужном окне, теперь полная неразбериха
сейчас у другого брокера установил бета версию 2489
в нормальной версии горизонтальные линии рисовалась в положенных для них подокон, в этой бета - теперь полная неразбериха
может кто подскажет - два одинаковых терминала один билд . и один из них, через каждых пять минут, восстанавливает связь ?
( Терминалы от разных брокеров)
может кто подскажет - два одинаковых терминала один билд . и один из них, через каждых пять минут, восстанавливает связь ?
( Терминалы от разных брокеров)
Терминалы от разных брокеров цепляются к разным серверам котировок. Какой-то глючит. Поменяй сервер в нижнем правом углу на другой для этого же брокера.
И зачем надо было ставить Бету. У них и релизы то последнее время перевыпускают каждые 2-3 дня.
сейчас у другого брокера установил бета версию 2489
в нормальной версии горизонтальные линии рисовалась в положенных для них подокон, в этой бета - теперь полная неразбериха
Уже говорилось про "сферических коней в вакууме", и что их разбирать никто не будет. Вы на техническом форуме. Код отрисовки горизонтальных линий ваш где?
Терминалы от разных брокеров цепляются к разным серверам котировок. Какой-то глючит. Поменяй сервер в нижнем правом углу на другой ждя этого же брокера.
Спасибо! сейчас буду пробовать. (сначала попробую выключить один из них )
Уже говорилось про "сферических коней в вакууме", и что их разбирать никто не будет. Вы на техническом форуме. Код отрисовки горизонтальных линий ваш где?
что уже можно обсуждать бету версию???
---------------------------------------------
Когда устанавливаю Индикатор вручную всё отлично - а вот когда через утилиту ,как шаблоном графика с Индикаторами, не в бета всё нормально а в бета не нормально
что уже можно обсуждать бету версию???
---------------------------------------------
Когда устанавливаю Индикатор вручную всё отлично - а вот когда через утилиту ,как шаблоном графика с Индикаторами, не в бета всё нормально а в бета не нормально
Бета-версию нужно обсуждать и давать код для воспроизведения замеченных ошибок.
---------------------------------------------
Опять кони сферические...
Терминалы от разных брокеров цепляются к разным серверам котировок. Какой-то глючит. Поменяй сервер в нижнем правом углу на другой для этого же брокера.
И зачем надо было ставить Бету. У них и релизы то последнее время перевыпускают каждые 2-3 дня.
Бета-версию нужно обсуждать и давать код для воспроизведения замеченных ошибок.
---------------------------------------------
Опять кони сферические...
вот сам код - отлично работает . только когда сохраняем график в шаблон в месте с ним, а после с помощью утилиты устанавливаем шаблон - горизонтальные линии не становятся в подокно а становятся на основной график 0
//+------------------------------------------------------------------+ //| H_A Lin_S_W.mq5 | //| Heiken Ashi Separate Window.mq5 | //| Copyright © 2020, Vladimir Karputov | //| https://www.mql5.com/ru/market/product/43516 | //+------------------------------------------------------------------+ #property copyright "Copyright © 2020, Vladimir Karputov" #property link "https://www.mql5.com/ru/market/product/43516" //--- indicator settings #property indicator_separate_window #property indicator_buffers 7 #property indicator_plots 1 #property indicator_type1 DRAW_COLOR_CANDLES #property indicator_color1 clrDodgerBlue, clrRed #property indicator_label1 "Heiken Ashi Open;Heiken Ashi High;Heiken Ashi Low;Heiken Ashi Close" //+----------------------------------------------+ //| Входные параметры индикатора | //+----------------------------------------------+ input string InpFont4 = "RU1"; // Obj:Name input string InpFont3 = "SU1"; // Obj:Name input string InpFont2 = "RU2"; // Obj:Name input string InpFont1 = "SU2"; // Obj:Name bool AttachSundToMond = true; // Attach the sunday bars to monday //--- indicator buffers double OpenBuffer[]; double HighBuffer[]; double LowBuffer[]; double CloseBuffer[]; double ColorBuffer[]; //--- double BufHigh[]; double BufLow[]; double T; double R1; double S1; datetime TimeShift; datetime m_prev_bars = 0; // "0" -> D'1970.01.01 00:00'; bool Redr; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void OnInit() { fObjHLine(InpFont3,0,InpFont3,1,clrCoral,1,STYLE_DASHDOTDOT,0,true,false,false,OBJ_ALL_PERIODS); fObjHLine(InpFont4,0,InpFont4,1,clrLimeGreen,1,STYLE_DASHDOTDOT,0,true,false,false,OBJ_ALL_PERIODS); //--- CreateHline(0,1,InpFont2,0,clrDodgerBlue,0,0,1,1,1,1,2); CreateHline(0,1,InpFont1,0,clrBlue,0,0,1,1,1,1,2); //--- indicator buffers mapping SetIndexBuffer(0,OpenBuffer,INDICATOR_DATA); SetIndexBuffer(1,HighBuffer,INDICATOR_DATA); SetIndexBuffer(2,LowBuffer,INDICATOR_DATA); SetIndexBuffer(3,CloseBuffer,INDICATOR_DATA); SetIndexBuffer(4,ColorBuffer,INDICATOR_COLOR_INDEX); SetIndexBuffer(5,BufHigh,INDICATOR_CALCULATIONS); SetIndexBuffer(6,BufLow,INDICATOR_CALCULATIONS); //--- IndicatorSetInteger(INDICATOR_DIGITS,Digits()); //--- sets first bar from what index will be drawn IndicatorSetString(INDICATOR_SHORTNAME,"H_A Lin_S_W"); //--- sets drawing line empty value PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0); //--- initialization done } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnDeinit(const int Rason) { ObjectsDeleteAll(0,InpFont2); ObjectsDeleteAll(0,InpFont1); ObjectsDeleteAll(0,InpFont3); ObjectsDeleteAll(0,InpFont4); if(Redr) ChartRedraw(); } //+------------------------------------------------------------------+ //| Heiken Ashi | //+------------------------------------------------------------------+ 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[]) { int i,limit; //--- preliminary calculations if(prev_calculated==0) { //--- set first candle LowBuffer[0]=low[0]; HighBuffer[0]=high[0]; OpenBuffer[0]=open[0]; CloseBuffer[0]=close[0]; limit=1; } else limit=prev_calculated-1; //--- the main loop of calculations for(i=limit; i<rates_total && !IsStopped(); i++) { double haOpen=(OpenBuffer[i-1]+CloseBuffer[i-1])/2; double haClose=(open[i]+high[i]+low[i]+close[i])/4; double haHigh=MathMax(high[i],MathMax(haOpen,haClose)); double haLow=MathMin(low[i],MathMin(haOpen,haClose)); LowBuffer[i]=haLow; HighBuffer[i]=haHigh; OpenBuffer[i]=haOpen; CloseBuffer[i]=haClose; //--- set candle color if(haOpen<haClose) ColorBuffer[i]=0.0; // set color DodgerBlue else ColorBuffer[i]=1.0; // set color Red } //--- if(!ObjectMove(0,InpFont2,0,time[rates_total-1],CloseBuffer[rates_total-1])) return(rates_total); if(!ObjectMove(0,InpFont1,0,time[rates_total-1],OpenBuffer[rates_total-1])) return(rates_total); //--- { static bool error=true; int start; if(prev_calculated==0) { error=true; } if(error) { start=1; error=false; } else { start=prev_calculated-1; } for(int u=start; u<rates_total; u++) { BufHigh[u]=BufHigh[u-1]; BufLow[u]=BufLow[u-1]; datetime NowTime=time[u]-TimeShift; datetime PreTime=time[u-1]-TimeShift; if(NewDay(NowTime,PreTime)) { if(BufHigh[u]!=0) { T=(BufHigh[u]-BufLow[u]); R1=(T*0.55)+close[u-1]; S1=close[u-1]-(T*0.55); BufHigh[u]=high[u]; BufLow[u]=low[u]; } else { BufHigh[u]=MathMax(BufHigh[u],high[u]); BufLow[u]=MathMin(BufLow[u],low[u]); } } datetime tm=time[rates_total-20]; fObjMove(InpFont3,S1,tm); fObjMove(InpFont4,R1,tm); } } if(Redr) ChartRedraw(); //--- we work only at the time of the birth of new bar datetime time_0=iTime(Symbol(),Period(),0); if(time_0==m_prev_bars) return(rates_total); m_prev_bars=time_0; //--- int find_buy_level=ObjectFind(0,InpFont2); int find_sell_level=ObjectFind(0,InpFont1); int find_buy_levelY=ObjectFind(0,InpFont4); int find_sell_levelY=ObjectFind(0,InpFont3); if(find_buy_level==0 || find_buy_levelY==0) { double price=ObjectGetDouble(0,InpFont2,OBJPROP_PRICE); double price1=ObjectGetDouble(0,InpFont1,OBJPROP_PRICE); double price4=ObjectGetDouble(0,InpFont4,OBJPROP_PRICE); if(price1<price && price4<price) { PlaySound("tick.wav"); //--- return(rates_total); } } if(find_sell_level==0 || find_sell_levelY==0) { double price=ObjectGetDouble(0,InpFont2,OBJPROP_PRICE); double price1=ObjectGetDouble(0,InpFont1,OBJPROP_PRICE); double price3=ObjectGetDouble(0,InpFont3,OBJPROP_PRICE); if(price1>price && price3>price) { PlaySound("stops.wav"); //--- return(rates_total); } } if(Redr) ChartRedraw(); //--- done return(rates_total); } //+------------------------------------------------------------------+ //| Создание горизонтального, ценового уровня | //+------------------------------------------------------------------+ bool CreateHline(long ch_id,int sub_window, string name,double price, color clr,ENUM_LINE_STYLE style, int width,bool back, bool selectable,bool selected, bool hidden,long z_order) { ObjectCreate(ch_id,name,OBJ_HLINE,sub_window,0,price); ObjectSetInteger(ch_id,name,OBJPROP_COLOR,clr); ObjectSetInteger(ch_id,name,OBJPROP_STYLE,style); ObjectSetInteger(ch_id,name,OBJPROP_WIDTH,width); ObjectSetInteger(ch_id,name,OBJPROP_BACK,back); ObjectSetInteger(ch_id,name,OBJPROP_SELECTABLE,selectable); ObjectSetInteger(ch_id,name,OBJPROP_SELECTED,selected); ObjectSetInteger(ch_id,name,OBJPROP_HIDDEN,hidden); ObjectSetInteger(ch_id,name,OBJPROP_ZORDER,z_order); return(true); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void fObjHLine(string aObjName, double aPrice, string aText = "HLine", int aWindow = 0, color aColor = Red, color aWidth = 1, color aStyle = 0, int aChartID = 0, bool aBack = true, bool aSelectable = true, bool aSelected = false, long aTimeFrames = OBJ_ALL_PERIODS ) { ObjectCreate(aChartID,aObjName,OBJ_HLINE,aWindow,0,aPrice); ObjectSetInteger(aChartID,aObjName,OBJPROP_BACK,aBack); ObjectSetInteger(aChartID,aObjName,OBJPROP_COLOR,aColor); ObjectSetInteger(aChartID,aObjName,OBJPROP_SELECTABLE,aSelectable); ObjectSetInteger(aChartID,aObjName,OBJPROP_SELECTED,aSelected); ObjectSetInteger(aChartID,aObjName,OBJPROP_TIMEFRAMES,aTimeFrames); ObjectSetString(aChartID,aObjName,OBJPROP_TEXT,aText); ObjectSetInteger(aChartID,aObjName,OBJPROP_WIDTH,aWidth); ObjectSetInteger(aChartID,aObjName,OBJPROP_STYLE,aStyle); ObjectMove(aChartID,aObjName,0,0,aPrice); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void fObjMove(string aObjName, double aPrice, datetime aTime ) { ObjectMove(0,aObjName,0,0,aPrice); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool NewDay(datetime aNowTime,datetime aPreTime) { long NowDay=aNowTime/86400; long PreDay=aPreTime/86400; if(AttachSundToMond) { if(NowDay!=PreDay) { MqlDateTime nts,pts; TimeToStruct(aNowTime,nts); TimeToStruct(aPreTime,pts); if(nts.day_of_week==1 && pts.day_of_week==0) { return(false); } return(true); } } else { return(NowDay!=PreDay); } return(false); } //+------------------------------------------------------------------+

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования