Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
27.03.2025, 20:08:28
Начало Помощь Поиск Войти Регистрация
Новости: ООО «Скрин маркет системз», правообладатель программы «Система брокерского обслуживания «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.

Messages - makeev

Pages: 1 2 [3] 4 5 6
31
Подсистема ATF / Re: Ошибки ATF
« on: 19.04.2011, 12:06:54 »
Я по прежнему не очень понял вашу идею, если честно. А зачем после вывода сообщения вы зануляете все переменные, и не стоит ли какие-то из них сделать типа static?

Попробуйте отлаживать это постепенно: как минимум посмотреть что у вас записано в промежуточных значениях (правой кнопкой на индикатор -> "Показать переменные ATF"). Так я вас ничего не могу сказать.


Я зануляю значения только  openp, closep ,a ибо они мне нужны с нулевыми данными при новой оценки разницы данных.  А вот переменные raznp; procp которые мне нужны они то и не зануляются.

Спасибо конечно. Но сегодня утром у меня все заработало. Значения переменных  raznp; procp выводит как нужно, хотя в содержании скрипта я ничего не менял. Не знаю что это было. 


32
Подсистема ATF / Re: Ошибки ATF
« on: 19.04.2011, 09:27:25 »
makeev, честно говоря я вообще не очень понимаю кода. Что вы хотели в результате добиться?


var openp=0;
var closep=0;
var a =0;
var raznp=0;
var procp=0;
function calc()
{
var b = getMoneyBalance()+getSecBalance()*close;
if(open){a=a+1;}
if(a==1){openp=b;}
if(a==3){
closep=b;
raznp= closep-openp;
procp=(((closep*100)/openp)-100)/100;
signal::alert(procp+"**"+raznp);
a=0;
openp=0;
closep=0;
}}
var b = getMoneyBalance()+getSecBalance()*close;  оценка портфеля
if(open){a=a+1;}  счетчик. При каждой новой свечи добавляет 1
 if(a==1){openp=b;}    при значении равной 1 записывает в глобальную переменную значения оценки портфеля
if(a==3){
closep=b;
raznp= closep-openp;
procp=(((closep*100)/openp)-100)/100;
signal::alert(procp+"**"+raznp);
a=0;
openp=0;
closep=0;  При значении равному 3 записывает значения оценки портфеля. Потом вычисляем разницу записанных значений  closep-openp. Записываем в глобальную переменную procp разницу изменения  в процентном отношении.  Позже выводим на монитор сообщения вида:  (изменения в процентном отношении ** разница значений). Ну и позже обнуляем значения счетчика свечей «a», а также значения глобальных переменных    openp,closep. Вот и все.
Что должно получиться? - На экран сообщение  об изменении оценки портфеля. 

33
Подсистема ATF / Re: Ошибки ATF
« on: 18.04.2011, 11:09:22 »
Выводит только сообщение 0**0





var openp=0;
var closep=0;
var a =0;
var raznp=0;
var procp=0;


function calc()

{
var b = getMoneyBalance()+getSecBalance()*close;


if(open){a=a+1;}




if(a==1){openp=b;}




if(a==3){
closep=b;
raznp= closep-openp;
procp=(((closep*100)/openp)-100)/100;



signal::alert(procp+"**"+raznp);


a=0;
openp=0;
closep=0;


}



}

34
Подсистема ATF / Re: Ошибки ATF
« on: 18.04.2011, 11:06:44 »
Народ подскажите...
Пересмотрел вроде все, ну возможнто что то не увидел. Кароч должен выводить разницу цен openp и closep и в процентном отношении. А вот чет не выводит.


var openp=0;
var closep=0;
var a =0;
var raznp=0;
var procp=0;


function calc()

{
var b = getMoneyBalance()+getSecBalance()*close;


if(open){a=a+1;}




if(a==1){openp=b;}




if(a==3){
closep=b;
raznp= closep-openp;
procp=(((closep*100)/openp)-100)/100;



signal::alert(procp+"**"+raznp);
}

a=0;
openp=0;
closep=0;


}

35
Я как то по ошибке отформатировал флешку где лежал transaq со скрипом над которым я очень долго думал. И что вы думаете? Даже после такой страшной операции я восстановил файлы  transaq. Конечно, работоспособность программы я не вернул, зато забрал от туда скрипт.     ;)

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

37
Подсистема ATF / Re: Номера свечей
« on: 10.03.2011, 13:20:07 »
Вот сразу не отходя от кассы вопрос к разработчикам: можно ли сделать функцию для изменения таймфрейм?

38
Подсистема ATF / Re: Неполные лоты
« on: 10.03.2011, 12:27:54 »
С неполными лотами вообще беда. У меня вот зависли по газпрому. В финаме мне сказали позвонить по одному волшебному телефону в вечернее время и там должны  вроде как  помочь.

39
Подсистема ATF / Re: Номера свечей
« on: 10.03.2011, 12:19:59 »
Пара вопросов:

1. Как получить номер свечи именно с начала дня ?
Можно пример какой нить.

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


1.   Может проще замутить счетчик взяв за основу функции времени? 

40
Где-то в интернете мелькнула информация, что на бирже (по-моему, речь шла о ФОРТСе) собираются ввести дополнительную плату за использование торговых роботов. Дескать, они очень перегружают канал связи, поскольку молниеносно выставляют и снимают огромное количество заявок, обычный человек всё это делает гораздо медленнее и поэтому канал загружается не слишком сильно.

Вопрос:
Кто-нибудь знает, на какой стадии находится решение этого вопроса? Действительно ли собираются взимать доп. плату за роботов?

По мойму херня это все. С таким же успехом можно говорить, что слишком много стало клиентов и нужно урезать поток. Это ж типа потолок для развития рынка.  В САШЕ я слыхал вообще там до 70% роботов, а у нас их около 5%.

41
На днях пытался воссоздать возможность проведения  тестирования по средствам языка 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

и т.д

42
Да, именно так. И там тестировать скрипты на виртуальные деньги с реальными котировками.

Ну тогда можно просто (безо всяких трансляций) в боевой версии запускать скрипты, которые вместо торговых сигналов (их можно просто закомментить или "красный светофор" включить) будут генерировать сообщения типа:
"Сейчас столько-то времени, свеча номер такой-то. Покупаю X лотов по цене <здесь автоматически вставляется текущая рыночная цена>", потом все эти записи сопоставлять с графиками и анализировать. Ещё один вариант, приближенный к реалу, - торговать реально, но на очень маленьких количествах (1 лот).
Честно говоря, когда есть полноценный доступ к "боевой" версии, мне Интра вообще не нужна, она существует именно для того, чтобы заполнять паузы, вызванные выходными и праздниками. Сегодня вот, например... Кстати, с праздником всех! :)



Даже если время будет указано с большими тормозами - тут я не вижу ничего страшного.
Я думаю это  хорошая идея, и она будет полезна и бывалым трейдерам и начинающим. Подумайте сами уважаемые разработчики: хорошо когда изучение рынка начинается именно с Вашей программы ибо большая вероятность того что и в дальнейшем он предпочтет именно ее.
Ваш хлеб – это мы.
 ;)


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

44
Да, Олег. ;)   .... эт я на эмоциях не то написал. intra конечно

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

Pages: 1 2 [3] 4 5 6


Войти

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