Функция MQL5

MQL5 Experts

Trabalho concluído

Tempo de execução 6 horas
Comentário do cliente
Очень быстро, качественно. Cпасибо за выполненную работу, успехов!
Comentário do desenvolvedor
Приятно работать с Иваном. Понятное ТЗ, работу принял быстро. Спасибо за заказ.

Termos de Referência

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

- найти последнюю закрытую сделку, получить номер бара открытия, номер бара закрытия, определить ее тип (покупка, продажа), далее мой код. Зафиксировать 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);

            }


и.т.д

Respondido

1
Desenvolvedor 1
Classificação
(172)
Projetos
186
32%
Arbitragem
5
60% / 20%
Expirado
3
2%
Livre
Publicou: 3 códigos
2
Desenvolvedor 2
Classificação
(645)
Projetos
872
48%
Arbitragem
29
38% / 17%
Expirado
63
7%
Livre

Informações sobre o projeto

Orçamento
30+ USD
Prazo
de 1 para 2 dias