Скачать MetaTrader 5

Рисование квадрата или прямоугольника. Очень нужна помощь... - страница 8

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Alex_Profit
53
Alex_Profit  
evillive:

Я дал пример работающего скрипта, туда надо добавить отрисовку стрелок и трендовых, да переделать под Н4, вместо месяца. Стоит лишь отойти от концепции индикатора, да взглянуть на проблему под другим углом.

Эта строка была взята из скрипта. Скрипт очень полезный. Спасибо.

Трендовая линия строится на весь период но по прямой. А нужно от хай да хай.  "Забор" тобиш.

        ObjectCreate    (0,Name_Obj + " V_Line" + DoubleToStr(i,0), OBJ_TREND, 0, t_Line, mqlRates[0].high, t_Line,mqlRates[0].low);
Alex_Profit
53
Alex_Profit  
AlexeyVik:

Именночтение справки помогает изучить язык программирования. А потом, есличто-то из этой справки не понятно можно задавать вопросы.

А как можно подсказывать человеку который вообще не читал документацию и не имеет представления где должно находиться SetIndexStyle(0, DRAW_SECTION); и вставляет это в OnCalculate с недоумением

Нет опыта, от этого и глупые ошибки.

Как говорит Кийосаки. Сначала совершите ошибку, а потом проанализируйте её. Что бы понять что было сделано не так. 

Vitalie Postolache
12380
Vitalie Postolache  
Alex_Profit:

Эта строка была взята из скрипта. Скрипт очень полезный. Спасибо.

Трендовая линия строится на весь период но по прямой. А нужно от хай да хай.  "Забор" тобиш.

 

Думай, башка, дам пирожка )))

Вот по  OBJ_TREND и справку нужно читать, как там и что. Какая линия должна получиться, если время по обеим точкам одно и то же?

И нет, это не мой скрипт. 

Alex_Profit
53
Alex_Profit  
evillive:

Вот по  OBJ_TREND и справку нужно читать, как там и что. Какая линия должна получиться, если время по обеим точкам одно и то же?

Прямая соответственно.

Я не понимаю как найти 2ю точку привязки.  Куда её вставить это тоже понятно. 

Alex_Profit
53
Alex_Profit  

И на том спасибо. Помогли очень хорошо. Жалко только, что не смог разобраться до конца, осталось то самая малость.

В любом случае спасибо за отзывчивость. Побольше профитов и хороших выходных.

Alex_Profit
53
Alex_Profit  

Всем доброго дня. Прошу помощи у специалистов. Есть такой код. 

Подскажите что нужно подправить, что бы трендовая линия рисовалась по максимумам дневного ТФ. 

Ну очень надо. Помогите пожалуйста. 

 

#property indicator_chart_window
#property strict
extern int   limit = 30;
extern bool  Sho_bars = true;
string txt = "TRADE_";
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
int deinit()
  {
   GetDellName (txt);
   Comment("");
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limits;
   int counted_bars=IndicatorCounted();   
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   limits = Bars-counted_bars;        
//----
   if(limits>0)                      
   {
    for(int i=limit; i>=0; i--)
    {
     double   _High      = iHigh(Symbol(), 1440,i);   
     double   _Low       = iLow(Symbol(),  1440,i);   
     double   _Open      = iOpen(Symbol(), 1440,i);   
     double   _Close     = iClose(Symbol(),1440,i);                
     datetime _Time_Open = iTime(Symbol(), 1440,i);      // Открытие бара
     //datetime _start_day = 11*60*60;                   // Начало дня  
     datetime _End_Day   = 1440*60;                      // Конец дня 
       
     string   _Time_Open_txt  = TimeToStr(_Time_Open,TIME_DATE ); // Преобразуем время открытия в строку   
     if(Sho_bars)
      {
       // Функция рисующая объекты на графике
       TrendLineGraff(txt + _Time_Open_txt +" start_day",_Time_Open,_High,_Time_Open,_Low);                      // левая граница     
       TrendLineGraff(txt + _Time_Open_txt +" End_Day",_Time_Open + _End_Day,_High,_Time_Open + _End_Day, _Low); // правая граница           
       TrendLineGraff(txt + _Time_Open_txt +" High",_Time_Open,_High,_Time_Open + _End_Day,_High);               // верхняя граница  
       TrendLineGraff(txt + _Time_Open_txt +" Low",_Time_Open,_Low,_Time_Open + _End_Day,_Low);                  // нижняя граница      
       
       TrendLineGraff(txt + _Time_Open_txt + " T_Line", _Time_Open, _Open, _Time_Open + _End_Day, _Close);
      }          
   }
 }  
   return(0);
  }
//+------------------------------------------------------------------+
//| Функция отображения трендовой линии                              |
//+------------------------------------------------------------------+
 void TrendLineGraff(string labebe,datetime time1,double price1,datetime time2,double price2)
  {
   if (ObjectFind(labebe)!=-1) ObjectDelete(labebe);
   ObjectCreate(labebe, OBJ_TREND, 0,time1,price1,time2,price2);
   ObjectSet(labebe, OBJPROP_COLOR,clrDarkOrchid);
   ObjectSet(labebe, OBJPROP_STYLE,0);
   ObjectSet(labebe, OBJPROP_RAY,0);
   ObjectSet(labebe, OBJPROP_BACK, true);
  }
//+------------------------------------------------------------------+
//| Функция удаляет объекты                                          |
//+------------------------------------------------------------------+

 void GetDellName (string name_n = "ytg_")
  {
   string vName;
   for(int i=ObjectsTotal()-1; i>=0;i--)
    {
     vName = ObjectName(i);
     if (StringFind(vName,name_n) !=-1) ObjectDelete(vName);
    }  
  }
//+------------------------------------------------------------------+
Vitalie Postolache
12380
Vitalie Postolache  
Alex_Profit:

Всем доброго дня. Прошу помощи у специалистов. Есть такой код. 

Подскажите что нужно подправить, что бы трендовая линия рисовалась по максимумам дневного ТФ. 

Ну очень надо. Помогите пожалуйста.  

Когда идёт работа с данными чужого ТФ, то и бары надо считать с того ТФ. Но урок не впрок...

iBars()!!!

И вместо цикла удаления объектов, можно присвоить всем объектам уникальный префикс (в данном случае это "TRADE_") и удaлять их в деините функцией ObjectsDeleteAll() все разом. 

Вот это вот: datetime _End_Day   = 1440*60;   // Конец дня - нифига не "Конец дня", это через два месяца ))) И оно вообще не нужно, значение "конца дня", так как это начало дня следующего и индикатор и так линию туда прорисует.

Alex_Profit
53
Alex_Profit  
evillive:

Когда идёт работа с данными чужого ТФ, то и бары надо считать с того ТФ. Но урок не впрок...

iBars()!!! 

Вы уж меня извините. Но до меня всё ровно не доходит. Можно просто исправить в коде?

И в качестве примера заодно. На примерах то оно всегда полегче.

Ну очень надо. Спасибо. 

12345678
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий