Космонавт (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 След.
неужели OnParam самый быстрый?
 
Мой скрипт выложен вверху. Кто первый пришел и записался в лог тот и победил.
Странное поведение info.exe
 
На момент отправки была ночь, рынки спали, КВИКи были онлайн (зелёные лампочки внизу).
Открытие жрало 180 метров оперативки
Неттрейдер около 20 метров
Странное поведение info.exe
 
Выслал
Странное поведение info.exe
 
В момент создания архивов КВИКи должны быть включены или выключены?
Ядра процессора
 
Цитата
Николай Камынин написал:
Рекомендую сделать хронометраж а потом принимать решение.
Но если нужна действительно скорость то надо уходить на прямое подключение к бирже либо выделенный серевер у брокера (есть предложения у некоторых брокеров)
у открытия есть.
мне дали 20 дней тестов бесплатно
Странное поведение info.exe
 
На виртуалке стоят два КВИКа двух брокеров: Неттрейдер и Открытие.
версии одинаковые - 7.5.072
Рынки включены одинаковые, всё отфильтровано одинаково.
Почему такая разница в загрузке памяти?

КВИК открытия жрёт 200 мегабайт, квик неттрейдера 8
Вечер, торги на мамбе закрыты, робот торгует только на ММВБ, все роботы ВЫКЛЮЧЕНЫ!!!
таблицы всех сделок прогружены в обоих квиках, новых данных не поступает, фортс точно выключен везде.
Как это объяснить?
Ядра процессора
 
Станислав, вопрос не про скорость процессора, а про количество ядер. Если при 4 ядрах загрузка ниже 50%, какой смысл держать 4 ядра, может можно понизить до 3?
неужели OnParam самый быстрый?
 
тестирую эти же колбеки на другом брокере - Открытие.
Всё то же самое, но чуть чуть отличается.
ОнПарам по прежнему самый быстрый.
OnAllTrade приходит вторым , но цифра в миллисекундах почти всегда загадочно совпадает с приходом ОнПарам
Вот так:
Цитата
01/10/17 13:10:18,792 APTK пишет OnParam OB 10.31 time_diff=56687
01/10/17 13:10:18,792 APTK пишет OB OnAllTrade 10.31 time=13:10:18 675 675329 time_diff=0
01/10/17 13:10:18,885 APTK пишет OB DataSource 10.31 time_diff=95
редко-редко OnAllTrade приходит с другой цифрой в миллисекундах - на квант позже:
Цитата
01/10/17 12:49:45,674 APTK пишет OnParam OB 10.31 time_diff=288303
01/10/17 12:49:45,690 APTK пишет OB OnAllTrade 10.31 time=12:49:45 485 485692 time_diff=15
01/10/17 12:49:45,690 APTK пишет OB DataSource 10.31 time_diff=0
Ну и колбек ДатаСорс всегда третий. Он самый тормозной у Открытия, но успешно конкурирует (не уступает) с OnAllTrade у предыдущего брокера (НетТрейдер)

Бывает, что всё втроём приходят одновременно (Открытие), но не было случая, чтобы ОнПарам пришёл НЕ первым.
Цитата

01/10/17 13:19:17,807 APTK пишет OnParam OB 10.31 time_diff=8750
01/10/17 13:19:17,807 APTK пишет OB DataSource 10.31 time_diff=0
01/10/17 13:19:17,807 APTK пишет OB OnAllTrade 10.31 time=13:19:17 737 737640 time_diff=0
неужели OnParam самый быстрый?
 
Сергей, значит есть закономерности, которых Вы не знаете.
Ведь по какой то причине ОнПарам опережает все другие колбеки, хотя и обновляется срезами.

Возможно это как раз зависит от брокера. Мой брокер - например - обновляет Текущую таблицу часто раз в 25 миллисекунд, а другой брокер раз в 100 миллисекунд. Но причина по которой ОнПарам быстрее обезличенных сделок и ДатаСорса по прежнему не ясна.
неужели OnParam самый быстрый?
 
Тестирую три колбека на предмет прихода цены последней сделки. Удивительно, но OnParam всегда реаигрует быстрее. Не было случая чтобы его кто то опередил.
Код
function OnAllTrade (alltrade)
    if string.find(ticker_list,alltrade.sec_code)~=nil then
    last_price[alltrade.sec_code]=alltrade.price
    
    if alltrade.sec_code==speed_check then
        time_diff=os.clock()-remember_time
        remember_time=os.clock()
        local datatime_table=alltrade.datetime
        toLog (log, speed_check.." пишет OnAllTrade "..alltrade.price.." time="..datatime_table.hour..":"..datatime_table.min..":"..datatime_table.sec.." "..datatime_table.ms.." "..datatime_table.mcs.." time_diff="..math.ceil(time_diff*1000))
    end
    
    end
end

 function OnParam (class, sec)
     if string.find(ticker_list,sec)~=nil then --and class=="TQBR" нужен если есть классы с такими же акци¤ми.
     
        if sec==speed_check and last_price[sec]~=getParam(sec,'last') then
            time_diff=os.clock()-remember_time
            remember_time=os.clock()
            toLog (log, speed_check.." пишет OnParam "..getParam(sec,'last').." time_diff="..math.ceil(time_diff*1000))
        end 
        
        if last_price[sec]~=getParam(sec,'last') then
            last_price[sec]=getParam(sec,'last')
        end

     end
 end

 function mycallbackforallstocks(class,sec,index)         
    local num_candles=ds[sec]:Size() 
    if index==num_candles then        
        if sec==speed_check then
            time_diff=os.clock()-remember_time
            remember_time=os.clock()        
            toLog (log, speed_check.." пишет DataSource "..ds[sec]:C(num_candles).." time_diff="..math.ceil(time_diff*1000))
        end 
        last_price[sec]=ds[sec]:C(num_candles)     
     end


end

function DataSource(class,sec,interval)
   ds[sec] = CreateDataSource(class,sec,interval)
   ds[sec]:SetUpdateCallback(function(...) mycallbackforallstocks(class,sec,...) end)
   return ds[sec]
end
вот логи с результатами (выборка). Единственное что плохо и странно - в некоторых случаях OnParam не срабатывает, хотя должен:

Код
01/09/17 10:59:18,762 APTK пишет OnParam 10.32 time_diff=2437 --долго не было сделки
01/09/17 10:59:18,794 APTK пишет DataSource 10.32 time_diff=32
01/09/17 10:59:18,794 APTK пишет OnAllTrade 10.32 time=10:59:18 668 668769 time_diff=0
01/09/17 10:59:18,794 APTK пишет OnAllTrade 10.32 time=10:59:18 668 668769 time_diff=0


01/09/17 11:01:26,475 APTK пишет OnParam 10.35 time_diff=39949 --долго не было сделки
01/09/17 11:01:26,585 APTK пишет OnAllTrade 10.33 time=11:1:26 537 537267 time_diff=109
01/09/17 11:01:26,585 APTK пишет OnAllTrade 10.34 time=11:1:26 537 537267 time_diff=0
01/09/17 11:01:26,585 APTK пишет OnAllTrade 10.34 time=11:1:26 537 537267 time_diff=0
01/09/17 11:01:26,585 APTK пишет OnAllTrade 10.35 time=11:1:26 537 537267 time_diff=0
01/09/17 11:01:26,803 APTK пишет DataSource 10.35 time_diff=219

01/09/17 11:01:36,314 APTK пишет OnParam 10.36 time_diff=3827 --долго не было сделки
01/09/17 11:01:36,314 APTK пишет DataSource 10.36 time_diff=0
01/09/17 11:01:36,314 APTK пишет OnAllTrade 10.36 time=11:1:36 196 196312 time_diff=0
01/09/17 11:01:36,314 APTK пишет OnAllTrade 10.36 time=11:1:36 196 196947 time_diff=0

OnParam не пришёл!!!!
01/09/17 11:05:55,150 APTK пишет OnAllTrade 10.37 time=11:5:55 349 349008 time_diff=158045
01/09/17 11:05:55,259 APTK пишет DataSource 10.37 time_diff=109

01/09/17 11:11:47,931 APTK пишет OnParam 10.35 time_diff=352672  --долго не было сделки
01/09/17 11:11:47,931 APTK пишет OnAllTrade 10.35 time=11:11:48 153 153625 time_diff=0
01/09/17 11:11:48,025 APTK пишет DataSource 10.35 time_diff=95
01/09/17 11:12:21,931 APTK пишет OnAllTrade 10.35 time=11:12:22 265 265944 time_diff=33906
01/09/17 11:12:22,024 APTK пишет DataSource 10.35 time_diff=95
01/09/17 11:15:27,376 APTK пишет OnAllTrade 10.35 time=11:15:27 778 778281 time_diff=185352
01/09/17 11:15:27,470 APTK пишет DataSource 10.35 time_diff=94

Вопрос 1: почему OnParam не всегда срабатывает, хоть и было изменение цены? (у меня в ОнПарам фильтр - не реагировать если цена прежняя). Я бы отказался от других колбеков, раз они медленные, но получается ОнПарам иногда даёт сбои.
Вопрос 2: у других участников форума тоже OnParam срабатывает первым? Или это зависит от брокера?
Спасибо.
измерить скорость выставления заявки
 
Цитата

И о какой версии терминала мы говорим?
7.5.072
Код
ticker_list = "AFKS,AFLT,AGRO,ALRS,APTK,.... и ещё много акций....."

function OnTransReply(reply)
    if reply.sec_code~="ABRD" then --пришлось отфильтровывать
        if orders[reply.trans_id]==nil then         
        else
            orders[reply.trans_id].tr_receive_time=os.clock()    
            local latency=(orders[reply.trans_id].tr_receive_time-orders[reply.trans_id].tr_send_time)*1000        
            toLog (log, reply.trans_id.." x="..orders[reply.trans_id].x_number.." zaderzhka "..latency)    
        end
    end
end

внутри main:

for sec in string.gmatch(ticker_list,"%a+") do
--анализ
--отсылаем заявку, засекаем время 

end

В ticker_list никакой Абрау Дюрсо нет, но она прилипает к каждому реплаю.
Можно ли перелогиниваться с помощью Луа
 
Это очень плохо. Реализуйте пожалуйста в следующей версии. Спасибо
два робота в одном квике
 
Николай, спасибо за качественный ответ.
Andrei2016, вам тоже спасибо, но это всё азбука, которую я хорошо знаю.

Я принял решение держать две виртуалки, в каждой сидит по КВИКу. Спасибо, тема закрыта.
два робота в одном квике
 
Старатель, сделайте доброе дело - конкретизируйте то, что хотели сказать вот здесь. Вас ведь что то смутило в этом варианте? По вашему две виртуалки всё равно будут получать данные последовательно, а не параллельно? Это для меня самый загадочный момент в этой дискуссии.
Цитата
Обе виртуалки стоят на одном физическом сервере с одним сетевым интерфейсом?
Оба квика подключены к одному серверу QUIK?
За счёт чего предполагается получить "выигрыш я в скорости"?
измерить скорость выставления заявки
 
Разработчики, прошу, не отмалчивайтесь.
Откуда берётся этот постоянный трэш с Абрау Дюрсо?
Все колбеки по транзакциям приходят в двойном виде: ABRD + правильный
два робота в одном квике
 
П.С. Вариант №2 был бы для меня самым комфортным. Одна виртуалка, на ней стоят два КВИКа, в одном робот ФОРТС, в другом робот ММВБ. Но Старатель чуть выше писал что это не поможет, а мне не понятно почему.
Можно ли перелогиниваться с помощью Луа
 
Добрый день.
1. Можно ли средствами Луа разлогиниваться и перелогиниваться в КВИКе?
2. Если да, то можно ли выбирать нужный сервер из числа предложенных роботом?
Спасибо
два робота в одном квике
 
Цитата
swerg написал:
если жи колбеки короткие и быстрые - то смысла разносить нет.
Колбек, о котором идёт речь - SetUpdateCallback к функции дата сорс. Внутри него считается несложны индикатор.
Центром прибыли и главной денежной машинкой является робот на ММВБ. Я хочу дать ему полное преимущество.
Попутно я экспериментирую с точно таким же роботом для ФОРТС. Денег он даёт меньше, но сделки на ФОРТС сыпятся чаще, я боюсь что он отбирает скорость от робота ММВБ.
Поэтому я хочу исключить его "вредоносность" для робота на ММВБ.
Это и есть суть моей проблемы.

Давайте воспользуемся бритвой Оккама.Усложнять решение можно только если это необходимо.
1 решение самое простое. Его дал Н.Камынин. Внутри одного КВИКа создать 2 скрипта без функции main. В каждом из них сидит свой колбек. Первый ФОРТС, второй ММВБ. Они раздают информацию на двух роботов ММВБ и ФОРТС. Старатель вроде как отвергает этот вариант.
2 решение немного сложнее: два КВИКа с разными ЮИДами, в каждом из которых крутится свой робот. ФОРТС в одном КВИКе, ММВБ в другом.
3 решение самое сложное (я сейчас им пользуюсь). Две виртуалки, в каждой из которой сидит свой КВИК со своим роботом. Но и тут Старатель опровергает преимущества, но толком не объясняет почему.

Вот я и прошу уважаемых собеседников дать ответ что лучше с точки зрения скорости. Скрипт ФОРТС не должен мешать роботу на ММВБ.
два робота в одном квике
 
Цитата
Старатель написал:
Космонавт  ,
Как я полагаю  параллельного получения колбэков  с одного сервера QUIK не добиться (разработчики меня поправят, если ошибаюсь) даже на нескольких терминалах.
интересно что скажут разработчики.
Неужели брокер раздает данные пользователям последовательно, а не параллельно?
два робота в одном квике
 
Ок. То есть именно увеличение частоты процессора?
Я думал идти по пути увеличения числа ядер. Но у меня и так при 4 ядрах загрузка процессора около 25 или 30 процентов.
Увеличить частоту на виртуалке как раз можно, там есть опция перейти на более дорогое железо.
два робота в одном квике
 
П.С. с отправкой заявок та же ерунда. Она все время разная с большим разбросом от 40 до 1500 мс. Поэтому тяжело сравнивать при разных условиях, ведь даже при одинаковых уаловиях нет стабильности
два робота в одном квике
 
Посоветуйте, как сделать такой мониторинг. Дело в том, что скорость общения квика с брокером всегда меняется. В эту минуту она хорошая, в Информационном окне показатель 0.04, а через минуту 0.4. Поэтому я и пытаюсь получить не эмпирический ответ, а ответ на основе логики, теории и здравого смысла. Так как опыты дают слишком разные результаты.
С Рождеством!
Старатель, в любом случае спасибо за ответы, я сейчас с интересом читаю ваши комменты в других ветках.
два робота в одном квике
 
Старатель, вы хорошо поступите, если из задавальщика вопросов превратитесь в отвечальщика. Вот я сейчас трачу время на набор бессмысленного компентария. А ведь свою глубокую мысль про бессмысленность двух виртуалок вы уже могли давно изложить, и мы бы двигались дальше.
Ок. Объясните пожалуйста почему 2 виртуалки не дают преимушества в скорости.
два робота в одном квике
 
Николай Камынин, я кажется понял вашу мысль. Вы создаёте скрипт с колбеками, без функции main? Скрипт заполняет данными файл.
А рядом крутится торговый робот с функцией main, который считывает данные из файла?
То есть если я создаю:
1. Отдельный скрипт с колбеком ДатаСорс для ммвб
2. Отдеьный скрипт с колбеком ДатаСорс для фортс
3. Отдельный скрипт - торговый робот (без колбеков, берёт данные из файла от соседних колбеков), то они не конкурируют, а работают параллельно?
два робота в одном квике
 
Цитата
это скорее всего квант винды для процесса. он кратен 10 мс.
либо задержка сервера брокера

это разница между отправкой заявки и получением реплая через OnTransReply. Разве это не ответ на вопрос как долго заявка летела в систему, а потом шёл обратно ответ? Пусть даже это число кратно 10 мс (квант). Общее представление ведь оно даёт.
два робота в одном квике
 
Цитата
Николай Камынин написал:

Чтобы колбеки исполнялись параллельно надо внутри колбеков открывать потоки.
А луче (я делал именно так) колбеки выносить в отдельные скрипты. В резлутате будет вообще-то, для каждого колбека будет свой поток.
Не уловил мысль.
1. Расскажите пожалуйста как внутри колбеков открывать потоки
2. Если колбеки выносить в отдельные скрипты, то чем это принципиально отличается от моего варианта, когда внутри одного квика крутится первый робот на фортс и второй робот на ММВБ? Колбеки как раз разнесены по разным скриптам. Разве это не тот вариант, который Вы предложили?
П.С. Я очень плохо ориентируюсь в терминах железа и программирования, извините пожалуйста если я что то не понимаю.
два робота в одном квике
 
Цитата
Старатель написал:
Цитата
Космонавт   написал:
Уже арендовал вторую, теперь ммвб-шный робот на одной виртуалке, фортс-робот на второй. Процессора хватает, памяти хватает, скорость интернета немыслимо хороша. Как оценить скорость срабатывания колбеков и понять выиграл я в скорости или равнозначно?
Обе виртуалки стоят на одном физическом сервере с одним сетевым интерфейсом? Оба квика подключены к одному серверу QUIK?
За счёт чего предполагается получить "выигрыш я в скорости"?
Не понял последний вопрос. Что вас смутило?
Обе виртуалки арендую у UltraVDS,
Брокер один, сервер у него один.
два робота в одном квике
 
Цитата
Сергей Дворцов написал:
Раундтрип самой быстрой заявки в Квике будет 150 мс
вот мои свежие логи

01/06/17 10:13:06,864 sec_code=MSNG;price=2.4205;client_code=000;balance=0;time=101308;status=3;qty=3;class_code=TQBR;trans_id=532782944;account=Y01+00000B00;exchange_code=;quantity=3;firm_id=MC0020800000;flags=262145;result_msg=(160) Заявка на покупку N 15836586314 зарегистрирована.;brokerref=/1.5774;order_num=15836586314;R=532782944;server_trans_id=329;uid=6695;ordernum=15836586314;
01/06/17 10:13:06,864 532782944 zaderzhka 30.999999988126

01/06/17 10:13:06,973 sec_code=MSNG;price=2.4205;client_code=000;balance=0;time=101308;status=3;qty=3;class_code=TQBR;trans_id=1623615465;account=Y01+00000B00;exchange_code=;quantity=3;firm_id=MC0020800000;flags=262145;result_msg=(160) Заявка на покупку N 15836586321 зарегистрирована.;brokerref=/1.5774;order_num=15836586321;R=1623615465;server_trans_id=329;uid=6695;ordernum=15836586321;
01/06/17 10:13:06,973 1623615465 zaderzhka 31.000000017229

Задержка 30 миллисекунд. Это время между отправкой и получением ответа. Виртуалка в москве, обычный КВИК.
два робота в одном квике
 
Цитата
Сергей Дворцов написал:
Раундтрип самой быстрой заявки в Квике будет 150 мс и  это на хостинге у брокера, поэтому что два Квика, что три - один фиг... Поэтому используйте один Квик не не морочьте себе голову... Если нужно скорость, то на Плазу....
мой вопрос не про заявки, а про анализ рыночной информации
измерить скорость выставления заявки
 
ещё постоянно прилетают ответы по Абрау Дюрсо (ABRD), по какой бы акции я не отсылал, всегда летит вот так:

01/05/17 14:31:51,051 sec_code=AFKS;price=23.48;client_code=35328;balance=0;time=143152;status=3;qty=7;class_code=TQBR;trans_id=871101024;account=Y01+00000B00;exchange_code=;quantity=7;firm_id=MC0020800000;flags=262145;result_msg=(160) «а¤вка на покупку N 15834483209 зарегистрирована.;brokerref=/0.8799;order_num=15834483209;R=871101024;server_trans_id=329;uid=6695;ordernum=15834483209;
01/05/17 14:31:51,051 871101024 задержка 62.000000005355
01/05/17 14:31:51,051 sec_code=ABRD;time=0;status=1065;class_code=TQBR;trans_id=871101024;flags=0;result_msg=;server_trans_id=-20504;uid=0;R=871101024;
01/05/17 14:31:51,051 871101024 задержка 62.000000005355

отослал заявку по AFKS, получил по ней, а также по абсолютно левой ABRD
измерить скорость выставления заявки
 
Добрый день.
Как быстро моя заявка попала в стакан?
Если я засекаю время и пользуюсь OnTrnsReply, то информация о времени придёт увеличенная: заявка улетит на биржу (тратится время), а обратно придёт ответ (тратится время). Мне нет дела знать, сколько шёл ответ, мне надо знать когда заявка появилась в боевой очереди в стакане на бирже.
Как это сделать?

Сейчас я считаю так:
Код
function OnTransReply(reply)
        orders[reply.trans_id].tr_receive_time=os.clock()    
        local latency=(orders[reply.trans_id].tr_receive_time-orders[reply.trans_id].tr_send_time)*1000
end

ну и перед отправкой засекаю через os.clock()  
В итоге полученное время дольше, чем есть на самом деле из за того, что ответу нужно идти ко мне в терминал, хотя заявка на бирже уже стоит.
присвоение табличному элементу значения
 
Прекрасно!
Большое спасибо
присвоение табличному элементу значения
 
добрый день.
прошу подсказать как корректно написать на луа
Код
test_table={}
test_table.s=1
next_table={}
next_table.[test_table.s]=3 --иными словами в этой строчке создать элемент next_table[1] и присвоить значение 3
Спасибо за подсказку
два робота в одном квике
 
Цитата
swerg написал:
Мы про хочется/не хочется или результат? вы уж определитесь.
В любом случае нужны тексты в вашей конкретной инфраструктуре.
Да, мы про результат.
Уже арендовал вторую, теперь ммвб-шный робот на одной виртуалке, фортс-робот на второй. Процессора хватает, памяти хватает, скорость интернета немыслимо хороша. Как оценить скорость срабатывания колбеков и понять выиграл я в скорости или равнозначно?
Ядра процессора
 
Господа, прошу дать совет в выборе конфигурации виртуалки.
Арендую у UltraVDS.
Пользовался конфигурацией 4 ядра (2,2 Ггц), 4 гб оперативки. Загрузка процессора всегда была ниже 30%. Оперативной памяти тоже использовалось мало, намного меньше 4 Гб.
Я решил ради экономии уменьшить конфигурацию до
2 ядра, 2 гига оперативки.
Пользуюсь. Всё хорошо. Проц загружен меньше 50%, памяти хватает.
Вопрос 1. От понижения железа станут ли роботы медленнее реагировать на события? Колбек DataSourse, приход данных в стакан, колбек OnParam, колбек таблицы всех сделок? У меня такая стратегия, что чем быстрее реакция на события, тем лучше она зарабатывает, поэтому я готов вернуться на старую конфигурацию, если это реально влияет.
Вопрос 2. Стоит ли играться с настройками "Приоритет"? Это в диспетчере задач, где выставляется приоритет для процессов. Если да, то какому процессу давать повышенный приоритет: info.exe, winRos или обоим?
Спасибо.
С Новым Годом!!!
два робота в одном квике
 
Цитата
если речь про скорасть реакции на события - то два разных квика будут быстрее наверное. Потому что колбеки будут работать параллельно. А процессоры нынче все многоядерные.
но ресурсов два квика будут есть побольше, чем один.
Да, нужна быстрая реакция на события. При этом не хочется нагромождение из второго КВИКа или второй виртуалки. Только если это действительно даст ускорение реакции. Когда произойдёт нужная ситуация на рынке, мне нужно сразу выставить заявку.
два робота в одном квике
 
Цитата
Старатель написал:
Цитата
swerg   написал:
Потому что колбеки будут работать параллельно.
Точно? Ведь информация через сетевой интерфейс будет поступать не параллельно.
Значит самый лучший для скорости вариант - арендовать одну виртуалку для ММВБ и другую для ФОРТС?
два робота в одном квике
 
Цитата
Старатель написал:
Цитата
swerg   написал:
Потому что колбеки будут работать параллельно.
Точно? Ведь информация через сетевой интерфейс будет поступать не параллельно.
По мотивам этой реплики ещё уточняющий вопрос. Если у меня в одном КВИКе работает один единственный ММВБ-шный робот по дата-сорс колбеку. И я по недогадливости не отключил приём данных ФОРТС (Система-Заказ данных). И текущая таблица по ФОРТС тоже открыта. Значит, пока принимается сделка ФОРТС, сделка ММВБ ждёт и становится в очередь?
два робота в одном квике
 
добрый вечер.
С наступающими!
Выбираю между двумя вариантами:
1. два скрипта (фортс+ММВБ) внутри одного КВИКА
2. скрипт фортс внутри одного КВИКа (свой UID), скрипт ММВБ внутри другого КВИКа (другой, отдельный UID).
Нужно выбрать тот вариант, который будет работать быстрее.

Оба скрипта работают с DataSource по колбеку.

Наводящий вопрос. Если два скрипта (один фортс, другой ММВБ) крутятся внутри одного КВИКа, то в какой очерёдности обрабатываются новые сделки ФОРТС и ММВБ? Обрабатывается сделка ММВБ, и тут подоспела сделка ФОРТС. Сделка ФОРТС начнёт обрабатываться параллельно или будет ждать, пока обработается ММВБ? Иными словами будет очередь или параллельная работа?
Спасибо.
три таймфрейма
 
Функция колбека не имеет параметра тайм-фрейма .
Значит можно запустить один колбек для трёх Data Source?
три таймфрейма
 
Цитата
Старатель написал:
Цитата
Космонавт   написал:
Будет ли один колбек обновлять три DataSource?
А как вы сами думаете? Будет обновляться DataSource с заданным тайм-фреймом:
CreateDataSource(class,sec,  interval  )
Переформулируйте ответ. Не понятно.
Будет обновлять все три или только один?
три таймфрейма
 
после объединения трёх скриптов в один хватит ли им одного колбека?
три таймфрейма
 
добрый день.
У меня три скрипта. Код одинаковый, отличаются только настройки и таймрфейм - пятниминутки в одном, часовик в другом, дневки в третьем.
Робот работает по колбеку в каждом из 3 случаев. Набор бумаг одинаковый. То есть при получении данных по каждой новой бумаге он три раза обновляет дата сорс.
Я хочу объединить эти роботы в один скрипт, и чтобы колбек был один. Будет ли один колбек обновлять три DataSource?

Сейчас работа с дата сорс выглядит вот так.
Код
 function mycallbackforallstocks(class,sec,index)         
    local num_candles=ds[sec]:Size() 
    if index==num_candles then    
    ...................................     
     end


end

function DataSource(class,sec,interval)
   ds[sec] = CreateDataSource(class,sec,interval)
   ds[sec]:SetUpdateCallback(function(...) mycallbackforallstocks(class,sec,...) end)
   return ds[sec]
end
проверка DataSource на успех
 
Цитата
s_mike@rambler.ru написал:
Цитата
Космонавт   написал

Есть ли надёжные способы проверки DataSource на успех, чтобы идти дальше только после успешного заказа данных?
Спасибо.
Сначала проверьте наличие самого инструмента вызовом любой функции, например, получите его статические параметры или любой другой функцией. Если вернется значение успеха - CreateDataSource вам гарантированно создаст подписку на инструмент.
то есть что то в духе:
Код
while ds[sec]:Size()==nil do
sleep (1000)
end
?
проверка DataSource на успех
 
Код
 function DataSource(class,sec,interval)
   ds[sec] = CreateDataSource(class,sec,interval)
   return ds[sec]
end

DataSource(class,sec,tf)
sleep (10000)
дальнейшие действия...
Засыпание на 10 секунд нужно чтобы дата сорс гарантированно прогрузился.
Есть ли надёжные способы проверки DataSource на успех, чтобы идти дальше только после успешного заказа данных?
Спасибо.
проверка DataSource на успех
 
Добрый день.
У меня в коде написано так:
Робот на Луа +API брокера
 
А можно прямо из луа отсылать хттп-запросы?
зачем мне питон и пхп?
Робот на Луа +API брокера
 
Спасибо, Николай!
это то что нужно.
Низкий поклон )
Робот на Луа +API брокера
 
п.с. у меня виртуалка с московским ай пи, виндовз сервер 2003
Робот на Луа +API брокера
 
Цитата
swerg написал:
Если я все верно понял, то надо просто научиться слать http-запросы
что вполне реально, подойдут примерно те же библиотеки,что для отправки почты
для этого нужен специальный софт? Куда вносить коды, которые они приводят в примерах?
https://tradernet.ru/tradernet-api/orders-send
Страницы: Пред. 1 2 3 4 5 6 След.
Наверх