Buy 1.2567 -> Close 1.2606 = Тестер посчитал прибыль 41.70 -> Реал получил только 36.30. Почему так ?

 
Валюта ЕвроЮсд (EurUsd)
1.2606 - 1.2567 = 39 пунктов.
Тестер посчитал прибіль 41.70 - откуда спрашивается эта цифра, если по евре каждый пункт всегда равен 1 у.е. ?

Ну никак не получается 41.70
Реал закрыл прибыль по тем же самым ценам (один в один) и получил 36.30 + своп = 39 у.е.
Тоесть реал правильно закрылся, но откуда тестер взял 41.70 ???
Разница около 14 % - это что своеобразный налог тестеру ? :)
 
Распечатайте сделку и посмотрите значение прибыли, свопов, комиссии.
 
А как я распечатку сюда прилеплю ?
 
Вы просто не учли свопы и комиссию в общем результате сделки.
 
Ренат, как говорят в Одессе - что вы мне такое говорите ?
Я вас спрашиваю сколько будет 1.2606 - 1.2567 ?

Вот Стейтмент тестера :

21 2006.07.19 18:00 buy 11 0.10 1.2567 0.00 00.00 0.00
24 2006.07.20 09:00 close 11 0.10 1.2606 0.00 00.00 41.70
итого по тестеру : 41.70 у.е.

А вот реал :

481370 2006.07.19 18:00 buy 0.10 eurusd 1.2567 0.00 00.00 2006.07.19 23:59 1.2585 0.00 0.00 0.00 18.00 [swap]
483499 2006.07.20 00:00 buy 0.10 eurusd 1.25877 0.0000 10.0000 2006.07.20 09:00 1.2606 0.00 0.00 0.00 18.30

Итого по реалу : 18.00 + 18.30 = 36.30

Почему такая разница ? Как считает и что считает тестер ? Ведь своп всего 2.7 пункта ?

У вас получается что к результату своп прибавляется, а в реальности своп уменьшает прибыль :
Вы считаете так : 1.2606 - 1.2567 = 39 + 2.7 = 41.70
А в реальности : 1.2606 - 1.2567 = 39 - 2.7 = 36.30

Я вас спрашиваю - почему вы так считаете, а реал по другому? Кто то один из них неправ.
 
Где (на каком сервере) запускался реал и где (на каком сервере) тест проходил?

Все в тестере считается верно. Специально написал скрипт и проверил:
int start() 
  {
   static datetime ctm=0,stop=false;
//----
   if(stop==false)
     if(OrdersTotal()<1)   // откроемся, если нет позиций
       {
        OrderSend(Symbol(),OP_BUY,1,Ask,1,0,0);
        ctm=CurTime()+86400;   // закрываемся через сутки
       }
     else
       if(ctm<CurTime())  // время пришло - закрываемся
         {
          OrderSelect(0,SELECT_BY_POS);  
          OrderPrint();          // распечатаем данные сделки
          OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3);
          stop=true;   // больше ничего не открываем
         }
  }


и вот результаты EURUSD daily:

2006.07.25 16:54:18	1989.08.28 00:00  test_eur EURUSD,Daily: open #1 buy 1.00 EURUSD at 0.9949 ok
2006.07.25 16:54:18	1989.08.30 00:00  test_eur EURUSD,Daily: #1 1989.08.28 00:00 buy 1.00 EURUSD 0.9949 0.0000 0.0000 1.0096 0.00 -19.20 1470.00  0
2006.07.25 16:54:18	1989.08.30 00:00  test_eur EURUSD,Daily: close #1 buy 1.00 EURUSD at 0.9949 at price 1.0096


При свопе в - 0.96 пункта за 2 дня насчитано -19.20 доллара. Ошибок нет.

 
Только что понял. Вы работаете на сервере, у которого свопы идут через ежедневное переоткрытие позиций, а тестер об этом не знает, так как эта информация не передается на клиентский терминал. Поэтому тестер ставит свопы с обратным знаком.

Проблема понятна - будем работать над исправлением.
Спасибо за найденную ошибку!
 
Только что понял. Вы работаете на сервере, у которого свопы идут через ежедневное переоткрытие позиций, а тестер об этом не знает, так как эта информация не передается на клиентский терминал. Поэтому тестер ставит свопы с обратным знаком.

Проблема понятна - будем работать над исправлением.
Спасибо за найденную ошибку!

И здесь опять я явился(ну такой я правдолюб) по поводу свопов Ринат мы общались ещё неделью назад,я вам копировал мои переговры с Укрсоцбанком,Вы и тогда сказали что будете исправлять,а вам вот сейчас снова напомныли об этом но с опазданыем и другие люды,так что у ва исправленый набарлсоь много елси хоршо перечитать снова мои сообщения и находки

так что даёшь Буильд 196 с устраненными уже теми ошибками,о которых сказано за последыне 2 недели :)))
Причина обращения: