нужна помощь, подскажите что это такое?

 

это код советника? если да то он правильно написан?

и что нужно убрать или добавить что бы он работал как на картинках?
 

 

//+------------------------------------------------------------------+

//|                                                    TrendLine.mq4 |
//|                                                Copyright © 2010. |

//+------------------------------------------------------------------+
#property copyright "Copyright © 2010."
#property link      "http://mql4you.ru"
#include  <MyLib.mqh>
extern int    MaxRisk=2;
extern int    TakeProfit=600;
extern int    StopLoss=30;
extern int    Delta=5;
//+------------------------------------------------------------------+
int init() {return(0);}
//+------------------------------------------------------------------+
int deinit() {Comment("");return(0);}
//+------------------------------------------------------------------+
int start()
{if(DayOfWeek()==0 || DayOfWeek()==6) return(0); // в выходные не работаем
 if(!IsTradeAllowed()) return(0); // пропустим тик если терминал занят
//проверим что есть трендовая линия и она в единственном экземпляре
 if(ObjectsTotal(OBJ_TREND)!=1)
   {Comment("Нарисуйте 1 трендовую линию!");
    return(0);}
//получим ИМЯ трендовой линии
 for(int i=0;i<ObjectsTotal();i++)
   {string name=ObjectName(i);
    if(ObjectType(name)==OBJ_TREND) break;}
//проверим что трендовая линия нарисована правильно (по движению цены)
 datetime t1=ObjectGet(name,OBJPROP_TIME1);
 datetime t2=ObjectGet(name,OBJPROP_TIME2);
 if(t1>t2)
   {Comment("Неправильно нарисована трендовая линия!");
    return(0);}
//продолжим линию (свойство луч)
 ObjectSet(name,OBJPROP_RAY,true);
//определим тренд (вверх или вниз)
 bool trend=false;
 double p1=ObjectGet(name,OBJPROP_PRICE1);
 double p2=ObjectGet(name,OBJPROP_PRICE2);
 if(p1<p2) trend=true;
//определим текущее значение трендовой линии и сообщим ее параметры
 double pr=ObjectGetValueByShift(name,0);
 Comment("Name=",name,"   Trend=",trend,"   Value=",pr);
//подсчитаем кол-во ордеров
 int oBuy=0,oSell=0;
 for(i=OrdersTotal()-1;i>=0;i--)
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
     if(OrderSymbol()==Symbol())
       {if(OrderType()==OP_BUY) oBuy++;
        if(OrderType()==OP_SELL) oSell++;}
//если нет ордеров и цена подошла к трендовой линии - откроем ордер
 double tp=0,sl=0;
 double Lot=GetLot(MaxRisk);
 if(Lot==0.0) {Alert("Недостаточно средств!");return(0);}
 if(oBuy+oSell==0 && trend && Bid>=pr && Bid<=pr+Delta*Point)
   {if(TakeProfit>0) tp=Ask+TakeProfit*Point;
    if(StopLoss>0) sl=Ask-StopLoss*Point;
    NewOrder(OP_BUY,Lot,Ask,tp,sl);}
 if(oBuy+oSell==0 && !trend && Ask<=pr && Ask>=pr-Delta*Point)
   {if(TakeProfit>0) tp=Bid-TakeProfit*Point;
    if(StopLoss>0) sl=Bid+StopLoss*Point;
    NewOrder(OP_SELL,Lot,Bid,tp,sl);}
return(0);}
//+------------------------------------------------------------------+
 
dsv-1993:

это код советника? если да то он правильно написан?

и что нужно убрать или добавить что бы он работал как на картинках?
 

 //+------------------------------------------------------------------+

Единственное что можно понять по картинкам, это реклама стороннего ресурса.
 
dsv-1993:



Картинки с рекламой удалены.

И, пожалуйста, картинки вставляйте в сообщение, а не прикрепляйте. Также код смотрится красиво и читается удобно, если его вставить правильно:

 
Karputov Vladimir:

Картинки с рекламой удалены.

И, пожалуйста, картинки вставляйте в сообщение, а не прикрепляйте. Также код смотрится красиво и читается удобно, если его вставить правильно:

 
Karputov Vladimir:

Картинки с рекламой удалены.

И, пожалуйста, картинки вставляйте в сообщение, а не прикрепляйте. Также код смотрится красиво и читается удобно, если его вставить правильно:

картинки не с рекламой, в смысле правильно вставить? это как? то что на русском языке написано нужно удалить?
 
dsv-1993:
картинки не с рекламой, в смысле правильно вставить? это как? то что на русском языке написано нужно удалить?

Как то Вы очень витиевато спрашиваете... Но ничего, попробую ответить:

  • картинки желательно не прикреплять к сообщению, а вставлять в само сообщение (справка: Форум: как вставить картинку)
  • на картинке (скриншоте) не должно быть рекламы.

 
Karputov Vladimir:

Как то Вы очень витиевато спрашиваете... Но ничего, попробую ответить:

  • картинки желательно не прикреплять к сообщению, а вставлять в само сообщение (справка: Форум: как вставить картинку)
  • на картинке (скриншоте) не должно быть рекламы.

а то есть ссылка сайта на скринах?
 
dsv-1993:

это код советника? если да то он правильно написан?

и что нужно убрать или добавить что бы он работал как на картинках? 

Советник. Покупка если цена выше линии не дальше дельты, продажа если ниже линии не больше дельты. Еще наклон проверяется, для покупки наклон вверх, для продажи вниз. 
 
В принципе даже для тех кто не знает языка mql там в комментарии прямо написано "если нет ордеров и цена подошла к трендовой линии - откроем ордер", что явно указывает на принадлежность к советникам.
 

да, это код советника.

#include  <MyLib.mqh> означает что необходимо подключить библиотеку.  

на сайте http://mql4you.ru/ на уроке 13 автор разбирает написание советника. как раз этого )

кстати,  в уроке 9 разбирают подключение библиотеки. так что, если постараться, можно из этого рабочий простенький советник собрать)  

MQL для тебя
MQL для тебя
  • mql4you.ru
Добрый день, Уважаемые подписчики! Сегодня я публикую очередной урок по пришедшему мне вопросу: Уважаемый Александр. Имеется ли в MQL4 возможность работать с такими графическими объектами MetaTraderа, как трендовые, вертикальные и горизонтальные линии, каналы и т.д., имеющими в среде MetaTrader собственные имена и параметры? Если да — рассажите...