vampirus
vampirus личный блог
20 декабря 2011, 12:51

Торговый робот на связке Quik - AmiBroker

Торговый робот на связке Quik — AmiBroker
 
Для тех кто юзает робота от механизатора http://www.russian-trader.ru/articles/automate.php
хочу поделиться парой секретов которые нашел сам.
Многие замечали что робот перестает работать если Ами свернуть в трей.
Так вот этим страдает 5-я версия. 4-я работает нормально.
Для пятой версии в код робота вставляем строку:
RequestTimedRefresh(1,False); // 1 — пререзапускает чарт каждую секунду, False — делает это даже при сворачивании в трей
Кстати в обоих версиях робот не работает если чарт не на активной закладке.
Если вы используете функцию Scan — от бэктестера, то она работает только если робот один и загружен в бэктестер.
Если роботов несколько то возникает другая проблема.
В функции savetrifile(stransid,sstr) операции проверки наличия записи в файле и добавления новой записи разделены по времени и при работе нескольких роботов заявки могут или пропадать или добавляться много раз.

Для решения этой проблемы я немного модифицировал процедуру:
 
procedure savetrifile(stransid,sstr)
{
    f = 0; n = 100; found=1; // found=1 добавлено по умолчанию, чтобы в случае неудачи открытия файла вторая часть процедуры не добавляла повторно ту же заявку.
    while(n > 0 AND f == 0)  // это просто несколько попыток открыть файл, если в данный момент он открыт другим роботом или квиком
    {
      f=fopen(FileName,«r»);
      n--;
    }
   if(f)
   {
      found = 0;
      while(!feof(f))
      {
         s = fgets(f);
         if(StrFind( s, stransid) > 0) found = 1;
      }
      fclose(f);
   }
   if (found == 0)
   {
      f = 0; n = 100;
      while(n > 0 AND f == 0)
      {
        f = fopen(FileName, «a»);
        n--;
      }
      if (f)
      {
        fputs(sstr+"\n",f);
        fclose(f);
      }
   }
}
12 Комментариев
  • Stef.Meyer
    20 декабря 2011, 12:59
    я вот тоже недавно обратил внимание на этого робота как вообще есть результаты? по доходности
  • Sagdeev
    20 декабря 2011, 13:00
    лучше использовать робота от 000
    • Stef.Meyer
      20 декабря 2011, 13:01
      Sagdeev, что за 000?
  • ves2010
    20 декабря 2011, 13:16
    мыши плакали и кололись, но продолжали жрать кактус
  • Sagdeev
    20 декабря 2011, 13:18
  • Werner Heisenberg
    20 декабря 2011, 13:19
    к стати, так как у меня появляется свободное время, то я принимаю в личку (или на своем сайте) вопросы и рекомендации или вообще заказы на создание роботов для QUIK и Transaq.
  • quant_trader
    20 декабря 2011, 13:30
    Амиброкер мощнейшая среда для research без всякой иронии. Но не для автоторговли.
  • cangaroo
    21 декабря 2011, 14:56
    Скажите, как тестируете стратегии в AMIBroker?
    Загружаете тиковые данные в AMI или минутки?
    Выполняете ли тест на статических данных или же подаете на вход динамические данные?
    Вопросы не праздные, т.к. сам разбираюсь с AMI и пытаюсь
    понять как правильно симулировать торговлю на исторических данных.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн