Функция MQL5

MQL5 专家

工作已完成

执行时间6 小时
客户反馈
Очень быстро, качественно. Cпасибо за выполненную работу, успехов!
员工反馈
Приятно работать с Иваном. Понятное ТЗ, работу принял быстро. Спасибо за заказ.

指定

Добрый день. Написать функцию: работа с закрытыми сделками.

- найти последнюю закрытую сделку, получить номер бара открытия, номер бара закрытия, определить ее тип (покупка, продажа), далее мой код. Зафиксировать ID или тикет позиции (в mql5  так и не вкурил как правильно), чтобы при следующем вызове обрабатывать следующую закрытую последнюю сделку, обработанные сделки повторно не записывать в файлы.

Тип совершаемых сделок - открыл, через пару баров закрыл.

Нужно максимально быстро.


Нерабочий пример реализации:

void Write_data()

  {

   datetime start_time = StringToTime(TimeToString(TimeCurrent(), TIME_DATE)); 

   if(!Fn_get_trade_history(start_time)){return;}

   int deals = HistoryDealsTotal();

   

   for(int i=0; i < deals; i++)

     {

      ulong deal_ticket = HistoryDealGetTicket(i);

      

      if(deal_ticket > ticket_history)

      {

       ticket_history = deal_ticket;

      

         ENUM_DEAL_ENTRY entry_type = (ENUM_DEAL_ENTRY)HistoryDealGetInteger(deal_ticket,DEAL_ENTRY);

         if(entry_type == DEAL_ENTRY_IN) {time_in = HistoryDealGetInteger(deal_ticket,DEAL_TIME); }

         if(entry_type == DEAL_ENTRY_OUT){time_out = HistoryDealGetInteger(deal_ticket,DEAL_TIME);}

           

         int BarShiftOpen = iBarShift(Symbol(),PERIOD_CURRENT,time_in,false);

         int BarShiftClose = iBarShift(Symbol(),PERIOD_CURRENT,time_out,false);

         

         double Opens = iOpen(Symbol(),PERIOD_CURRENT,BarShiftOpen);

         double Closes = iClose(Symbol(),PERIOD_CURRENT,BarShiftClose);

         


         if((ENUM_DEAL_TYPE)HistoryDealGetInteger(deal_ticket,DEAL_TYPE) == DEAL_TYPE_BUY)

         {        

           if(Closes > Opens)

           {

              Hadle_2 = FileOpen("test.txt",FILE_WRITE|FILE_READ|FILE_ANSI,";");

              FileSeek(Hadle_2,0,SEEK_END);

              bWriteInfoToFile(Hadle_2, BarShiftOpen);

            }


и.т.д

反馈

1
开发者 1
等级
(172)
项目
186
32%
仲裁
5
60% / 20%
逾期
3
2%
空闲
发布者: 3 代码
2
开发者 2
等级
(645)
项目
872
48%
仲裁
29
38% / 17%
逾期
63
7%
空闲

项目信息

预算
30+ USD
截止日期
 1  2 天