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

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 25 След.
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Ну так и в примере, что я показал, все можно сделать не прямолинейно. А колбек сам вызовется по исполнению. Это мало чем отличается от использования тех же корутин. Пишите менеджер вызова исполняемых процедур, а что он вызывает - не важно. Важно чтобы процедура исполнялась столько сколько надо. Если бы корутина работала сама, без менеджера, то это было бы совсем другая среда. Но такого в lua нет.
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Если цель помнить состояние, то это прекрасно делают замыкания. Я, например, так пишу таймеры. Можно и счетчик.

Вот ваш счетчик с колбеком по достижению через замыкание
Код
local function counter(i, limit, call_back)
    local x = 0
    return function(...)
        x = x + 1
        if x >= limit then
            if call_back then call_back(i, ': reach', x, ...) end
            return true
        end
        return false
    end
end

if _G.message then
    print = function(...) _G.message(table.concat({...}, ", ")) end
end

local is_run = true

function main()
    local worker1 = counter(1, 5, print)
    local worker2 = counter(2, 20, print)
    local worker3 = counter(3, 10, print)
    while is_run do
        if worker1 and worker1() then worker1 = nil end
        if worker2 and worker2() then worker2 = nil end
        if worker3 and worker3() then worker3 = nil end
        sleep(100)
    end
end

function OnStop()
    is_run = false
end
Это просто пример с прямолинейной реализацией.
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Ну так и функция - это код, который выполняется тогда, когда вызываешь, а не иначе. Т.е. если надо периодически вызывать какой-то расчет, то почему просто не функция. Корутина с остановкой удобна, если надо запомнить состояние и вернуться к выполнению, не передавая заново весь набор параметров. Например, итераторы. Но это далеко не единственный способ так делать. Сделали набор функций и вызывает их в цикле main, пока он крутится.
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Код
сделать фоновый поток в QUIK с использованием корутины, без блокировки терминала и с периодическим выводом результата.

main в скриптах - это уже дополнительный поток, выполняющийся отдельно от потока терминала. Создавать внутри него псевдо-потоки можно, но это уже не имеет никакого отношения к фоновому исполнению, т.к. все внутри main выполняется фоново к терминалу, если использовать эту терминологию.  
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Не вижу смысла. Тем более, что приведенный код выглядит нагроможденным. Если цель проверить какое время необходимо для вычисления c = c + 1 N раз с остановкой на каждую итерацию, то зачем такое количество кода.
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
К сожалению, это не так. Корутины в Lua - это просто один из инструментов, далеко не идеальный. Я уже говорил, что это же можно сделать через замыкание и через очередь вызовов их. Т.к. они не обеспечивают ничего нового, уникального, то это просто дело вкуса. Если бы это был другой язык, например Go, то это был бы другой разговор.

Так что если нравится использовать корутины - на здоровье. Но сказать, что без них никак, точно нет. Я бы сказал, что к ним стоит прибегать в очень редких случаях - например, создание своего итератора (хотя и здесь можно обойтись без них). Или, например, завернуть некий вызов в корутину, отправить в очередь и потом вызвать.
Индекс запсииси в таблице ордеров
 
Это уже не дает ошибку, т.к. после OnCleanUp внутри сессии происходит сброс индексов таблицы ордеров и заново ищем ордера по номеру, когда они появятся. Некорректные индексы появились с выходом 12 версии, ранее такого никогда не было.

Сейчас уже вопрос в том - зачем. Скорость загрузки данных - это уже дело десятое, хотя появление записей в таблице ордеров после восстановления подключения через минуты - это не сказать, что хорошо.
Индекс запсииси в таблице ордеров
 
Еще брокеры с таким поведением

SERVER: ВТБ24, IPCOMMENT: Сервер1
quik_version 12.5.0.20

[INFO  2025-10-24 12:39:35] :           OnDisconnected

INFO  2025-10-24 12:41:37] : OnCleanUp

[INFO  2025-10-24 12:47:56] :           OnCleanUp

[INFO  2025-10-24 12:48:00] : OnConnected flag true

-------------------------------------------------------------------------

Брокер Кит-финанс
quik_version 12.7.1.8

[INFO  2025-10-22 11:34:16] :  OnDisconnected

[INFO  2025-10-22 11:34:48] :  OnCleanUp

[INFO  2025-10-22 11:35:02] :  OnCleanUp

[INFO  2025-10-22 11:35:41] :  OnConnected flag true


Все же возникает вопрос - зачем в середине торговой сессии вызывать OnCleanUp?

При этом данные после такой чистки загружаются минуты.
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Не важно какой подход используется - важно как он работает и работает ли он надежно. Если Вы делаете решение для себя и готовы постоянно заниматься отладкой пограничных ситуаций, то делайте как угодно.
Хотя уже здесь корутины начинают привносить излишнюю сложность. Те же замыкания прекрасно справляются с запоминанием окружения и позволяют решать ту же задачу.
Далее, что самое важное - это воспроизводимость результатов, обработка ошибок. И здесь колбеки - это не лучшее решение, т.к. они не гарантированы, приходят в случайном порядке. Для задач реального времени - это приговор.

Представьте, что датчик выдает данные. Вы решаете использовать "модную" библиотеку с колбеками. Но начиная использовать её, получаете данные с пропусками, данные могут приходить из прошлого. Во многих отраслях - это просто недопустимое поведение.

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

Я понимаю, что есть соблазн использовать подход со слугой - сказал ему, что делать, он сообщит когда будет результат. Но такой подход всегда требует надсмотрщика, проверки. Так что самому подойти к кастрюле и проверить как там каша - надежней.
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Это не так.

trans_id - это просто некий ключ, задаваемый при подаче транзакции. При этом, что важно, он не обязательно уникальный. Т.е. необходимо обеспечить уникальность trans_id для нескольких скриптов, если они есть. Иначе очень вероятна ситуация когда trans_id будет одинаковый у разных скриптов. Более того, если отправите транзакцию через команды интерфейса терминала, то trans_id будет пустой.
Т.о. trans_id - это ваш ключ. Его необходимо использовать только для понимания, что транзакция принята сервером брокера, ядром биржи. Читая ответ транзакции по нему можете увидеть причину отказа.

Если же транзакция прошла, то наступает следующий этап - получить ключ в ядре биржи, и это order_num. Он будет уникальным. Какой там был ключ транзакции бирже не важно, она получает запрос, отправляет ответ. Сервер брокера перенаправляет ответ биржи клиенту.

Если ошибок при отправки транзакции нет, то после регистрации ордера в ядре бирже, в таблице ордеров появится новая запись, в которой будет order_num и trans_id. При этом trans_id может появится не с первого колбека, а, скажем, со второго. Задача - отслеживать записи в таблице ордеров, и по trans_id найти номер ордера - order_num. После его получения про trans_id уже не столь важен. Почему - все просто, ордер может жить дольше чем одна торговая сессия.

Запоминая номер ордера уже можно отслеживать его состояние. Кто-то предпочитает колбеки, т.к. именно так показано в большинстве примеров на просторах ...., я же предпочитаю читать состояние прямо из таблицы ордеров, в реальном времени. Это делать не так и сложно, т.к. всегда можно запомнить номер индекса записи в таблице ордеров. Т.о. order_num будет ключом для скрипта, по которому он всегда может понять что случилось с его ордером. И скрипт при этом должен уметь отличать свои ордера от чужих.


Поэтому нельзя использовать один ключ при клиент-серверном взаимодействии. Есть ключ запроса, есть ключ ответа. Запрос - это просто действие "сейчас". Ответ же может содержать информацию, которая имеет смысл более длительный промежуток времени.
Не работает getDataSourceInfo в индикаторе
 
Т.к. с 7-ой версии, кажется, разрешены пропуски на графике, то в теории первый бар может иметь не индекс 1.
Не работает getDataSourceInfo в индикаторе
 
Только учитывайте, что этот подход рассчитан на то, что будет вызван OnCalculate для индекса 1. Что в большинстве случаев верно, конечно. Но, судя по сему - не гарантировано. Но предпочитаю более надежный подход через инициализацию переменных в замыкании и проверке первого вызова для любого индекса.  
Не работает getDataSourceInfo в индикаторе
 
Его не стоит применять в Init. Запуск индикаторов у Квика устроены очень странно. Вызывайте на первом вызове колбека OnCalculate.
Неккоректная работа CreateDataSourse
 
Не думаю, что проблема в этом. Банально ошибка при вызове:

CreateDataSource (STRING class_code, STRING sec_code, NUMBER interval, [, STRING param])

Третий параметр - это число. "INTERVAL_H1" - это строка.

INTERVAL_H1 (без кавычек) - это константа = 60

Лучше использовать просто числа, а не константы из qlua.
OI ломает данные индикатора, OI ломает данные индикатора, OI ломает данные индикатора, OI ломает данные индикатора
 
Ну так перейдите на индексацию временем в виде числа, время-то не убегает.
Два варианта использования графического пакета IUP (Lua 5.4) в QUIKе
 
Опять эти разговоры про параллельное исполнение. Lua - синхронное, однопоточное изделие. Корутины - это просто созданный стек и выполнение через переключение. Работать может либо тело скрипта, либо корутина, но не параллельное исполнение. Как только вы начинаете с помощью внешних средств пробовать сделать параллельное исполнение, то сразу же возникает вопрос о защите стека, т.к. всегда возникнет ситуация когда кто-то пишет в стек, а другой, параллельный, читает и очищает стек. Квик в этом плане падает сразу, если небрежно уронить стек скрипта. Что отдельная тема, прочему скрипт убивает весь терминал.

Так что реализация работы с одним стеком через потоки - это не такая простая задача, и точно не про корутины, которые не стоит путать с таковыми в других языках, приписывая им те же свойства. Lua - это продукт из 90-х.
Два варианта использования графического пакета IUP (Lua 5.4) в QUIKе
 
Нет, мне это не надо. Просто замечание, что если предлагаете какое-то открытое решение, то зачем скрывать код, его подключающее.
Два варианта использования графического пакета IUP (Lua 5.4) в QUIKе
 
Цитата
TGB написал:
Цитата
Nikolay написал:
Просто к слову, т.к. используется неизвестная библиотека QluaUser.dll то запускать это не видя исходники будут сложно. По крайней мере мне, не знаю как другим.

Цитата
TGB написал:
-- Вариант 1: запуск IUP в потоке main (надо подключать только IUP, но цикл обработки скрипта программировать
-- в таймере IUP: помечено #### ).
-- Вариант 2: запуск IUP в отдельном потоке отличном от main(кроме IUP, обязательно подключать пакет QluaUser).
--    Вариант 1 более безопасный, чем 2. Так как однопоточный, и не требующий синхронизации диалога с
-- основной работой скрипта.
Я понял про что это библиотека. Я говорил, что нет исходников.
Два варианта использования графического пакета IUP (Lua 5.4) в QUIKе
 
Просто к слову, т.к. используется неизвестная библиотека QluaUser.dll то запускать это не видя исходники будут сложно. По крайней мере мне, не знаю как другим.
повторный Init() без OnDestroy() в индикаторе, При смене инструмента графика в Lua индикаторе перечитывается файл без предварительного срабатывания OnDestroy()
 
Судя по всему это так и не будет исправлено. Сейчас при смене инструмента не то что OnDestroy не вызывается, а происходит полная инициализация индикатора заново, т.е. выполняется с тела фала. Это легко можно проверить сделав инициализацию лог файла с отметкой времени в теле скрипта индикатора. И по традиции, при добавлении индикатора на график а также иногда и при смене инструмента, это происходит два раза, первый раз без вызовов Init, второй раз уже с ним. Поэтому лог файл определенный в теле, закроется как мусор, а первый холостой вызов даст еще и холостое создание лог файла.

Спрашивается... Зачем? Почему так до сих пор? Об этом говорили еще в 2016 году.

По этой причине логи в индикаторах очень часто повреждаются, т.к. не закрываются корректно при смене инструмента на графике. Также при смене инструмента на графике происходит перенумерация ранее выведенных меток и это происходит явно параллельно с выполнением индикатора. Поэтому иногда старые метки уже считываются, а иногда нет. И это приводит к невозможности управлением меток на графике, сводя к ограниченному использованию, запрещающему смену инструмента.
Автозапуск скрипта LUA при старте QUIK
 
Цитата
Андрей написал:
Приходится перегружать Винду
Это-то зачем? Проверено - если в процессе ожидания OnStop возникает ошибка, то скрипт не стартует. Здесь важно учитывать, что когда скрипт останавливается (5 секунд), то main не стоит ничего делать. А также, если остановка происходит когда скрипт выполняет какую-то функцию, работает с окнами, итерирует цикл, то очень вероятно нарваться на ошибку, т.к. начинают высвобождаться объекты, те же окна скрипта. А из кода обращаемся в этот момент - получите ошибку, что объекта нет. В этом плане оборачивать функции в pcall не самая плохая практика.
Автозапуск скрипта LUA при старте QUIK
 
Это значит, что скрипт не завершился корректно, а был остановлен по ошибке. В таком случае скрипт не запустится сам.
Проверяйте, что корректно обрабатываете колбеки OnClose, OnStop. При их вызове уже не стоит производить каких-то операций.
Ошибка при поиске пиков\впадин кастом индикатора
 
Если уж уделяете столько времени этому вопросу, то, наверно, стоит сделать устойчивый вариант. Ошибка же была о сравнении nil с числом.
А во всех предлагаемых реализациях нет проверок на наличие бара, полученных значений перед арифметикой, перехвата ошибок, чтобы Квик не умирал от потока сообщений об ошибках на графиках с 60 тыс барами и т.д. Даже если отбросить саму реализацию, то это все не рабочие решения.
помогите написать kijun-sen line lua QUIK
 
Возможно. Но подумайте, что к Вам приходят на работу и говорят - сделай мне. Очень надо. А то что кто-то тратит на это время - не важно.

Кажется Вам уже выдали множество рекомендаций. Даже если взять код индикатора от ARQA, что Вы сами нашли, то там еще проще - убрать вывод не нужных линий. Собственно, как нам говорят со всех углов, ИИ должен с этим справится на раз. Deepseek Вам помощь, если другие не доступы - и проведете с пользой время в выходные.
помогите написать kijun-sen line lua QUIK
 
Ошибка заключается в том, что если график содержит дырку, т.е. нет бара в отсечку времени, то H и L выдадут nil.
А nil нельзя сравнивать с числом. Поэтому необходимо проверять, что вернули H и L. И если это nil, то пропускать такое, переходя к следующему бару.

Ну и конечно, данный код далек от оптимального - постоянно бегать на 26 бар назад, получая значения, которые только что уже получали - так себе идея. Но ИИ он же скоро заменит всех программистов, веселое время настанет...
помогите написать kijun-sen line lua QUIK
 
Это уже сложнее, т.к. если график дырявый, то необходимы проверки. Советую Вам все же погрузится в тему или пойти простым путем. Время - это самое ценное, что есть.
помогите написать kijun-sen line lua QUIK
 
   local max_high = High(index - kijun_period + 1)
  local min_low = Low(index - kijun_period + 1)

Вот строки. Вместо High и Low, H и L
помогите написать kijun-sen line lua QUIK
 
Ну ошибка же очевидна - В Квике нет методов High и Low, есть H и L.Открываете любой, так всеми рекламируемый ИИ, и просите исправить. С такой простой задачей он справится. Хотя терминал Квик для него, конечно, совсем экзотика.
помогите написать kijun-sen line lua QUIK
 
Не проще ли сделать цвет линий встроенного индикатора = цвету фона окна и сдвинуть бары выше индикатора, чтобы линии не были видны на барах.
Скрипты от ИИ
 
Да я тоже Питон использую только для быстрой оценки результатов, написанных на других языках, предполагая что в нем библиотеки протестированы, и условно их можно считать эталонами для обработки данных.
Скрипты от ИИ
 
И самое веселое в современном vibe программировании - запускаешь такой скрипт, а он висит. Нет обработок прерывания, как понять висит он или ждет ответа сервера, что вообще происходит сейчас с ним - вывода индикаторов загрузки ведь нет.
Т.е. очевидные вещи, которые не надо говорить при постановке задачи он не делает.
Скрипты от ИИ
 
И даже в этом простом коде ошибка - код обработки файла конфигурации не соответствует структуре json.
Скрипты от ИИ
 
Пока это магический Питон, который уже давно перестал быть просто языком, а стал набором заклинаний для библиотек, то модели хорошо работают. А стоит попросить что-то иное, скажем на старом, добром C (не плюсы) и уже начинаешь проверять каждую строку. Впрочем, если ставить просто алгоритмическую задачу - то он пишет ее. Хотя и здесь надо все проверять, т.к. он очень любит проводить тесты на фиктивных данных и радостно говорить, что все хорошо. Запускаешь свой тест и видишь иное.
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Просто к слову - Вам похоже просто нравится процесс, а не результат. У многих программистов есть такая уязвимость. По идее, необходим результат, даже если он иногда не выглядит красиво, но работает - это лучше, чем постоянное переписывание.
Рыночная заявка для торговли фьючерсами
 
Цитата
Сергей Че написал:
Из официальной документации
Это и было сказано: рыночная заявка - это просто смещенная от текущей цены к границам текущего клиринга. Что не сказано в документации - изменение ГО при удалении от цены последнего клиринга. Чем дальше - тем больше.
Что приводит к неявному ответу от брокера о нехватке средств у любителей торговать на грани обеспечения. Нажимают кнопку в стакане "купить по рынку" - ответ: не хватает средств для покупки по цене (граница).
Вводишь руками цену, скажет на 100 пунктов от текущей - и магически уже денег хватает. Как же так - ошибка терминала, явно. Поэтому на срочном рынке нет заявок по рынку - есть ордера по указанной цене, и брокер проверит наличие средств именно для указанной цены, т.к. есть ненулевой шанс, что когда заявка дойдет до биржи, именно по этой цене она и исполнится.
Рыночная заявка для торговли фьючерсами
 
Вы определитесь уже - хотите исполнения ордера, сдвигаете цену и платите комиссию. Хотите экономить - читаете лучшие цены (для этого не надо сканировать стакан) и ставите в спред, ожидая исполнения. Если цена убегает, то придется реализовать алгоритм, чтобы догнать цену или отменить вход. Также можно реализовать порционное исполнение. Либо, действительно читаете стакан и понимаете на сколько пройдет цена при исполнении вашего ордера, оцениваете результат и принимает решение. На некоторых инструментах только так и можно войти.

Алгоритмическая торговля - это именно про это: алгоритм входа. Никто кроме Вас не знает какая ваша цель, какой объем и т.д. Алгоритм входа для 1-ого контракта существенно отличается от такового для 1000 контрактов, даже для 100 на многих инструментах.
Рыночная заявка для торговли фьючерсами
 
В большинстве случаев этого, будет достаточно. Но не забывайте про ситуации, когда торги идут у границ.
Рыночная заявка для торговли фьючерсами
 
Цитата
Сергей Че написал:
И какую цену ставить? Текущая + сколько? (для покупки)
Может быть,  текущая + (текущая + максимум)/2  ?
Это Вам решать, понимая, что чем дальше цена, тем больше ГО. ГО по факту будет по цене исполнения, но брокер проверит наличие средств именно по цене ордера.
Ну и учитывая ликивдность инструмента, для кого-то отступ 100 шагов - достаточно, а для другого 500 и более.
Убрать выходные дни с графиков
 
Это ждать не стоит, т.к. данная разработка тянет за собой новые признаки баров. Необходимо же понимать, что это бар выходного, праздничного и других типов дней. Т.е. еще нужен календарь - а это уже не так просто, как кажется, особенно в данной географии.

Тем более, что кто-то скажет - а давайте еще уберем аномальные дни, они тоже портят статистику. Так что это вопрос субъективный. Каждый сам решает как отсекать хвосты.
Рыночная заявка для торговли фьючерсами
 
На срочной секции нет рыночных ордеров. Можно только устанавливать ордера внутри ценовых границы последнего клиринга. Причина проста - сумма ГО зависит от цены.
Поэтому устанавливая ордер далеко от цены клиринга, ГО возрастает и существенно.
Картинка метка png
 
Цитата
Andrey Golik написал:
Nikolay, добрый день.


Не могли бы вы подробнее описать, что значит "случайно вывел". Как именно произошло добавление изображения? Вручную на график метку можно добавить из изображения формата .bmp или .jpg.
Вывел скриптом, используя метод AddLabel, указав путь к файлу с расширением png

Большая просьба не исправлять данное поведение, т.к. оно как раз ожидаемо в 2025 году.
Картинка метка png
 
Видимо, поддержка устранилась. Впрочем, если это случайная ошибка, то просьба НЕ устранять её. Наконец-то можно использовать нормальные иконки на графике.
Еще бы ввели параметр установки модификаторов шрифта: жирный наклонный для методов AddLabel, SetLabelParams - было бы вообще хорошо.
А то при вводе метки руками это есть, а из кода нельзя.
Картинка метка png
 
Случайно вывел картинку в метку в формате png и она вывелась. Что-то изменилось в последних версиях? Раннее, да и сейчас руками на график, только bmp.
быстро ли работает getInfoParam("SERVERTIME")
 
В теории да, раз в секунду. Но в реальности оно может изменяться порциями. Может стоять на месте, а потом разом на 10 секунд измениться. Т.е. это явно не про точность, а просто некая отметка времени для ориентира.
Квик интерфейс, Ужас!!!!!
 
Цитата
Тони написал:
Подскажите, а что плохого в том, чтобы сделать его более красивым и удобным? на сколько я понимаю одно другому может не мешать, или это типа, если функциональность то только хардкор в визуальном плане?
я просто не очень понял вашего негодования по поводу того, что если инструмент функциональный, то почему ему не добавить визуальной красоты (удобства для остальных пользователей)?

по сути получится просто универсальный инструмент как для тех кто только заявки подает, роботы и пр, и для тех кто хочет его использовать вместо терминалов брокера... приток пользователей это ведь плюс для компании... или нет?
Опыт показывает, что визуальная ерунда усложняет продукт как в плане кодовой базы, так и в плане поддержки. Для работы нужен надежный, простой инструмент, а не средство для услады глаз.
В моем понимании такого рода продукты должны реализовываться модульно. Блок базовой функциональности - простой, надежный быстрый. Это ядро системы. К нему есть внутренний API.
Также есть блок визуализации информации. Простой и быстрый для тех, кому не нужны графики. И новомодный, хоть в web, чтобы прямо с КПК смотреть и радоваться. И пусть пользователи покупают то, что им надо.
При таком подходе если разработчики "красоты нечеловеческой" внесут ошибку, пожирающие ресурсы, то они не сломают ядро системы, которое продолжит исправно работать.
Сейчас же в угоду поколения смартфонов ломают то, что не должно ломаться ни в каком случае.

Такой подход не нов и уже давно используется при разработке. Вы же не возмущаетесь почему авионика такая старая, с кнопочками. Или медицинские приборы без выбора тем оформления. Вот в автоиндустрии совершают эту глупую ошибку, убирая физические интерфейсы.
Автоматическое выключение
 
Да, я перепутал с флагом для shutdown. Надо попробовать.
Квик интерфейс, Ужас!!!!!
 
И сравнивать изделия для созерцания наскальных графиков, читай TW, с средством быстрой доставки команд и данных - очень некорректно. Одно для масс, уткнувшихся в мизерный экранчик через "всёпожирающий" браузер, другой для организации потока данных и обработки команд. У Квика нет задачи стать WEB, удобным для графиков, красивых интерфейсов и прочая. Назвать удобным Quik сложно, но задачу он свою решает. Я бы наоборот выкинул лишнее и сделал более открытым внутренний API. А кому надо рисовать картинки, красивые кнопочки, AI, настройка цветов - да, стоит выбирать брокеров с web терминалами.
Квик интерфейс, Ужас!!!!!
 
Я попросил бы The Bat не сравнивать с Quik. До сих пор на паре рабочих мест используется.
Автоматическое выключение
 
У меня итак timeout 120 секунд. Версия 12 терминала. самая стабильная была 7-ая. А дальше поехали мажорные версии через месяц.
Черный квадрат
 
Вот такую картинку получил при отладке индикатора с интенсивной записью в лог
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 25 След.
Наверх