sav 312 написал: В заключении хочу сказать, что проще отписаться, что все это бред, чем решить вопрос, ну или предложить что-то дельное.
Речь о том, что предложение именно в таком ключе как описано изначально - это бред. Потому что суть - если не можете себя контролировать, вплоть до "отключу риск-менеджер", то может быть не стоит вообще садиться за торговлю?
Но, с другой стороны, возможно в этом есть толика здравого зерна. (не парольное отключение, а риск-менеджемент). Например модуль для квика, неотключаемый вручную, и управляемый брокером, который следит за операциями и рисками. Настройки модуля прописываются в договоре с брокером, и изменяются либо в ЛК, либо личным визитом к брокеру.
В самом простом варианте: -если в течении торгового дня убыток составил 10% счета, то все открытые позиции принудительно закрываются, и блокируется возможность торговать. Следить за торгами - можно.
По себе знаю, что риск-менеджмент дело непростое, и бывают дни, когда "не прет". В такой день, по-хорошему, следует прекратить торговать и сидеть анализировать что случилось, и как жить дальше. Но азарт и жадность шепчут: -ну еще чуть-чуть... ну щас отскочит... А в результате дневной убыток - 50%.
А вот такой вариант контроля со стороны брокера - был бы отличным решением. И кстати, изменения в ЛК входят в силу только на следующий день. Так что даже если ты психанул, и решил "отключу контроль нафик", то действовать это начнет только завтра. т.е. будет время остыть.
Сделки не "открытые". Они сделанные. Вчера. С момента совершения сделки, вы имеете открытую позицию, которую можно увидеть в таблице "Состояние счета" (ну или в таблице лимитов по бумагам, и в таблице фьючерсных позиций).
по текущим ценам это должно быть примерно так: 48.75 - 48.68 = 0.07 - т.е. 7 пунктов. стоимость пункта = 6.3. т.е операция должна дать 7 * 6.3 = 44.10 рур. минус комиссия.
Космонавт написал: Сергей, спасибо за ответ. Но тогда все индикаторы придётся считать самостоятельно в коде (если DataStore). А это отнимает вычислительные мощности.
По идее, все считать не нужно. Нужно считать 3-5-10 последних значений.
тот самый написал: Описанным выше по приведённой ссылке способом - осуществляется экспорт в ТА торговой информации в QUIK-е. По сути - именно так - и работает тот же trans2quik API.
1. где пруфы? Варианты "я знаю" и "мне так кажется" не подходят. 2.даже если и так - что это меняет и кому что объясняет? Повторяю вопрос: зачем эта статья тут?
Предлагаю расширить пожелание. Или зарегистрировать отдельное.
Сделать не подтверждение закрытия окон (или отключаемое подтверждение), а возможность отката действий. -- Нажимаем Ctrl-Z, и действия откатываются.
Среди действий, к-е можно откатить должны быть: - изменения настроек интерфейса. - настройки фильтров, счетов и т.п. - настройки параметров расчета - прочие настройки, к-е могут быть заданы. - открытия/перемещения/ресайзинг/закрытия окон. - создание/перемещение/удаление примитивов/меток на графиках.
Ну и конечно же, нужно будет окно со списком сделанных действий, которыые можно откатить.
A117 написал: таблице заявок будет проставлена сумма 10 200. Как будто все бумаги були куплены по максимальной цене. Поправьте, пожалуйста, чтобы честная цифра объема проставлялась
Это невозможно, пока не пройдут реальные сделки. 10200 - это максимальная сумма. Она может быть меньше. По каким ценам реально пройдет исполнение заявки - никто предсказать не может.
tdm написал: Пробую реализовать в скрипте то что я делаю визуально использую CreateDataSource, далее мне нужны результаты индикаторов для несколько последних свечек Этот код работает прекрасно, но очень долго, т.к. получается более 2 тысяч свечей: Скрытый текст for i=1,ds:Size() do ma_out=func(i, {Period=22, Metod = "EMA", VType="Close", round=2}, ds) message(tostring(ma_out)) endхочу допустим 3 последних значения: Скрытый текст for i=ds:Size()-3 ,ds:Size() do ma_out=func(i, {Period=22, Metod = "EMA", VType="Close", round=2}, ds) message(tostring(ma_out)) endно этот код не работает, в случае с MA ошибка: LuaIndicators\MA.lua:83: attempt to perform arithmetic on field '?' (a nil value)
повторяется не только для MA, пробовал разные индикаторы, везде не работает если не с первого значения брать расчет можно править код индикаторов, но может есть решение более правильное, и в data source можно взять последние n значений?...
Что-то похоже ты смешиваешь теплое с мяхким. >>использую CreateDataSource, далее мне нужны результаты индикаторов для несколько последних свечек Эта функция просто открывает поток данных. И заказывает массив всех свечек. Один раз. После этого нужно просто на вызов коллбека (а он вызвается на поступление новых данных) считать свою МАшку.
>>Этот код работает прекрасно, но очень долго, т.к. получается более 2 тысяч свечей: Скрытый текст for i=1,ds:Size() do >> ma_out=func(i, {Period=22, Metod = "EMA", VType="Close", round=2}, ds) Конечно долго. Ты пересчитываешь МАшку по 22 свечам, в цикле ПО ВСЕМ доступным свечкам. Хотя, для расчета последних трех значений МА(22) тебе нужно не более 22+3 свечей.
Почему неработает этот код: >> for i=ds:Size()-3 ,ds:Size() do >> ma_out=func(i, {Period=22, Metod = "EMA", VType="Close", round=2}, ds) Я тебе с лету сказать не могу, но вероятно ошибка где-то внутри =func(...)
Используй коллбеки, Люк! В мануале на луа есть функция BOOLEAN res SetUpdateCallback (FUNCTION callback_function) Думаю, это решит твой вопрос :)
Старатель написал: Только при чём здесь жёсткие/символические ссылки NTFS?
Сохдаем виртуальный диск. Символическим ссылками создаем там файлы конфигурации. И указываем этот путь квику в качестве рабочего каталога. В результате файло с данными будет на виртуалке, а изменения настроек храниться где нужно.
Мне помогает такой рецепт: 1. Открываем стакан. 2. Настраиваем в нем все: размеры, поля, цвета и т.п. 3. Правой кнопкой - сохранить в шаблон - даем имя - брать по умолчанию.
После этого вызов стакан двойным щелчком должен полечиться.
Ну конечно, документацию только лохи читают, да? Встроенная справка по F1 -> Раздел 5. Торговые операции клиента -> Настройки автозаполнения полей ввода заявки.
PFelix написал: Заметил такую "штуку". Выставлена заявка. Если ее снимать явно - проходит транзакция, а если пытаться изменить, но потом от изменений отказаться (нажать Esc), -- никаких тразакций, но заявка снимается. Считаю это некорректностью алгоритма работы терминала и прошу принять заявку по ее устранению.
Сначала заявка снимается - это транзакция. А потом, для восстановления, нужно не нажимать Esc, а нажать "назад" на форме - заявка будет восстановлена - и это еще одна транзакция.
Скорее всего нужно ловить OnOrder при выставлении заявка - срабатывании стопа И потом OnTrade - при срабатывании выставленной стопом заявки - по факту сделки
Eys Eys написал: в 13 часов 00 минут 15 секунд.За эти 15 пропущенных секунд может пройти приличное количество строк с данными
А, простите, зачем вам данные за это время, если вас в сети не было и вы не могли подавать заявки? Или робот опирается на какой-то участок сделок в прошлом?
Дмитрий написал: Нет, в корне диска D, т.е. даже не на системном диске.
Странно. у меня и на 7 и на 10 работает правильно. Не под админом. Стоял и в корне С и Д. Вообще квик не требует админских прав. (если не стоит в с:\програмфилес)
Цитата
Дмитрий написал: На компьютере уральский часовой пояс.
Это сколько? Может поставить московский? и настроить восстановление с 09-00 по 23-50
Дмитрий написал: А значит речи об автозагрузке программы при старте Windows быть не может, либо придётся мудрить с планировщиком заданий и прочие костыли.
александр михальцов написал: Я желаю купить акций Сбербанка по 150 рублей но когда они будут стоить так, может через месяцев 7 а я хочу сейчас заявку сделать на полтора года.
Почему не купить сейчас по текущей цене? Ведь сейчас цена выгоднее, чем 150? Купил - и держи себе полтора года. Никаких проблем.
Ну, а когда покупка будет сделана, там уже по ситуации. Периодически мониторить, и выставлять стопы на закрытие, если будет убыток, либо смотреть и радоваться прибыли, если сбер будет расти :)