Николай Камынин написал: по фьючерсам есть ГО - т е залог, а не цена покупки продажи
Конечный финансовый результат определяется ценами покупки и продажи. А также стоимостью шага цены и количеством торгуемых контрактов. Всё. ГО к существу заданного вопроса отношения не имеет. ГО необходимо для обеспечения расчетов по сделкам между участниками торгов (фактически, исполнения обязательств в случае убытков). Технически это производится путем блокирования средств в соответствующем размере на счете, что, как следствие, означает ограничение максимального количества торгуемых контрактов. Эти средства блокируются, но остаются на счете и принадлежат клиенту. Размер ГО на финансовый результат сделок не влияет НИКАК.
ГО - это не исполнение обязательств в случае убытка, а залог по обязательствам. В момент исполнения обязательств залог равен цене актива, которую получает продавец , либо покупатель, если актив не поставлен продавцом.
Николай Камынин написал: цена покупки продажи фьючерса -1 рупь
Нет. Покупаются / продаются не фьючерсы, а базовые активы в рамках срочных контрактов. 1 рупь - это биржевой сбор (комиссия) за заключение / исполнение контрактов. Цены (вообще говоря, котировки) определяются спецификациями контрактов. Например, для фьючерса на индекс РТС - это значение индекса, умноженное на 100.
Не хочу читать лекбес, но замечу фьючерс - это покупка или продажа обязательств, а не покупка актива. Т е фьючерсная сделка - это сделка с отсроченным исполнением. т е Вы обязуетесь в будущем купить актив. это обязательство оформляется сделкой - фьючерсом за 1 рупь и берется залог , т е обязательства стороны взяли на себя, но еще не выполнили.
т е вам показывают ожидаемую цену актива на день поставки. Вы вносите ГО -т.е. залог как определенный биржей процнт от возможной цены. в клиринг производят пересчет возможной цена и пересчет ГО. если внесенный вами го больше чем, новый то вам возвращают разницу, если меньше , то еще берут с вас. Таким образом, ваша возможная прибыль или убыток фиксируются в момент клиринга и нет никакой разницы торгуете вы 1 день или три месяца. прибыль/убыток Вы получаете в 14 и 18 часов мск в
Ivanco написал: Николай Камынин , спасибо большое за материал, буду разбираться. Правильно понимаю, что при таких условиях (берется средняя цена за какой-то промежуток времени), если открытая позиция проходит через несколько клирингов, то правило "Вар. маржа = Цена продажи - Цена покупки" будет иметь большую погрешность из-за того, что в каждом из пройденных клирингов цена фиксировалась усредненная (и доход либо убыток по результатам клиринга на ваш счет зачисляются уже исходя из этой усредненной цены), и погрешность будет тем больше, чем больше клирингов проходит открытая позиция? Как тогда на фьючерсах торгуют "в долгую", ведь итоговый доход либо убыток будет зависеть не только от цен покупки и продажи, а дополнительно будет зависеть от множества пройденных усреднений цены во время клиринга. (Ты рассчитываешь купить контракт по цене X и продать по цене Y, получить доход Y-X, но из-за усреднений клирингов ведь доход становится величиной не определенной)
если кратко то по фьючерсам есть ГО - т е залог, а не цена покупки продажи ( вернее цена покупки продажи фьючерса -1 рупь)
Michael Bulychev написал: Добрый день. Вы можете прямо в теле функции сохранять нужную вам информацию и всегда возвращать false.
но тогда какой смысл в возврате функцией таблицы номеров строк? Если следовать Вашей логике, то можно все сохранять в теле функции. И вообще все писать от печки.
DELETE_ALL_ITEMS() 'ФУНКЦИЯ УДАЛЕНИЯ СТАРЫХ ДАННЫХ ИЗ ТАБЛИЦЫ ADD_ITEM(1,OUTPUT)
IF((CANDLE_1+0=0) or ( GET_VALUE (CANDLE,"TIME")-GET_VALUE (CANDLE_1,"TIME") <>0) ) CANDLE_2= CANDLE_1 CANDLE_1= CANDLE END IF
END_PROGRAM
PARAMETER DATE; PARAMETER_TITLE ДАТА; PARAMETER_DESCRIPTION ДАТА; PARAMETER_TYPE STRING(30); END
PARAMETER TIME; PARAMETER_TITLE ВРЕМЯ; PARAMETER_DESCRIPTION ВРЕМЯ; PARAMETER_TYPE STRING(30); END
PARAMETER OPEN; PARAMETER_TITLE ЦЕНА ОТК.; PARAMETER_DESCRIPTION ЦЕНА ; PARAMETER_TYPE STRING(30); END ------------------------------- если надо в таблице видеть предыдущую, то отобразите CANDLE_2 вообще-то все делается гораздо проще (но писать программу за вас не буду) ---------------------------------- надо вычислить время предыдущей свечи, вычитая интервал и времени текущей свечи и снова прочитать с этим временем При этом надо учесть, что для нахождения последней свечи предыдущего дня надо уменьшить день. Но при этом надо учесть, что предыдущий день это не всегда текущий день минус 1. ----------------------------
например, надо найти все активные стоп-заявки, чтобы их удалить. Указываем , что вернуть надо order_num, а ищем по flags. В результате получаем таблицу номеров активных стоп-заявок.
Добрый день, Считаю, что возврат только номеров найденных строк не совсем удачное решение. После этого надо еще вытаскивать эти строки из хранилища. -------------------------------- Предлагаю возвращать таблицу номеров и таблицу самих строк, в которых возвращать лишь параметры, которые не участвовали в поиске. Спасибо
OnParam(STRING class_code, STRING sec_code, STRING paramname) а класс и сек - вообще можно убрать (можно и оставить [дело вкуса])
1) класс и сек нельзя убирать, так как paramname существует у множества инструментов. ------------------------------------------------------------- 2) Сейчас в колбеке надо для данного инструмента вытаскивать строку из хранилища и проверять какой параметр изменился, если нужный то обрабатывать. Раньше я уже предлагал, но возможно забыли. Напишу повторно. Как вариант, Можно передавать в колбек таблицы изменившихся параметров. Тогда мы проверяем наличие в полученной таблице нужного нам параметра и если есть, то работаем. Но вариант с подпиской, полагаю лучше.
Серьезное выражение лица - это не есть признак ума. Серьезные программы - это программы , написанные сильно озабоченными своей значимостью программистами
В качестве совета. чтобы не было мучительно больно при использовании значений X, которые должны быть числами, надо делать так: if type(X)=="number" then ... end чтобы не попадаться на nil при условии, что X может быть лишь числом надо делать так: Z=X or 0;
GET_CANDLE Функция для обращения к данным «свечек» на графике, а также к значениям индикаторов технического анализа. MAP GET_CANDLE (STRING class_code, STRING sec_code, STRING parameter_name, STRING interval, STRING graph_type, DOUBLE Date, DOUBLE Time) Т е чтобы получить какую либо свечу Вам надо указать для нее дату и время. Если Вам надо предыдущую, то берете время текущей отнимаете от него величину интервала и получаете свечу . Примерно так.
предыдущий ответ не совсем верен. API дает возможность делать торговые заявки, но не позволяет получать свечи. чел просит свечи. --------------------------------- свечи можно получать либо через луа, либо получать тики через DDE и потом лепить свечи. ------------------------ Так как Ваши алгоритмы написаны на С++ то рекомендую оформить их как DLL и подключить к скрипту на луа. ----------------------------------------- И будет Вам счастье
Что касается успешной игры на бирже, то могу сказать лишь одно - тренируйте свой мозг. успешно играть можно, но нельзя рассказать как это делать. Т е успех - возникает тогда, когда играет Ваше подсознание, а не сознание. Успехов в игре
Василий написал: Николай Камынин , спасибо, очень доходчиво. Вот вопрос, если как Вы говорите происходит скачок на 1% или более, но у меня выставлены стопы, то тогда потерь больших не будет, ведь терминал закроет позицию в соответствии с установленным стопом? Я читал что при резком изменении возможно проскальзывание стопа, насколько это частое явление? Иначе получается, что если не пытаться сорвать куш, а стабильно выставлять риски, то ничего страшного не произойдёт, то есть действовать по своим правилам.
Стоп - это условная заявка на сервере брокера. Причем Ваша заявка не одна и возможно не первая. Т е при резком движении рынка возможно, что ваш лимит будет выставлен уже с другой стороны рынка. т е например вы поставили стоп-лос на продажу по 99, если цена будет ниже 100. Т е сервер брокера выставит лимит по 99 после того, как цена станет ниже 100. А как быстро это произойдет? Возможно, что в момент выставления цена уже будет 98. Т е Ваш лимит не сработает и зависнет на цене 99, а цена пойдет дальше вниз. ------------------------------------------------ Но еще смешнее будет, если 98 - это дно. Тогда цена развернется и закроет Вашу позицию и пойдет дальше в вашу сторону, а Вы будете сидеть на берегу и смотреть как поезд уходит. --------------------------------------- Некоторые ставят стоп по рынку, в надежде что это спасет их от больших убытков. Но как я уже написал, на сервере очередь и не факт, что в очереди они первые. В этом случае Цена пробъет вниз и на самом дне закроет их позицию и пойдет вверх. И они будут с точкой смотреть на уходящий поезд. У профи есть даже специальный термин таким образом закрывать стопы буратин - называется это - "пугать ворон" Каждый брокер хорошо знает, где эти стопы -вороны сидят на его сервере -дереве. --------------------------------- Ну вот примерно так. Успехов в изучении рынков.
"Подвох" в том, что фьючерсы имеют плечо, которое примерно равно 10. --------------------------------------------- Если Вы сделали на 100 тысячах 3 тысячи то это соответствует движению рынка акций 0.3% Т е это флэт ----------------------------------------- На флете сравнительно просто торговать так как движение рынка внутри горизонтального коридора. --------------------------- Проблема будет реально тогда, когда Вы станете на изломе флета, а рынок не сломается, а пойдет в тренд резко например на 1% В результате Вы получите сразу убыток в 10 тысяч. Вот тут у Вас будет выбор. Либо быстро выйти с убытком в 10 тысяч, перевернуться , либо зависнуть против рынка. так как Вы начинающий, то почти со 100% вероятностью Вы сделаете последнее. А рынок пойдет дальше против вас и на 5% подъеме Вы будете уже с убытком в 50% и получите маржинкол, т е позицию Вам принудительно закроют. ---------------------------- И у Вас будет не 100 т, а уже 50 и Вы начнете все сначала. ---------------------------- Успехов
когда-то давно отказался от globalserver по причине его тихой потери связи с квиком. эту проблему решить нельзя. поэтому советую сразу отказаться от омеги. Уж очень она устарела, хотя и сделана очень хорошо.
Добрый день, Как известно, DDE самый простой и соответственно самый быстрый способ обмена данными. Он давно есть в КВИКЕ и позволяет получить данные из любой таблицы в сторонней программе, например данные из доски опционов, чего невозможно сделать средствами QLUA. ----------------------------- Предлагаю реализовать возможность получать данные по DDE в скриптах на LUA ---------------------------------- Спасибо
Michael Bulychev написал: Основные затраты при поиске перебором используя getItem это передача структур данных из хост-программы через стек в скрипт. SearchItems дает возможность уменьшить эти расходы. Используя Ваш пример я написал похожую реализацию с помощью функции SearchItems. Исходный код я немного модифицировал для подсчета статистики. Исходный пример Пример реализации с SearchItems Результаты тестов на моей машине:
Добрый день, Михаил Просьба протестите еще SearchItems без всех этих приблуд. Просто для конкретного варианта. Сколько будет по сравнению с этими выкрутасами. Спасибо ------------------------------------------------ Универсальная система (программа) - это такая система(программа) , разработчики которой не имеют ни малейшего представления о том, как реально ее будут применять.
Подскажите, можно ли получать данные индикатора RSI, примерно так же, как получаются данные из стакана при его изменении с помощью OnQuote, а можно ли как то получить данные с графика индикатора ?
В стакане - это очередь заявок на торгуемый инструмент. индикатор RSI (если Вы говорите об индикаторе а не о фьючерсе на него) - это интегральный показатель, т е не инструмент. поэтому на него нет никаких заявок и очередей. попробуйте сформулировать свой вопрос более четко. --------------------------------- Четкость в словах - есть ясность в мыслях и точность в действиях.
пардон, опечатка в результате они последовательно как из автомата будут записаны в gTrade и следующие затрут предыдущие. В майне будет обработана лишь последняя
или вот еще прикол. как известно если сделки были совершены часто, то они придут пакетом в результате они последовательно как из автомата gTrade и затрут друг друга.
Michael Bulychev написал: Добрый день. Николай немного сгустил краски. достаточно сохранить ссылку на полученную в колбеке таблицу. Примерно так:
Код
gTrade = {}
function OnTrade (t)
gTrade = t
end
function main ()
--в gTrade будет последняя сделка из OnTrade
end
Если я не правильно Вас понял, то опишите задачу подробнее.
Ну да... А вот такая ситуация сделку приняли по инструменту сбербанк сохранили передали в майн управление а в это время исполнилась сделка по газпрому сделку по сбербанку мы затерли и в майне вместо сбербанка получили газпром. что делать дилетанту?
Добрый день, Предлагаю сделать возможным для колбека OnParam указание списка параметров активации. ---------------------- Поясняю. Так как OnParam реагирует на изменение любых текущих параметров всех инструментов, то его применение очень сильно грузит процессор, так как активация этого колбека происходит по каждому чиху каждому тику каждому изменению в очереди каждом ... ------------------------ В реальности же нет такой задачи, где требуется реагировать на все изменения текущих параметров. ----------------------- Как правило обычно требуется реагировать на изменение одного параметра. ------------------- В 99% это либо изменение очереди заявок, либо совершение сделки по инструменту. И ВСЕ --------------------- Поэтому было бы замечательно указать для OnParam например параметр "bid" и не париться с обработкой всех изменений и не лазить в хранилище для выяснения что же изменилось и кому оно надо. ------------------- Спасибо
универсальное медленнее специального. ------------------ Вам что надо? Быстро или универсально (т е лень писать код) ? -----------------------------------