Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Тестирование систем Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
polekoff



Зарегистрирован: 27.04.2008
Сообщения: 8

СообщениеДобавлено: Пн Июн 09, 2008 9:46 pm Ответить с цитатой Вернуться к началу

Уважаемый Олег.
В продолжение темы от Griff, хотел приделать стоп на Low бара входа.
Стоп работает, но цена, open вместо, как хотел, заданной.

Код:
Pre_Buy = Ref(Open, -1) > Ref(Open, -2);
Sell = 0;
Buy = 0;
Position = 0;

for (i = 1; i < BarCount; i++)
{
   if(Position == 0)
   {
      if(Pre_Buy[i] == 1)
      {
         Buy[i] = 1;
         Position = 1;
         PriceBuy = Open[i];
         PriceSell = Low[i];
      }
   }
   else
   {
      if(Open[i] > PriceBuy)
      {
         Sell[i] = 1;
         Position = 0;
      }
      else
      {
         if(Low[i] < PriceSell)
         {
            SellPrice = PriceSell;
            Sell[i] = 1;
           
            Position = 0;
           
         }
      }
   }
}

BuyPrice = Open;
SellPrice = Open;
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Июн 09, 2008 10:01 pm Ответить с цитатой Вернуться к началу

Если цена исполнения сделок разная, то надо явно указывать SellPrice для каждой сделки. Как то так. 100% не гарантирую потому, что не проверял.
Код:

Pre_Buy = Ref(Open, -1) > Ref(Open, -2);
Sell = 0;
Buy = 0;
Position = 0;

for (i = 1; i < BarCount; i++)
{
   if(Position == 0)
   {
      if(Pre_Buy[i] == 1)
      {
         Buy[i] = 1;
         Position = 1;
         PriceBuy = Open[i];
         PriceSell = Low[i];
      }
   }
   else
   {
      if(Open[i] > PriceBuy)
      {
         Sell[i] = 1;
         Position = 0;
         SellPrice[i] = Open[i];
      }
      else
      {
         if(Low[i] < PriceSell)
         {
            SellPrice[i] = PriceSell;
            Sell[i] = 1;
            Position = 0;
         }
      }
   }
}

BuyPrice = Open;


исправил

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.

Последний раз редактировалось: 000 (Чт Июн 12, 2008 2:19 pm), всего редактировалось 2 раз(а)
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
polekoff



Зарегистрирован: 27.04.2008
Сообщения: 8

СообщениеДобавлено: Вт Июн 10, 2008 6:00 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Если цена исполнения сделок разная, то надо явно указывать SellPrice для каждой сделки. Как то так. 100% не гарантирую потому, что не проверял.
Код:

Pre_Buy = Ref(Open, -1) > Ref(Open, -2);
Sell = 0;
Buy = 0;
Position = 0;

for (i = 1; i < BarCount; i++)
{
   if(Position == 0)
   {
      if(Pre_Buy[i] == 1)
      {
         Buy[i] = 1;
         Position = 1;
         PriceBuy = Open[i];
         PriceSell = Low[i];
      }
   }
   else
   {
      if(Open[i] > PriceBuy)
      {
         Sell[i] = 1;
         Position = 0;
         SellPrice[i] == Open[i];
      }
      else
      {
         if(Low[i] < PriceSell)
         {
            SellPrice[i] = PriceSell;
            Sell[i] = 1;
            Position = 0;
         }
      }
   }
}

BuyPrice = Open;


Поменял SellPrice[i] == Open[i]; на SellPrice[i] = Open[i];, все отлично работает.

Спасибо Олег.
Посмотреть профиль Отправить личное сообщение
Сергей



Зарегистрирован: 16.03.2008
Сообщения: 168

СообщениеДобавлено: Чт Июн 12, 2008 2:10 pm Ответить с цитатой Вернуться к началу

Всем привет! Всех с праздником!
Олег подскажи пожалуйста, можно ли в коде программы выставить уровень маржи (Account margin, тот что в тестере) ?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Чт Июн 12, 2008 7:24 pm Ответить с цитатой Вернуться к началу

SetOption("AccountMargin", ... );

Тут http://www.amisite.ru/begin/bk_set2.htm кстати говоря, про это написано... Sad

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Сергей



Зарегистрирован: 16.03.2008
Сообщения: 168

СообщениеДобавлено: Чт Июн 12, 2008 7:55 pm Ответить с цитатой Вернуться к началу

000 писал(а):
SetOption("AccountMargin", ... );

Тут http://www.amisite.ru/begin/bk_set2.htm кстати говоря, про это написано... Sad

Пробовал, не работает(
SetOption("AccountMargin", 50 );
Equity(1);

Прога воспринимает значение которое установлено в тестере
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Чт Июн 12, 2008 10:40 pm Ответить с цитатой Вернуться к началу

Похоже действительно косяк. Работает только если в настройках стоит цифра меньше, чем в коде, но не меньше 10. Надо будет написать Томашу.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Сергей



Зарегистрирован: 16.03.2008
Сообщения: 168

СообщениеДобавлено: Чт Июн 12, 2008 11:22 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Похоже действительно косяк. Работает только если в настройках стоит цифра меньше, чем в коде, но не меньше 10. Надо будет написать Томашу.

О как! Ура, я причастен к такому событию. А деньги за выявление багов платят ?)))
Посмотреть профиль Отправить личное сообщение
Сергей



Зарегистрирован: 16.03.2008
Сообщения: 168

СообщениеДобавлено: Пн Июн 16, 2008 5:22 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Похоже действительно косяк. Работает только если в настройках стоит цифра меньше, чем в коде, но не меньше 10. Надо будет написать Томашу.

Олег привет, есть какие либо новости относительно этого косяка? Уж очень нужно протестировать систему с разным уровнем маржи.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Июн 16, 2008 6:14 pm Ответить с цитатой Вернуться к началу

Цитата:
Олег привет, есть какие либо новости относительно этого косяка? Уж очень нужно протестировать систему с разным уровнем маржи.

А поставь в настройках 10 и смело можешь тестировать используя разную маржу больше 10.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Сергей



Зарегистрирован: 16.03.2008
Сообщения: 168

СообщениеДобавлено: Пн Июн 16, 2008 7:54 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Цитата:
Олег привет, есть какие либо новости относительно этого косяка? Уж очень нужно протестировать систему с разным уровнем маржи.

А поставь в настройках 10 и смело можешь тестировать используя разную маржу больше 10.

Смысл в том чтобы из кода изменять при лонге уровень в 33, а при шорте 50, так вот на то значение которое указано в коде не реагирует вообще, а если значение в коде больше чем в установках, то результата вообще нет
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Июн 16, 2008 9:00 pm Ответить с цитатой Вернуться к началу

Значение маржи менять нельзя.
Вот цитата из хелпера
ВНИМАНИЕ: если Вы изменяете опции в зависимости от символа, результаты теста (например % прибыли) будут искажены, поскольку во время теста считается, что опции одинаковы для всех символов в пределах одного теста. Исключением являются 'HoldMinBars', 'EarlyExit..." которые могут быть установлены для каждого символа независимо

Маржа одинакова не только для всех символов теста, но и для одного символа не зависимо от направления сделки.
Могу посоветовать либо тестировать лонг и шорт отдельно меняя уровень маржи, либо установить наибольшее значение маржи, а размер сайза при шорте уменьшать. Это не будет точным тестом, но более-менне адекватное представление о работе системы получить позволит.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Сергей



Зарегистрирован: 16.03.2008
Сообщения: 168

СообщениеДобавлено: Пн Июн 16, 2008 11:26 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Значение маржи менять нельзя.
Вот цитата из хелпера
ВНИМАНИЕ: если Вы изменяете опции в зависимости от символа, результаты теста (например % прибыли) будут искажены, поскольку во время теста считается, что опции одинаковы для всех символов в пределах одного теста. Исключением являются 'HoldMinBars', 'EarlyExit..." которые могут быть установлены для каждого символа независимо

Маржа одинакова не только для всех символов теста, но и для одного символа не зависимо от направления сделки.
Могу посоветовать либо тестировать лонг и шорт отдельно меняя уровень маржи, либо установить наибольшее значение маржи, а размер сайза при шорте уменьшать. Это не будет точным тестом, но более-менне адекватное представление о работе системы получить позволит.

Ну да, раздельное тестирование приносит другие результаты(
Ну я думаю если лонги у меня приносят 2/3 прибыли и число удачных сделок больше чем при шорте, то это оправдано.
"а размер сайза при шорте уменьшать" - сайз кто такой?) Размер позиции?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Июн 16, 2008 11:57 pm Ответить с цитатой Вернуться к началу

Цитата:
сайз кто такой?) Размер позиции?

Он Smile

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Сергей



Зарегистрирован: 16.03.2008
Сообщения: 168

СообщениеДобавлено: Пт Июн 20, 2008 2:12 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Цитата:
сайз кто такой?) Размер позиции?

Он Smile

Олег привет, думал что этот косяк только в 5 версии, ан нет в 4.9 также не воспринимает уровень маржи из тестера(
Давай разработчикам напишем? Как раз сейчас они новую до ума доводят, жаль английского толком незнаю)
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen