Скачать MetaTrader 5

Надо бы исправить ошибку в примере мат.части: Справочник MQL5 / Торговые функции / HistorySelect

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Устанавливай программы из библиотеки прямо в MetaTrader. Это просто!
Владимир
1402
Владимир 2011.12.12 23:24 

Пример:

void OnStart()
  {
   color BuyColor =clrBlue;
   color SellColor=clrRed;
//--- request trade history
   HistorySelect(0,TimeCurrent());
//--- create objects
   string   name;
   uint     total=HistoryDealsTotal();
   ulong    ticket=0;
   double   price;
   double   profit;
   datetime time;
   string   symbol;
   long     type;
   long     entry;
//--- for all deals
   for(uint i=0;i<total;i++)
     {
      //--- try to get deals ticket
      if((ticket=HistoryDealGetTicket(i))>0)
        {
         //--- get deals properties
         price =HistoryDealGetDouble(ticket,DEAL_PRICE);
         time  =(datetime)HistoryDealGetInteger(ticket,DEAL_TIME);
         symbol=HistoryDealGetString(ticket,DEAL_SYMBOL);
         type  =HistoryDealGetInteger(ticket,DEAL_TYPE);
         entry =HistoryDealGetInteger(ticket,DEAL_ENTRY);
         profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
         //--- only for current symbol
         if(price && time && symbol==Symbol())
           {
            //--- create price object
            name="TradeHistory_Deal_"+string(ticket);
            if(entry) ObjectCreate(0,name,OBJ_ARROW_RIGHT_PRICE,0,time,price,0,0);
            else      ObjectCreate(0,name,OBJ_ARROW_LEFT_PRICE,0,time,price,0,0);
            //--- set object properties
            ObjectSetInteger(0,name,OBJPROP_SELECTABLE,0);
            ObjectSetInteger(0,name,OBJPROP_BACK,0);        
              ObjectSetInteger(0,name,OBJPROP_COLOR,type?BuyColor:SellColor);//????????????????????????????????????????????
            if(profit!=0) ObjectSetString(0,name,OBJPROP_TEXT,"Profit: "+string(profit));
           }
        }
     }
//--- apply on chart
   ChartRedraw();
}

Надо:

            ObjectSetInteger(0,name,OBJPROP_COLOR,type?SellColor:BuyColor);
o_o
Модератор
23695
o_o 2011.12.12 23:42  
VBAG:

Пример:

Надо:

почему?  для сделки Buy - цвет  BuyColor.
Владимир
1402
Владимир 2011.12.13 00:03  
sergeev:
почему?  для сделки Buy - цвет  BuyColor.

Скорее всего потому, что:

POSITION_TYPE_BUY = 0

POSITION_TYPE_SELL= 1

Попробуйте пример на график бросить - всё наоборот получается.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
o_o
Модератор
23695
o_o 2011.12.13 00:33  

да.
Rashid Umarov
Админ
11821
Rashid Umarov 2011.12.13 09:55  

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