Новые сообщения · Участники · Правила форума · Поиск · RSS · Вход · Регистрация ·

Страница 11 из 18«129101112131718»
Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Доработка советника.
Доработка советника.

expforexДата: Понедельник, 02.11.2015, 11:03 | Сообщение # 101
Главный Администартор
Группа: Администраторы
Сообщений: 8960
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

у Вас уровни задаются в советнике:
extern double Hi              =0;//Максимальный High канала
extern double Lo               =0;//Максимальный Low канала

если нужно привязать к линии на графике
Hi              = ObjectGetDouble(0,"up",OBJPROP_PRICE1);



Программирование на заказ || Наши Разработки

 
Сообщениеу Вас уровни задаются в советнике:
extern double Hi              =0;//Максимальный High канала
extern double Lo               =0;//Максимальный Low канала

если нужно привязать к линии на графике
Hi              = ObjectGetDouble(0,"up",OBJPROP_PRICE1);

Автор - expforex
Дата добавления - 02.11.2015 в 11:03

Иван1946Дата: Понедельник, 02.11.2015, 11:18 | Сообщение # 102
Трейдер - Лейтенант
Группа: Пользователи
Сообщений: 76
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Цитата expforex ()
у Вас уровни задаются в советнике:extern double Hi              =0;//Максимальный High канала
extern double Lo               =0;//Максимальный Low канала

если нужно привязать к линии на графике
Hi              = ObjectGetDouble(0,"up",OBJPROP_PRICE1);


Не работает. Не правильно вставил?

Прикрепления: Flatter_V1-2-.zip(1Kb)
 
Сообщение
Цитата expforex ()
у Вас уровни задаются в советнике:extern double Hi              =0;//Максимальный High канала
extern double Lo               =0;//Максимальный Low канала

если нужно привязать к линии на графике
Hi              = ObjectGetDouble(0,"up",OBJPROP_PRICE1);


Не работает. Не правильно вставил?

Автор - Иван1946
Дата добавления - 02.11.2015 в 11:18

expforexДата: Понедельник, 02.11.2015, 11:37 | Сообщение # 103
Главный Администартор
Группа: Администраторы
Сообщений: 8960
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

вставлять то нужно не внешние переменные, а в старте например

int start(){
  Hi              =ObjectGetDouble(0,"up",OBJPROP_PRICE1);//Максимальный High канала
 Lo               =ObjectGetDouble(0,"dw",OBJPROP_PRICE1);//Максимальный Low канала

Прикрепления: Flatter_V1.mq4(4Kb)


Программирование на заказ || Наши Разработки

 
Сообщениевставлять то нужно не внешние переменные, а в старте например

int start(){
  Hi              =ObjectGetDouble(0,"up",OBJPROP_PRICE1);//Максимальный High канала
 Lo               =ObjectGetDouble(0,"dw",OBJPROP_PRICE1);//Максимальный Low канала

Автор - expforex
Дата добавления - 02.11.2015 в 11:37

Иван1946Дата: Понедельник, 02.11.2015, 11:54 | Сообщение # 104
Трейдер - Лейтенант
Группа: Пользователи
Сообщений: 76
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Цитата expforex ()
вставлять то нужно не внешние переменные, а в старте напримерint start(){
Hi              =ObjectGetDouble(0,"up",OBJPROP_PRICE1);//Максимальный High канала
Lo               =ObjectGetDouble(0,"dw",OBJPROP_PRICE1);//Максимальный Low канала

Прикрепления: Flatter_V1.mq4(4Kb)
Большое Спасибо! Всё работает. Извините за наглость, просто хочется сделать всё сразу, что бы больше вас не доставать. Можно сюда добавить второй тейкпрофит, что бы на каждую линию (т.е. ордер от линии) был свой  тейкпрофит?



Сообщение отредактировал Иван1946 - Понедельник, 02.11.2015, 13:58
 
Сообщение
Цитата expforex ()
вставлять то нужно не внешние переменные, а в старте напримерint start(){
Hi              =ObjectGetDouble(0,"up",OBJPROP_PRICE1);//Максимальный High канала
Lo               =ObjectGetDouble(0,"dw",OBJPROP_PRICE1);//Максимальный Low канала

Прикрепления: Flatter_V1.mq4(4Kb)
Большое Спасибо! Всё работает. Извините за наглость, просто хочется сделать всё сразу, что бы больше вас не доставать. Можно сюда добавить второй тейкпрофит, что бы на каждую линию (т.е. ордер от линии) был свой  тейкпрофит?

Автор - Иван1946
Дата добавления - 02.11.2015 в 11:54

expforexДата: Вторник, 03.11.2015, 10:14 | Сообщение # 105
Главный Администартор
Группа: Администраторы
Сообщений: 8960
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

можно конечно,  но ВЫ же обращаетесь что бы Я Вас научил это делать а не делал это за Вас? поэтому давайте Ваши примеры а я покажу ошибку



Программирование на заказ || Наши Разработки

 
Сообщениеможно конечно,  но ВЫ же обращаетесь что бы Я Вас научил это делать а не делал это за Вас? поэтому давайте Ваши примеры а я покажу ошибку

Автор - expforex
Дата добавления - 03.11.2015 в 10:14

Иван1946Дата: Вторник, 03.11.2015, 13:03 | Сообщение # 106
Трейдер - Лейтенант
Группа: Пользователи
Сообщений: 76
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Цитата expforex ()
можно конечно,  но ВЫ же обращаетесь что бы Я Вас научил это делать а не делал это за Вас? поэтому давайте Ваши примеры а я покажу ошибку
Здравствуйте! Я думаю это для меня сложно, может просто вставите, а я попробую потом вставить это в советник 1698536.rar(50Kb). Спасибо!



Сообщение отредактировал Иван1946 - Вторник, 03.11.2015, 13:04
 
Сообщение
Цитата expforex ()
можно конечно,  но ВЫ же обращаетесь что бы Я Вас научил это делать а не делал это за Вас? поэтому давайте Ваши примеры а я покажу ошибку
Здравствуйте! Я думаю это для меня сложно, может просто вставите, а я попробую потом вставить это в советник 1698536.rar(50Kb). Спасибо!

Автор - Иван1946
Дата добавления - 03.11.2015 в 13:03

Иван1946Дата: Вторник, 10.11.2015, 13:00 | Сообщение # 107
Трейдер - Лейтенант
Группа: Пользователи
Сообщений: 76
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Здравствуйте!Добавьте пожалуйста в индикатор изменяемый отступ от линий "up" и "dw" в виде пунктирных линий. Алерт на них не нужен.  Спасибо!

Прикрепления: vr-alert-1-.zip(12Kb)


Сообщение отредактировал Иван1946 - Среда, 11.11.2015, 08:17
 
СообщениеЗдравствуйте!Добавьте пожалуйста в индикатор изменяемый отступ от линий "up" и "dw" в виде пунктирных линий. Алерт на них не нужен.  Спасибо!

Автор - Иван1946
Дата добавления - 10.11.2015 в 13:00

Иван1946Дата: Среда, 18.11.2015, 09:13 | Сообщение # 108
Трейдер - Лейтенант
Группа: Пользователи
Сообщений: 76
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Цитата Иван1946 ()
Здравствуйте!Добавьте пожалуйста в индикатор изменяемый отступ от линий "up" и "dw" в виде пунктирных линий. Алерт на них не нужен.  Спасибо!
Здравствуйте! Попробовал сделать сам - это всё что пришло в голову. Помогите пожалуйста. Спасибо!
Код
//====================================================================//
//|                    |//
//====================================================================//
#property copyright "Copyright 2013, www.trading-go.ru Project."
#property link      "http://www.trading-go.ru"
#property version   "2.00"
#property description "Индикатор отрисовывает три уровня  верхний , нижний, и временной."
#property description "Уровни редактируются на графике в ручном режиме."
#property description "В случае пересечения уровней ценой, терминал выводит сообщение на экран, и издает звуковой сигнал (Alert)."

#property description "Indicator draws three levels of upper, lower, and the time."
#property description "Levels are edited on the chart manually."
#property description "In the case of the level-crossing costs, terminal displays a message on screen and beep (Alert)."
//====================================================================//
//|                    |//
//====================================================================//
#property strict
#property indicator_chart_window
//====================================================================//
//|                    |//
//====================================================================//
enum fn{Off,On};
extern fn    LinesUR = true   ;  // Включение горизонтальных уровней
extern fn    LinesTM = false   ;  // Включение уровня времени
extern int    Otstup           =0;
extern int   widch   = 2      ;  // Ширина линий
extern color LineUP  = clrYellowGreen;  // Цвет верхнего уровня
extern color LineUP-Otstup  = clrYellowGreen;
extern color LineDW  = BurlyWood ;  // Цвет Нижнего  уровня
extern color LineDW+Otstup  = BurlyWood ;
extern color LineTM  = clrBlue; // Цвет уровня времени
extern int   intervalSEK=3600   ;  // Интервал звукового сигнала в секундах
//====================================================================//
//|                    |//
//====================================================================//
datetime tim=0; string typ="";
//====================================================================//
//|                    |//
//====================================================================//
int OnInit()
{
Comment("");
return(INIT_SUCCEEDED);
}
//====================================================================//
//|                    |//
//====================================================================//
void deinit()
{
ObjectDelete("up");
ObjectDelete("dw");
ObjectDelete("up-Otstup");
ObjectDelete("dw+Otstup");
ObjectDelete("tm");
}
//====================================================================//
//|                    |//
//====================================================================//
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[])
{
if (WindowExpertName()!="vr---alert"){Comment("Not the correct name of the system VR---ALERT");return 0;}
if(LinesUR==true)
{
if(ObjectFind("up")==-1)
{
ObjectCreate("up",OBJ_HLINE,0,0,Close[1]+NormalizeDouble(300*Point,Digits));
ObjectSet("up",OBJPROP_WIDTH,widch);
ObjectSet("up",OBJPROP_COLOR,LineUP);
}
if(ObjectFind("dw")==-1)
{
ObjectCreate("dw",OBJ_HLINE,0,0,Close[1]-NormalizeDouble(300*Point,Digits));
ObjectSet("dw",OBJPROP_WIDTH,widch);
ObjectSet("dw",OBJPROP_COLOR,LineDW);
}
}
if(LinesTM==true)
{
if(ObjectFind("tm")==-1)
{
ObjectCreate("tm",OBJ_VLINE,0,Time[0]+Period()*60*5,0);
ObjectSet("tm",OBJPROP_WIDTH,widch);
ObjectSet("tm",OBJPROP_COLOR,LineTM);
}
}
if(Ask>ObjectGet("up",OBJPROP_PRICE1) && ObjectFind("up")==0)
{
typ=StringConcatenate(Symbol(),"   ","Цена выше заданного уровня !!! ",DoubleToStr(Ask,_Digits));
alert(typ);
}
if(Bid<ObjectGet("dw",OBJPROP_PRICE1) && ObjectFind("dw")==0)
{
typ=StringConcatenate(Symbol(),"   ","Цена ниже заданного уровня !!! ",DoubleToStr(Bid,_Digits));
alert(typ);
}
if(TimeCurrent()>=ObjectGet("tm",OBJPROP_TIME1) && ObjectFind("tm")==0)
{
typ=StringConcatenate(Symbol(),"   ","Текущее время больше заданного !!!");
alert(typ);
}
return 0;
}
//====================================================================//
//|                    |//
//====================================================================//
void alert(string txt)
{
if(TimeCurrent()>(tim+intervalSEK))
{
tim=TimeCurrent();
Alert(txt);
}
}
//====================================================================//
//|                    |//
//====================================================================//

 
Сообщение
Цитата Иван1946 ()
Здравствуйте!Добавьте пожалуйста в индикатор изменяемый отступ от линий "up" и "dw" в виде пунктирных линий. Алерт на них не нужен.  Спасибо!
Здравствуйте! Попробовал сделать сам - это всё что пришло в голову. Помогите пожалуйста. Спасибо!
Код
//====================================================================//
//|                    |//
//====================================================================//
#property copyright "Copyright 2013, www.trading-go.ru Project."
#property link      "http://www.trading-go.ru"
#property version   "2.00"
#property description "Индикатор отрисовывает три уровня  верхний , нижний, и временной."
#property description "Уровни редактируются на графике в ручном режиме."
#property description "В случае пересечения уровней ценой, терминал выводит сообщение на экран, и издает звуковой сигнал (Alert)."

#property description "Indicator draws three levels of upper, lower, and the time."
#property description "Levels are edited on the chart manually."
#property description "In the case of the level-crossing costs, terminal displays a message on screen and beep (Alert)."
//====================================================================//
//|                    |//
//====================================================================//
#property strict
#property indicator_chart_window
//====================================================================//
//|                    |//
//====================================================================//
enum fn{Off,On};
extern fn    LinesUR = true   ;  // Включение горизонтальных уровней
extern fn    LinesTM = false   ;  // Включение уровня времени
extern int    Otstup           =0;
extern int   widch   = 2      ;  // Ширина линий
extern color LineUP  = clrYellowGreen;  // Цвет верхнего уровня
extern color LineUP-Otstup  = clrYellowGreen;
extern color LineDW  = BurlyWood ;  // Цвет Нижнего  уровня
extern color LineDW+Otstup  = BurlyWood ;
extern color LineTM  = clrBlue; // Цвет уровня времени
extern int   intervalSEK=3600   ;  // Интервал звукового сигнала в секундах
//====================================================================//
//|                    |//
//====================================================================//
datetime tim=0; string typ="";
//====================================================================//
//|                    |//
//====================================================================//
int OnInit()
{
Comment("");
return(INIT_SUCCEEDED);
}
//====================================================================//
//|                    |//
//====================================================================//
void deinit()
{
ObjectDelete("up");
ObjectDelete("dw");
ObjectDelete("up-Otstup");
ObjectDelete("dw+Otstup");
ObjectDelete("tm");
}
//====================================================================//
//|                    |//
//====================================================================//
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[])
{
if (WindowExpertName()!="vr---alert"){Comment("Not the correct name of the system VR---ALERT");return 0;}
if(LinesUR==true)
{
if(ObjectFind("up")==-1)
{
ObjectCreate("up",OBJ_HLINE,0,0,Close[1]+NormalizeDouble(300*Point,Digits));
ObjectSet("up",OBJPROP_WIDTH,widch);
ObjectSet("up",OBJPROP_COLOR,LineUP);
}
if(ObjectFind("dw")==-1)
{
ObjectCreate("dw",OBJ_HLINE,0,0,Close[1]-NormalizeDouble(300*Point,Digits));
ObjectSet("dw",OBJPROP_WIDTH,widch);
ObjectSet("dw",OBJPROP_COLOR,LineDW);
}
}
if(LinesTM==true)
{
if(ObjectFind("tm")==-1)
{
ObjectCreate("tm",OBJ_VLINE,0,Time[0]+Period()*60*5,0);
ObjectSet("tm",OBJPROP_WIDTH,widch);
ObjectSet("tm",OBJPROP_COLOR,LineTM);
}
}
if(Ask>ObjectGet("up",OBJPROP_PRICE1) && ObjectFind("up")==0)
{
typ=StringConcatenate(Symbol(),"   ","Цена выше заданного уровня !!! ",DoubleToStr(Ask,_Digits));
alert(typ);
}
if(Bid<ObjectGet("dw",OBJPROP_PRICE1) && ObjectFind("dw")==0)
{
typ=StringConcatenate(Symbol(),"   ","Цена ниже заданного уровня !!! ",DoubleToStr(Bid,_Digits));
alert(typ);
}
if(TimeCurrent()>=ObjectGet("tm",OBJPROP_TIME1) && ObjectFind("tm")==0)
{
typ=StringConcatenate(Symbol(),"   ","Текущее время больше заданного !!!");
alert(typ);
}
return 0;
}
//====================================================================//
//|                    |//
//====================================================================//
void alert(string txt)
{
if(TimeCurrent()>(tim+intervalSEK))
{
tim=TimeCurrent();
Alert(txt);
}
}
//====================================================================//
//|                    |//
//====================================================================//

Автор - Иван1946
Дата добавления - 18.11.2015 в 09:13

expforexДата: Среда, 18.11.2015, 11:31 | Сообщение # 109
Главный Администартор
Группа: Администраторы
Сообщений: 8960
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

приветствую, 
сделал пример:

Код
#property copyright "Copyright 2013, www.trading-go.ru Project."
#property link      "http://www.trading-go.ru"
#property version   "2.00"
#property description "Индикатор отрисовывает три уровня  верхний , нижний, и временной."
#property description "Уровни редактируются на графике в ручном режиме."
#property description "В случае пересечения уровней ценой, терминал выводит сообщение на экран, и издает звуковой сигнал (Alert)."

#property description "Indicator draws three levels of upper, lower, and the time."
#property description "Levels are edited on the chart manually."
#property description "In the case of the level-crossing costs, terminal displays a message on screen and beep (Alert)."
//====================================================================//
//====================================================================// 
#property strict
#property indicator_chart_window

enum fn{Off,On};
extern fn    LinesUR=true;  // Включение горизонтальных уровней
extern fn    LinesTM=false;  // Включение уровня времени
extern int    Otstup=0;
extern int   widch=2;  // Ширина линий
extern color LineUP=clrYellowGreen;  // Цвет верхнего уровня
extern color LineUPOtstup=clrYellowGreen;
extern color LineDW=BurlyWood;  // Цвет Нижнего  уровня
extern color LineDWOtstup=BurlyWood;
extern color LineTM  = clrBlue; // Цвет уровня времени
extern int   intervalSEK=3600;  // Интервал звукового сигнала в секундах
datetime tim=0; string typ="";
//+------------------------------------------------------------------+
//|                    |
//+------------------------------------------------------------------+
int OnInit()
  {
   Comment("");
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                    |
//+------------------------------------------------------------------+
void deinit()
  {
   ObjectDelete("up");
   ObjectDelete("dw");
   ObjectDelete("upOtstup");
   ObjectDelete("dwOtstup");
   ObjectDelete("tm");
  }
//+------------------------------------------------------------------+
//|                    |
//+------------------------------------------------------------------+
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[])
  {
   if(LinesUR==true)
     {
      if(ObjectFind("up")==-1)
        {
         ObjectCreate("up",OBJ_HLINE,0,0,Close[1]+NormalizeDouble(300*Point,Digits));
         ObjectSet("up",OBJPROP_WIDTH,widch);
         ObjectSet("up",OBJPROP_COLOR,LineUP);
        }
      if(ObjectFind("dw")==-1)
        {
         ObjectCreate("dw",OBJ_HLINE,0,0,Close[1]-NormalizeDouble(300*Point,Digits));
         ObjectSet("dw",OBJPROP_WIDTH,widch);
         ObjectSet("dw",OBJPROP_COLOR,LineDW);
        }
        
         if(ObjectFind("upOtstup")==-1 && Otstup!=0)
        {
         ObjectCreate("upOtstup",OBJ_HLINE,0,0,Close[1]+NormalizeDouble(300*Point,Digits)-Otstup*Point);
         ObjectSet("upOtstup",OBJPROP_COLOR,LineUP);
         ObjectSet("upOtstup",OBJPROP_STYLE,STYLE_DOT);
        }
      if(ObjectFind("dwOtstup")==-1 && Otstup!=0)
        {
         ObjectCreate("dwOtstup",OBJ_HLINE,0,0,Close[1]-NormalizeDouble(300*Point,Digits)+Otstup*Point);
         ObjectSet("dwOtstup",OBJPROP_COLOR,LineDW);
           ObjectSet("dwOtstup",OBJPROP_STYLE,STYLE_DOT);
      }
             
        
     }
   if(LinesTM==true)
     {
      if(ObjectFind("tm")==-1)
        {
         ObjectCreate("tm",OBJ_VLINE,0,Time[0]+Period()*60*5,0);
         ObjectSet("tm",OBJPROP_WIDTH,widch);
         ObjectSet("tm",OBJPROP_COLOR,LineTM);
        }
     }
   if(Ask>ObjectGet("up",OBJPROP_PRICE1) && ObjectFind("up")==0)
     {
      typ=StringConcatenate(Symbol(),"   ","Цена выше заданного уровня !!! ",DoubleToStr(Ask,_Digits));
      alert(typ);
     }
   if(Bid<ObjectGet("dw",OBJPROP_PRICE1) && ObjectFind("dw")==0)
     {
      typ=StringConcatenate(Symbol(),"   ","Цена ниже заданного уровня !!! ",DoubleToStr(Bid,_Digits));
      alert(typ);
     }
   if(TimeCurrent()>=ObjectGet("tm",OBJPROP_TIME1) && ObjectFind("tm")==0)
     {
      typ=StringConcatenate(Symbol(),"   ","Текущее время больше заданного !!!");
      alert(typ);
     }
   return 0;
  }
//+------------------------------------------------------------------+
//|                    |
//+------------------------------------------------------------------+
void alert(string txt)
  {
   if(TimeCurrent()>(tim+intervalSEK))
     {
      tim=TimeCurrent();
      Alert(txt);
     }
  }
//+------------------------------------------------------------------+


Прикрепления: example.mq4(11Kb) · 7883442.jpg(90Kb)


Программирование на заказ || Наши Разработки

 
Сообщениеприветствую, 
сделал пример:
Код
#property copyright "Copyright 2013, www.trading-go.ru Project."
#property link      "http://www.trading-go.ru"
#property version   "2.00"
#property description "Индикатор отрисовывает три уровня  верхний , нижний, и временной."
#property description "Уровни редактируются на графике в ручном режиме."
#property description "В случае пересечения уровней ценой, терминал выводит сообщение на экран, и издает звуковой сигнал (Alert)."

#property description "Indicator draws three levels of upper, lower, and the time."
#property description "Levels are edited on the chart manually."
#property description "In the case of the level-crossing costs, terminal displays a message on screen and beep (Alert)."
//====================================================================//
//====================================================================// 
#property strict
#property indicator_chart_window

enum fn{Off,On};
extern fn    LinesUR=true;  // Включение горизонтальных уровней
extern fn    LinesTM=false;  // Включение уровня времени
extern int    Otstup=0;
extern int   widch=2;  // Ширина линий
extern color LineUP=clrYellowGreen;  // Цвет верхнего уровня
extern color LineUPOtstup=clrYellowGreen;
extern color LineDW=BurlyWood;  // Цвет Нижнего  уровня
extern color LineDWOtstup=BurlyWood;
extern color LineTM  = clrBlue; // Цвет уровня времени
extern int   intervalSEK=3600;  // Интервал звукового сигнала в секундах
datetime tim=0; string typ="";
//+------------------------------------------------------------------+
//|                    |
//+------------------------------------------------------------------+
int OnInit()
  {
   Comment("");
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                    |
//+------------------------------------------------------------------+
void deinit()
  {
   ObjectDelete("up");
   ObjectDelete("dw");
   ObjectDelete("upOtstup");
   ObjectDelete("dwOtstup");
   ObjectDelete("tm");
  }
//+------------------------------------------------------------------+
//|                    |
//+------------------------------------------------------------------+
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[])
  {
   if(LinesUR==true)
     {
      if(ObjectFind("up")==-1)
        {
         ObjectCreate("up",OBJ_HLINE,0,0,Close[1]+NormalizeDouble(300*Point,Digits));
         ObjectSet("up",OBJPROP_WIDTH,widch);
         ObjectSet("up",OBJPROP_COLOR,LineUP);
        }
      if(ObjectFind("dw")==-1)
        {
         ObjectCreate("dw",OBJ_HLINE,0,0,Close[1]-NormalizeDouble(300*Point,Digits));
         ObjectSet("dw",OBJPROP_WIDTH,widch);
         ObjectSet("dw",OBJPROP_COLOR,LineDW);
        }
        
         if(ObjectFind("upOtstup")==-1 && Otstup!=0)
        {
         ObjectCreate("upOtstup",OBJ_HLINE,0,0,Close[1]+NormalizeDouble(300*Point,Digits)-Otstup*Point);
         ObjectSet("upOtstup",OBJPROP_COLOR,LineUP);
         ObjectSet("upOtstup",OBJPROP_STYLE,STYLE_DOT);
        }
      if(ObjectFind("dwOtstup")==-1 && Otstup!=0)
        {
         ObjectCreate("dwOtstup",OBJ_HLINE,0,0,Close[1]-NormalizeDouble(300*Point,Digits)+Otstup*Point);
         ObjectSet("dwOtstup",OBJPROP_COLOR,LineDW);
           ObjectSet("dwOtstup",OBJPROP_STYLE,STYLE_DOT);
      }
             
        
     }
   if(LinesTM==true)
     {
      if(ObjectFind("tm")==-1)
        {
         ObjectCreate("tm",OBJ_VLINE,0,Time[0]+Period()*60*5,0);
         ObjectSet("tm",OBJPROP_WIDTH,widch);
         ObjectSet("tm",OBJPROP_COLOR,LineTM);
        }
     }
   if(Ask>ObjectGet("up",OBJPROP_PRICE1) && ObjectFind("up")==0)
     {
      typ=StringConcatenate(Symbol(),"   ","Цена выше заданного уровня !!! ",DoubleToStr(Ask,_Digits));
      alert(typ);
     }
   if(Bid<ObjectGet("dw",OBJPROP_PRICE1) && ObjectFind("dw")==0)
     {
      typ=StringConcatenate(Symbol(),"   ","Цена ниже заданного уровня !!! ",DoubleToStr(Bid,_Digits));
      alert(typ);
     }
   if(TimeCurrent()>=ObjectGet("tm",OBJPROP_TIME1) && ObjectFind("tm")==0)
     {
      typ=StringConcatenate(Symbol(),"   ","Текущее время больше заданного !!!");
      alert(typ);
     }
   return 0;
  }
//+------------------------------------------------------------------+
//|                    |
//+------------------------------------------------------------------+
void alert(string txt)
  {
   if(TimeCurrent()>(tim+intervalSEK))
     {
      tim=TimeCurrent();
      Alert(txt);
     }
  }
//+------------------------------------------------------------------+



Автор - expforex
Дата добавления - 18.11.2015 в 11:31

Иван1946Дата: Среда, 18.11.2015, 12:07 | Сообщение # 110
Трейдер - Лейтенант
Группа: Пользователи
Сообщений: 76
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Цитата expforex ()
приветствую, сделал пример:
Надо, что бы линии отступа перемещались вместе с линиями "up" и "dw".

 
Сообщение
Цитата expforex ()
приветствую, сделал пример:
Надо, что бы линии отступа перемещались вместе с линиями "up" и "dw".

Автор - Иван1946
Дата добавления - 18.11.2015 в 12:07
Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Доработка советника.
Страница 11 из 18«129101112131718»
Поиск:


WebMoney Яндекс цитирования.