Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
19.02.2025, 01:16:23
Начало Помощь Поиск Войти Регистрация
Новости: ООО «Скрин маркет системз», правообладатель программы «Система брокерского обслуживания «TRANSAQ» официально заявляет, что не ведет никакой деятельности в мессенджерах или социальных сетях. 
Подробности на нашем сайте  WWW.TRANSAQ.RU.

Просмотр сообщений

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - makeev

Pages: [1]
1
Уважаемые разработчики. После последних обновлений перестал корректно работать запрос баланса путем (getBought()-getSold()). Причем данная проблема возникает сразу на следующие сутки. При совершении сделки ответ от getBought()==0 и  getSold()==0. После перезагрузки транзака проблема уходит и не всплывает в текущей сессии.(Переустановка windows и transaq не помогают ) Ранее в вашем сообщении было сказано:
«Весь функционал ATF остается в том виде, как он есть сейчас и будет работать до тех пор,
пока какие-то существенные изменения торгового терминала не приведут к тому, что это станет невозможно (в ближайшей перспективе причин для этого я пока не вижу)»  ….. Так оставьте в каком он есть или эти существенные изменения уже произошли?

2
Добрый вечер.  Для закрытия позиций я использую связанную заявку. Заметил, что при высокой волатильности рынка проскальзывание между ценой активации совершенной сделкой бывает очень даже значительным. Как с этим можно бороться?  Может это связано с тем, что я в графе количество указываю % от портфеля?

3
Я заметил, что на одной свечки робот может выставить только 2 заявки разных типов (long и short), а далее хоть и условия соблюдаются, но он их не выставит. Я предполагаю, что это сделано специально, дабы избежать ошибок, но все же возможно ли увеличить число заявок на одной свечки? 

4
Почему секунды не работают?

function calc()
{
line[0]=getSecond(getCandleTime());

}

5
Подсистема ATF / Скорость заявки
« on: 27.08.2011, 06:20:00 »
Как повысить скорость выставления заявки без  отдельного шлюза?  у меня проскальзование от35 до 1000 пунктов по ртс в зависимости от валотильности.

6
В целях развития роботизации на биржевых рынках предлагаю сделать возможность шифровать код ATF( пример метасток).   Я думаю не стоит говорить о многочисленных плюсах такой возможности и многие «писальщики» на AFT скажут вам огромного спасибо.
Но естественно это после того как вы реализуете balance на ФОРТС.

7
В последнее время участились проблемы в подключении АРМА к основному адресу.  Ввиду чего есть необходимость в автоматическом переподключении на резервный адрес (если честно я изначально думал, что он будет туда автоматом перебрасываться).

8
Во вкладке  “Автоматическое переподключение к серверу” есть удобная  возможность выставлять время. Вот к сожаленью время выставить к примеру с 12:30:00 по 03:00:00 c учетом нашего местного времени я не могу. А почему?           


9
Подсистема ATF / balance для FORTS
« on: 24.05.2011, 11:01:47 »
Когда же все-таки нам ждать реализацию функции balance для FORTS?  Использование такого временного решения как   balance= getBought()-getSold()  это полный пипец.

10
Подсистема ATF / Вопрос по INTRA
« on: 01.04.2011, 11:45:34 »
Почему на INTRA нельзя войти в короткую?

11
На днях пытался воссоздать возможность проведения  тестирования по средствам языка ATF, вот показываю первые плоды. Скипт далеко несовершенен, но он отображает идею.
Если идея интересна, то предлагаю в этой ветки отображать свои идеи и предложения.

сам скрипт:

#samewindow
extern "string" filename = "export.txt";
var f;
extern fast = 9;
extern slow = 14;
extern trade = 1; // акций по умолчанию
var trend = 0;
var time;
var timeday;
var timemonth;
var timeyear;
var transaction; //номер операции
var dipozit = 100000; //дипозит портфеля
var portfolio =0; //портфель акций
var amount =0; // объем по операции


function init()
{
setInitCandles(1);

f = new_object("file");
f.wopen(filename);
   
   f.write("ИНСТРУМЕНТ"+";");
    f.write("№ ТРАНЗАКЦИИ"+";");
    f.write("ВРЕМЯ"+";");
    f.write("ЦЕНА"+";");
    f.write("КУПЛЕНО"+";");
    f.write("ПРОДАНО"+";");   
   f.write("ОБЪЕМ"+";");
   f.writeLn("ДИПОЗИТ"+";");




}

function calc()
{
var sell =0;
var buy =0;
var a=0;
var cv=0;


line[0] = MovAvg(ind_ema, fast, pt_close);
line[1] = MovAvg(ind_ema, slow, pt_close);

time = getHour(getCandleTime())*60+getMinute(getCandleTime());
timeday=getDay(getCandleTime());
timemonth=getMonth(getCandleTime());
timeyear=getYear(getCandleTime());



   // Покупка

if (trend == -1 and line[0] > line[1]
){

if (portfolio==0 and cv!=noCandle()
){
a=1;


amount= close*trade;
dipozit=dipozit-amount;
portfolio=portfolio+trade;
transaction = transaction + 1;
buy =trade;
cv=noCandle();
}
}


// Продажа
if (trend == 1 and line[0] < line[1]
){

if (portfolio>0 and
cv!=noCandle()
){
a=1;


amount= close*trade;
dipozit=dipozit+amount;
portfolio=portfolio-trade;
transaction = transaction + 1;
sell=-1*trade;
cv=noCandle();
}
}






if (line[1] < line[0]) {trend = 1;}
else if (line[1] > line[0]) {trend = -1;}
   




if (a==1){

f.write(getSecName()+";");
f.write(transaction+";");
f.write(timeday+"/"+timemonth+"/"+timeyear+";");
f.write(close+";");
f.write(buy+";");
f.write(sell+";");
f.write(amount+";");
f.writeLn(dipozit);
}

a=0;

}


вот что вышло

ИНСТРУМЕНТ;№ ТРАНЗАКЦИИ;ВРЕМЯ;ЦЕНА;КУПЛЕНО;ПРОДАНО;ОБЪЕМ;ДИПОЗИТ;
Сбербанк;1;19/1/2010;91.4;1;0;91.4;99908.6
Сбербанк;2;19/1/2010;89.69;0;-1;89.69;99998.3
Сбербанк;3;19/1/2010;91.4;1;0;91.4;99906.9
Сбербанк;4;21/1/2010;90.16;0;-1;90.16;99997.1
Сбербанк;5;27/1/2010;87.7;1;0;87.7;99909.4
Сбербанк;6;29/1/2010;87;0;-1;87;99996.4
Сбербанк;7;29/1/2010;88.13;1;0;88.13;99908.2

и т.д

12
Я еще раз подниму забытую мысль. Сильно ли проблематично запустить в transaq handy реальные исторические данные?
Не всегда получается нормально расстроить скипт  на той лабуде которая там неизменно пляшет, да и для новичков я думаю будет гораздо интереснее познавать транзак с реальными историческими данными.

13
Подсистема ATF / data.txt
« on: 01.12.2010, 20:51:20 »
    function init()
{
   file = new_object("file");
   file.ropen("data.txt");

Используя вышеуказанные функции, мы создаем файл data.txt и открываем его на запись. Как сделать имя файла динамическим(примет: idклиента+бумага.txt)?
Бывает случаи, когда скрипт ты запускаешь на разных бумагах и все данные, которые необходимо сохранить попадают в один блокнот. 

14
Подсистема ATF / Вопрос по zigzag
« on: 30.07.2010, 07:28:41 »
Функция Zig Zag при расчете обычно имеет 3 настраиваемых параметра это:
1.   DATA ARRAY (close, open, high,low)
2.    MINIMUM CHANGE (0……………10)
3.   DIFF_ METHOD (% или $)
однако индикатор написанный на языке ATF (см.ниже) специалистами TRANSAQ имеет только один настраиваемый параметр - MINIMUM CHANGE.  Подскажите, пожалуйста, как добавить в этот код 2 остальных параметра или точнее куда их туда воткнуть ???

#samewindow
#line 0 solid red
extern rate = 1;
var trend = 1;
var last;
var last_n;
var last_extr;
var last_extr_n = 0;
var r;


function init() {
   last = close;
   line[0] = close;
   last_extr = close;
   last_extr_n = 0;
   last_n = 0;
   r = rate / 100;
}


function getCandleLag(var n, var curr)
{
   return -(curr - n);
}


function approxLinear(var x1, var y1, var x2, var y2)
{
   var n = x2 - x1;
   if (!n) {
      line[0][getCandleLag(x1, noCandle())] = y1;
      return;
   }
   var k = (y2 - y1) / n;
   var i = 0;
   while (i <= n) {
      line[0][getCandleLag(x1 + i, noCandle())] = y1 + k*i;
      i += 1;
   }
}


function findMax(var from, var to)
{
   var m = high[getCandleLag(from, noCandle())];
   var n = from;
   var i = from + 1;
   while (i <= to) {
      var x = high[getCandleLag(from, noCandle())];
      if (x > m) {
         m = x;
         n = i;
      }
      i += 1;
   }
   return n;
}


function findMin(var from, var to)
{
   var m = low[getCandleLag(from, noCandle())];
   var n = from;
   var i = from + 1;
   while (i <= to) {
      var x = low[getCandleLag(from, noCandle())];
      if (x < m) {
         m = x;
         n = i;
      }
      i += 1;
   }
   return n;
}



function calc()
{
   if (trend == 1) {
      if (close > last_extr) {
         last_extr = high;
         last_extr_n = noCandle();
         approxLinear(last_n, last, noCandle(), high);
      }
      else {
         approxLinear(last_extr_n, last_extr, noCandle(), low);
      }
   }
   if (trend == -1) {
      if (close < last_extr) {
         last_extr = low;
         last_extr_n = noCandle();
         approxLinear(last_n, last, noCandle(), low);
      }
      else {
         approxLinear(last_extr_n, last_extr, noCandle(), high);
      }
   }

   if (abs(close - last_extr) / last_extr > r) {
      var old_n = last_n;
      var old = last;
      last_n = last_extr_n;
      last = last_extr;
      if (trend > 0) {
         trend = -1;
         last_extr_n = findMin(last_n, noCandle());
         last_extr = low[getCandleLag(last_extr_n, noCandle())];
      }
      else {
         trend = 1;
         last_extr_n = findMax(last_n, noCandle());
         last_extr = high[getCandleLag(last_extr_n, noCandle())];
      }
      approxLinear(old_n, old, last_n, last);
      approxLinear(last_n, last, noCandle(), close);
   }
}

15
Подсистема ATF / AMA для ATF
« on: 30.06.2010, 18:16:48 »
Пользуюсь индикатором AMA (Adaptive Moving Average) однако не хватает возможностей (инструментов) построить этот индикатор силами ATF. Скажите, пожалуйста, можете как - то мне помочь? Будут ли добавляться дополнительные функции?   

Pages: [1]


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.10 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!