3
Апр

Индикатор AMA на ATF

Posted by: Kamynin   in TRANSAQ

Автор: Николай Камынин

Приведу пример программирования индикатора AMA на встроенном в торговый терминал TRANSAQ языке программирования ATF

//индикатор АМА
#samewindow
#line 0 dot red

extern period=10; //период

extern Fast=2;

extern Slow=30;

var FastSCm;  var SlowSC;  var Signal;   var SSC; var Noise;
//~~~~~~~~~~~~~~
function init(){

setInitCandles(1);

line[0]=close;

Signal=0;

Noise=0;

SlowSC=2/(Slow+1);

FastSCm=2/(Fast+1)-SlowSC;    }
//~~~~~~~~~~~~~~
function calc() {

Noise=Noise+abs(close-close[-1]);
if (period>=noCandle()) { line[0]=close;  }
else{

Noise=Noise-abs(close[-period]-close[-period-1]);

Signal=abs(close-close[-period]);
SSC=Signal*FastSCm/Noise+SlowSC;
line[0]=line[0][-1]+SSC*SSC*(close-line[0][-1]);
}
}

//конец программы

Успехов.

Tags: , , , ,

Автор: Николай Камынин

Язык ATF — это встроенный в торговый терминал TRANSAQ язык для програмирования торговых стратегий.

Я познакомился с этим языком примерно год назад.

Тогда он произвел на меня удручающее впечатление.

Но вот прошел год.

И следует отметить,  что разработчики языка существенно продвинулись в его реализации.

Кто знаком со сложностями создания торговых систем на языке QPILE, будет приятно удивлен возможностями языка ATF.

Те,  кто знаком с языком программирования МТ4, найдет схожие черты в ATF.

Если в QPILE используется концепция портфеля,

то ATF используется концепция обработки сделки по инструменту,

на график которого помещен скрипт робота.

Поэтому , чтобы купить 10 лотов этого инструмента  по 100 рублей надо просто написать

trade_action::buy(10,::lots, 100);

а чтобы купить акций на 10 000 рублей по рыночной цене, надо записать:

trade_action::buy(10000,::money);

Как видите — это просто.

Tags: , , ,

Сегодня закончил разработку робота-архиватора,  хранителя истории котировок  для QUIK.

Раньше я рассказывал о таком роботе на основе Qpile , управляющий торговым терминалом робот выполнен на AutoIt.

Однако , его испытания показали не удовлетворительное быстродействие.

Изначально необходимо создать неограниченную историю котировок , к значению которых можно было бы обращаться из программы на языке QPILE.

Поэтому история котировок хранится в текстовом формате вида:

<YYYYMMDD>,<HHMMSS>,<Open>,<HIgh>,<Low>,<Close>,<Volume>

Для экспорта инструмента в историю котировок надо настроить QUIK на экспорт в Метаstock.

В метастоке глубина истории не может быть больше 65535 отсчетов.

Данная база исторических данных не имеет ограничений.

Что умеет данный робот.

Робот  записывает в архив историю котировок.

Котировки в виде параметров свечей  сохраняются в  текстовых файлах.

Каждый такой  файл  имеет имя в виде  » ИмяИнструмента_ВременнойИнтервалГрафика».

При новом запуске робота, он добавляет новые записи к уже записанным.

Таким образом, можно накапливать историю котировок непосредственно с торгового терминала QUIK и пополнять ее с любого другого доступного источника.

Кроме того, робот обеспечивает пополнение истории котировок в реальном времени.

Кроме того, робот обеспечивает склеивание фьючерсных контрактов.

При разработке робота на QPILE  не требуется настраивать графики и открывать окна. исторические данные можно читать из получаемой в реальном времени базы данных в текстовом формате.