учет и ошибки при выгрузке данных

 
//+------------------------------------------------------------------+
//|             снять статистику сделок для  ИНВЕСТОРСКОГО УЧЕТА.mq4 |
//|                      Copyright © 2006, MetaQuotes Software Corp.  | 
//|                                        https://www.metaquotes.net// |
//|                                                                  |
//| выборка для программы инвесторского учета                        |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, YZ"
#property link      "YZH@MAIL.RU , ICQ 25445239"
 
 
int start()
{
   
    int iOrd;
 
 
   
   int handlWR = FileOpen("СТАТИСКИКАСДЕЛОК.DAT",FILE_BIN|FILE_WRITE);
   if(handlWR < 1 )
    {
     Print("СОЗДАТЬ ФАЙЛ СТАТИСКИКАСДЕЛОК.DAT ", GetLastError());
     return(false);
    }
 
   for ( iOrd = 0; ; iOrd++ )
   {
      if ( OrderSelect(iOrd,SELECT_BY_POS,MODE_HISTORY) == true)
      {
         OrderPrint();
         
 
         string strORD ="|"+OrderTicket( )+ 
                        "|"+TimeToStr(OrderOpenTime( ))+
                        "|"+OrderType()+
                        "|"+OrderLots()+
                        "|"+OrderSymbol( ) +
                        "|"+OrderOpenPrice()+
                        "|"+OrderStopLoss()+
                        "|"+OrderTakeProfit()+
                        "|"+TimeToStr(OrderCloseTime()) +
                        "|"+OrderCommission( )+
                        "|"+OrderSwap( ) +
                        "|"+OrderComment( ) +
                        "|"+OrderMagicNumber( ) +
                        "|"+TimeToStr(OrderExpiration( )) ;
      
          FileWriteString(handlWR , strORD, StringLen(strORD));
          FileWriteString(handlWR , "\n", 1);
 
          
                   
             
          
 
 
 
// номер тикета; 
//время открытия; 
//торговая операция; 
// количество лотов; 
// цена открытия; 
// стоп лосс; 
// тейк профит; 
// время закрытия; 
//цена закрытия; 
//комиссия; 
//своп; 
//прибыль; 
//комментарий; 
//магическое число; 
//дата истечения отложенного ордера.
 
 
      }
      else
         break;
   }
   FileClose(handlWR);
   return(0);
}


Добрый день !

выгружаю тесктовый файл! для программы которая потом будет с данными что то делать! ну не важно

получаю на выходе следующие проблемы
КОЛОНКУ с TakeProfit() вижу = 0 при прибыях!



|2832236|2006.05.15 12:16|6|0.01000000||0.00000000|0.00000000|0.00000000|2006.05. 15 12:16|0.00000000|0.00000000|DPST-WM-64893: WMR 2,698.20|0|1970.01.01 00:00
|2834650|2006.05.15 13:40|1|0.10000000|EURUSD|1.28120000|0.00000000|1.28100000|2006. 05.15 18:21|0.00000000|0.00000000|[tp]|0|1970.01.01 00:00
|2834863|2006.05.15 13:50|0|0.10000000|EURUSD|1.28220000|0.00000000|1.28450000|2006. 05.15 14:05|0.00000000|0.00000000||0|1970.01.01 00:00
|2835384|2006.05.15 14:07|4|0.30000000|EURUSD|1.28560000|0.00000000|0.00000000|2006. 05.15 14:26|0.00000000|0.00000000|cancelled|0|1970.01.01 00:00
|2835578|2006.05.15 14:19|0|0.10000000|EURUSD|1.28330000|0.00000000|1.28630000|2006. 05.15 14:32|0.00000000|0.00000000||0|1970.01.01 00:00
|2836546|2006.05.15 14:39|4|0.40000000|EURUSD|1.28820000|0.00000000|0.00000000|2006. 05.15 15:33|0.00000000|0.00000000|cancelled|0|1970.01.01 00:00
|2836565|2006.05.15 14:39|0|0.50000000|EURUSD|1.28500000|1.28530000|1.30380000|2006. 05.16 14:49|0.00000000|-4.15000000|[sl]|0|1970.01.01 00:00
|2837641|2006.05.15 15:06|1|0.50000000|EURUSD|1.28340000|0.00000000|1.27800000|2006. 05.15 15:42|0.00000000|0.00000000||0|1970.01.01 00:00
|2837707|2006.05.15 15:06|1|0.10000000|EURUSD|1.28250000|0.00000000|1.27890000|2006. 05.15 15:22|0.00000000|0.00000000||0|1970.01.01 00:00
|2837749|2006.05.15 15:07|1|0.10000000|EURUSD|1.28260000|0.00000000|1.27930000|2006. 05.15 15:22|0.00000000|0.00000000||0|1970.01.01 00:00
|2839836|2006.05.15 15:57|1|0.10000000|EURUSD|1.28230000|0.00000000|1.28220000|2006. 05.15 16:03|0.00000000|0.00000000|[tp]|0|1970.01.01 00:00
|2845352|2006.05.15 19:02|0|0.10000000|EURUSD|1.28030000|0.00000000|1.28100000|2006. 05.15 19:05|0.00000000|0.00000000||0|1970.01.01 00:00
|2846514|2006.05.15 19:56|1|0.10000000|EURUSD|1.28020000|1.27980000|1.27680000|2006. 05.15 22:10|0.00000000|0.00000000||0|1970.01.01 00:00
|2846579|2006.05.15 19:58|0|0.10000000|EURUSD|1.28160000|0.00000000|1.28230000|2006. 05.15 20:05|0.00000000|0.00000000||0|1970.01.01 00:00
|2846688|2006.05.15 20:01|1|0.10000000|USDCHF|1.20940000|1.21220000|1.20930000|2006. 05.15 20:15|0.00000000|0.00000000||0|1970.01.01 00:00
|2846807|2006.05.15 20:07|1|0.10000000|GBPUSD|1.88030000|0.00000000|1.87960000|2006. 05.15 20:15|0.00000000|0.00000000|[tp]|0|1970.01.01 00:00
|2846831|2006.05.15 20:09|1|0.10000000|EURUSD|1.28140000|0.00000000|1.27880000|2006. 05.15 21:39|0.00000000|0.00000000||0|1970.01.01 00:00
|2846857|2006.05.15 20:10|0|0.10000000|USDCHF|1.21040000|0.00000000|1.21110000|2006. 05.15 21:36|0.00000000|0.00000000|[tp]|0|1970.01.01 00:00
|2846942|2006.05.15 20:15|0|0.10000000|USDCHF|1.21080000|1.21100000|1.21380000|2006. 05.15 22:11|0.00000000|0.00000000||0|1970.01.01 00:00
|2847039|2006.05.15 20:21|1|0.10000000|EURUSD|1.28060000|1.27990000|1.27690000|2006. 05.15 22:15|0.00000000|0.00000000||0|1970.01.01 00:00
|2849513|2006.05.15 23:36|1|0.10000000|AUDUSD|0.76020000|0.00000000|0.76010000|2006. 05.16 03:56|0.00000000|-0.24000000|partial close|0|1970.01.01 00:00




Хотя функция OrderPrint()

тот же период выводит вполне нормально



#2832236 2006.05.15 12:16 balance 0.01 0 0 0 2006.05.15 12:16 0 0.00 0.00 10000. 00 DPST-WM-64893: WMR 2,698.20 0
#2834650 2006.05.15 13:40 sell 0.10 EURUSD 1.2812 0.0000 1.2810 2006.05.15 18:21 1.2810 0.00 0.00 2.00 [tp] 0
#2834863 2006.05.15 13:50 buy 0.10 EURUSD 1.2822 0.0000 1.2845 2006.05.15 14:05 1.2826 0.00 0.00 4.00 0
#2835384 2006.05.15 14:07 buy stop 0.30 EURUSD 1.2856 0.0000 0.0000 2006.05.15 14:26 1.2841 0.00 0.00 0.00 cancelled 0
#2835578 2006.05.15 14:19 buy 0.10 EURUSD 1.2833 0.0000 1.2863 2006.05.15 14:32 1.2836 0.00 0.00 3.00 0
#2836546 2006.05.15 14:39 buy stop 0.40 EURUSD 1.2882 0.0000 0.0000 2006.05.15 15:33 1.2819 0.00 0.00 0.00 cancelled 0
#2836565 2006.05.15 14:39 buy 0.50 EURUSD 1.2850 1.2853 1.3038 2006.05.16 14:49 1.2853 0.00 -4.15 15.00 [sl] 0
#2837641 2006.05.15 15:06 sell 0.50 EURUSD 1.2834 0.0000 1.2780 2006.05.15 15:42 1.2833 0.00 0.00 5.00 0
#2837707 2006.05.15 15:06 sell 0.10 EURUSD 1.2825 0.0000 1.2789 2006.05.15 15:22 1.2817 0.00 0.00 8.00 0
#2837749 2006.05.15 15:07 sell 0.10 EURUSD 1.2826 0.0000 1.2793 2006.05.15 15:22 1.2817 0.00 0.00 9.00 0
#2839836 2006.05.15 15:57 sell 0.10 EURUSD 1.2823 0.0000 1.2822 2006.05.15 16:03 1.2822 0.00 0.00 1.00 [tp] 0
#2845352 2006.05.15 19:02 buy 0.10 EURUSD 1.2803 0.0000 1.2810 2006.05.15 19:05 1.2806 0.00 0.00 3.00 0
#2846514 2006.05.15 19:56 sell 0.10 EURUSD 1.2802 1.2798 1.2768 2006.05.15 22:10 1.2790 0.00 0.00 12.00 0
#2846579 2006.05.15 19:58 buy 0.10 EURUSD 1.2816 0.0000 1.2823 2006.05.15 20:05 1.2818 0.00 0.00 2.00 0
#2846688 2006.05.15 20:01 sell 0.10 USDCHF 1.2094 1.2122 1.2093 2006.05.15 20:15 1.2109 0.00 0.00 -12.39 0
#2846807 2006.05.15 20:07 sell 0.10 GBPUSD 1.8803 0.0000 1.8796 2006.05.15 20:15 1.8796 0.00 0.00 7.00 [tp] 0
#2846831 2006.05.15 20:09 sell 0.10 EURUSD 1.2814 0.0000 1.2788 2006.05.15 21:39 1.2800 0.00 0.00 14.00 0
#2846857 2006.05.15 20:10 buy 0.10 USDCHF 1.2104 0.0000 1.2111 2006.05.15 21:36 1.2111 0.00 0.00 5.78 [tp] 0
#2846942 2006.05.15 20:15 buy 0.10 USDCHF 1.2108 1.2110 1.2138 2006.05.15 22:11 1.2124 0.00 0.00 13.20 0
#2847039 2006.05.15 20:21 sell 0.10 EURUSD 1.2806 1.2799 1.2769 2006.05.15 22:15 1.2788 0.00 0.00 18.00 0
#2849513 2006.05.15 23:36 sell 0.10 AUDUSD 0.7602 0.0000 0.7601 2006.05.16 03:56 0.7631 0.00 -0.24 -29.00 partial close 0




может я код неверно оформил для формирования строки выгрузки ?


 


Подскажите каким образом получить значение !


я их получаю по команде OrderPrint()

#2832236 2006.05.15 12:16 balance 0.01 0 0 0 2006.05.15 12:16 0 0.00 0.00 10000.00 DPST-WM-64893: WMR 2,698.20 0 <--- операция зачисления
#2834650 2006.05.15 13:40 sell 0.10 EURUSD 1.2812 0.0000 1.2810 2006.05.15 18:21 1.2810 0.00 0.00 2.00 [tp] 0
#2836565 2006.05.15 14:39 buy 0.50 EURUSD 1.2850 1.2853 1.3038 2006.05.16 14:49 1.2853 0.00 -4.15 15.00 [sl] 0


но в этом случае данные идут в общий лог, не хотел манипулировать с общим логом! тем более более во время работы MT4

команда OrderProfit() вычисляет цену закрытия

но по ней я не могу получить к примеру опрерации зачисления и списания средств!

каким образом получить размер прибыли убытков (полагаю надо считать пункты и лоты ) а как же операции "ВВОДА" "ВЫВОДА СРЕДСТВ"

 
Найди где в той колонке вызывается функция OrderProfit();-)
 
Integer писал (а):
Найди где в той колонке вызывается функция OrderProfit();-)

Integer спасибо!!
все получилось выгрузка получилась

хотя мысли текли в нужном направлении
БЛИН!!! куда глаза смотрели!
вот что значит свежим глазом! посмотреть
надо пиво пить чаще! и расслабляться :-)