Блог им. vampirus

Торговый робот на связке 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);
      }
   }
}
★11
12 комментариев
я вот тоже недавно обратил внимание на этого робота как вообще есть результаты? по доходности
avatar
Stepan, робот это вообщето только оболочка для стратегии, доходность дает стратегия. А вообще в реале я пока не запускал — пока тестирую стратегии на реальных данных но без вывода заявок на биржу.
avatar
И когда запустил много роботов сразу и полезли косяки с повторными заявками.
avatar
лучше использовать робота от 000
avatar
Sagdeev, что за 000?
avatar
мыши плакали и кололись, но продолжали жрать кактус
avatar
Sagdeev, К этому роботу все что я написал так же относиться — и я не зря упомянул «Если вы используете функцию Scan» — она только к этому роботу и относиться и она не будет работать с неколькими роботами.
avatar
к стати, так как у меня появляется свободное время, то я принимаю в личку (или на своем сайте) вопросы и рекомендации или вообще заказы на создание роботов для QUIK и Transaq.
avatar
Амиброкер мощнейшая среда для research без всякой иронии. Но не для автоторговли.
avatar
Скажите, как тестируете стратегии в AMIBroker?
Загружаете тиковые данные в AMI или минутки?
Выполняете ли тест на статических данных или же подаете на вход динамические данные?
Вопросы не праздные, т.к. сам разбираюсь с AMI и пытаюсь
понять как правильно симулировать торговлю на исторических данных.
avatar
Понял что меньше чем на 15 мин нечего пытаться, поэтому загружаю 15 мин историю
avatar

теги блога vampirus

....все тэги



UPDONW
Новый дизайн