Это не меня, это Вас смущает слово стоп. Выставить заявку на покупку выше текущей цены можно только стоп-заявкой.
То, что Вы, видимо, не понимаете как это работает, сути дела не меняет. К сожалению я часто это наблюдаю в людях, пришедших с мета рейдера. Человек не понимает что ему говорят, а при попытках объяснить, начинает психовать.
Метатрейдер показывает что можно открыть позицию стоп-заявкой, и вы считаете ее обычной лимиткой. Это не так.
Стоп-заявка это условная заявка, котора срабатывает при наступлении некоторых условий. Например стоп на покупку ждёт наступления вашей цены, а потом выполняется рыночная заявка на покупку. При этом, если рынок активен, вы наблюдаете, так называемое, проскальзывание, т.е. фактические сделки по ценам отличающиеся тем которые указаны в стопе. Но с этим ниче не поделаешь. Таков путь.
Возможность ставить стоп-заявки в любую сторону никак не зависит от имеющейся позиции. Все всегда работает одинаково.
Танечка написал: В приложении скрин МТ5 - там называется BUY stop. Как это сделать в квике?
Нужно ставить стоп в квике. Очевидно же. Почему-то в МТ вы ставите стоп, а в квике тоже самое хотите делать лимиткой. Неудивительно что она немедленно исполняется :)
Надежда Аверьянова написал: Он выставил лимитированную заявку, она болтается в стакане НЕисполненная и вместе с ней выставил стоп. В чем смысл, если назвнание заявки "по исполнению заявки"? Зачем стоп если нет позиции?
Когда лимитка исполнится - будет позиция. Вот на нее и будет выставлен стоп. Пока лимитка не исполнилась - стоп не активен. Очевидно же.
trans2quik никак не связана с .NET и его версиями. Это просто вы не умеете с ним работать (:
Проверьте разрядность библиотеки. Я незнаю какую версию использует ваш дотнет, я им не пользуюсь, но ошибка на скрине возникает при попытке загрузить либу другой разрядности (32 в 64 и наоброт).
Использование CallingConvention может работать, но при этом будут криво передаваться/возвращаться параметры/результат. Судя по всему, именно это и происходит.
Кодировка? а в строке транзакции есть русские символы? Может быть лучше, чтобы исключить этот фактор, переключить квик в английский язык и подавать транзакции на английском?
Александр написал: незнаю как отключить эти все фишки с аэро в вин 10... мне эта красота в кавычках не тарахтела никуда я бы и из вин 10 тему вин 95 сделал...
Михаил Филимонов написал: 1024 советника и 4194304 (4 миллиона) заявки в день для каждого из них.
Дело в том, чтоMDI приложении работают одновременно от 97- до 134 роботов.
Мне тоже кажется, что можно 9 бит использовать под идентификатор советника - 512 значений более чем достаточно. Оставшиеся 22 можно использовать под TransID. Знаковый (старший) бит не трогаем, чтобы не было переполнения. И никаких проблем.
>>Вы правильно все поняли. В старших 6 байтах имя символа >>а младшие байты служат для генерации уникальных ID. К сожалению понял я тут далеко не все. Но тут хочется отметить, что DWORD - это всего 4 байта, а не 8!
Итак, что у нас здесь (опять рассматриваем для RTS-3.23):
function CalcTransID(const Data: string; const idx: integer): Dword; ... //незначащая часть пропущена k:= Pos('-', Data); // k=3 z:= Pos('.', Data); // z=5 month:= Copy(Data, k + 1, z - k - 1); // month="3" year:= Copy(Data, z + 1, Length(Data) - z); // year="23" if(TryStrToInt(month, k) = true) then begin Value:= k; // Value=3 if(TryStrToInt(year, k) = true) then begin Value:= Value + k; // Value=3+23=26 (0x1A) result:= (idx shl 24); // сдвигаем idx в старший (3й) байт (из 4х), //таким образом, если у вас idx>127, то старший бит переполняется и получается число больше INT_MAX //я незнаю как поступает паскаль с лишними битами, полагаю просто теряет. Result:= Result + Value shl 16; //добавляем месяц/год - наше 26 (0x1A) в 2й байт. end else result:= 0; end else result:= 0; end; И, собственно все. Имя фьючерса здесь никак не учитывается. А два младших байта (1й и 0й) видимо дают 65535 вариантов TransID-ов.
Это никак не объясняет происхождение числа 0x83917001, из первого поста. По вышеприведенной логике 0x83 - это номер робота? - это 131, уже переполнение. Но 2й байт - 0х91 - не похож на месяц/год. Да и 0х7001 - 28673я транзакция?
Поразбирался в скрипте. Если я все правильно понимаю, и строки вида "month<<=24;" - это оператор битового сдвига, то имеем такую картину:
номера битов (пример для RTS-3.23), тут должен быть моноширинный шрифт чтобы табличка правильно выглядела. 64------56------48------40------32------24------16------08------00 | "R" | "T" | ----- | ----- | month | year | sov_id| ------
"R", "T" - первые символы слова RTS, а "-----" - это пустые, ничем не заполненные биты. все верно?
тогда у меня такие вопросы: 1) данная схема подходит, если sizeof(long) == 8, что правильно выглядит в коде mql, но неверно для с++ под win32, тут sizeof(long) == sizeof(DWORD)=4, т.е. старшие 32 бита куда-то теряются или преобразуются(каким образом?) в младшие 32. это как-то учитывается? 2) где в представленной схеме "а два младших байта 4096 вариантов dwTransID за торговый день"? это биты с 32 по 48?, их нет в виндовом long-e. 3) чем должны заполняться биты 0-8? 4) в скриншоте выше, на вход подается число 2207346689, это 0x83917001, но 8391 не похожи на месяц/год. видимо примешиваются еще биты. каким образом?
я затрудняюсь определить язык на первом скрине, но судя по begin-end, это похоже на паскаль. можно показать больше кода в этом месте?
Наконец-то добрался чтобы проверить. 1. Мое сообщение #2говорило о том, что DWORD и LONG одно и тоже. Я не внял что сыр-бор изза знаковости. 2. Проверил, да, квик через транс2квик обрезает dwTransID если он больше "максимально положительного LONG".
Но, при этом в документации написано (см. скрин) "Указатель типа Long", т.е. никто не обещаел что с числом будут обращаться как с беззнаковым. Согласен, что есть расхождение в прототипе, и описании, и наверное это все-таки баг.
Но, признайтесь честно, вы уже подаете 2млрд. транзакций в течении одного торгового дня, и вам не хватает знакового диапазона чтобы покрыть свои нужды? Или тут принципиальный момент?
Quikos_1 написал: От периода так же зависит, то с какой свечи от начала будет произведен расчет. Можете читать учебники или не читать - это ни как не изменит данный факт.
Все правильно. n+1 периодов нужно, чтобы получить корректные значения.
Karina Dmitrieva написал: бращаем внимание, что в настоящее время PlayOnMac по-прежнему не может обеспечить корректную работу приложений разрядности x64, в т.ч. терминала QUIK, поэтому мы рекомендуем использовать 32-разрядную версию QUIK - 7.27 (
Вроде они с какой-то версии вообще дропнули поддержку х32. И PlayOnMac давным-давно умеет в х64.
Предлагаю проверить эти два момента прежде чем рекомендовать.
Есть вариант проще и удобнее. В ярлык запуска прописать рабочую директорию отличную от ProgramFiles, куда-то куда у текущего пользователя есть право записи. Например в тот же %APPDATA%\Quik\
D7DSk написал: 2. Может быть по ODBE экспорт в OpenOffice есть ?
В обчем мой совет оказался не по делу. Я просмотрел варианты, и ничего подходящего не нашел. Открыть ODBC/JDBC подходит только для того чтобы связать LO с БД. Это явно не то что нужно.
В качестве альтернативы можно поднять базу mssql или postgres и настроить экспорт в нее через ODBC.
Цитата
D7DSk написал: на настоящий момент выводы по DDE и по OBDC стабильно работают с MS Excel
NiKO написал: Не видел терминалов, которые бы не объединяли сделки в одну позицию по инструменту. Какой в этом смысл?
Это все наследие метатрейдера. Он показывает каждую заявку как отдельную позицию отдельной строкой (возможно зависит от настроек брокера). И даже можно противоположные открыть, и все это считается независимо. И каждую нужно закрывать отдельно.
Какой в этом смысл? Возможно кому-то так удобнее считать когда одинаковая картошка в разных карманах.
Как настроить отображение новых чертежей во всех окнах?, устал от того что нужно постоянно переносить новые тренды и все чертежи при использовании окон с тремя ТФ на инструмент, как их синхронизировать, чтоб новые чертежи сразу на всех окнах отражались?
А в каких терминалах вы такое видели? Я много вижу людей которые такого хотят, и у меня вопрос: -это вы сами придумали или где-то увидели?
В квике такого нет. Можно либо переключать таймфрейм в окне туда-обратно. Либо настроить все построения в одном окне, а затем его скопировать, и переключить таймфрейм.
Скорее всего дело в низкой ликвидности и большом спреде в стакане SRM3. Если есть желание торговать спреды - лучше использовать спредовые инструменты, а не алгозаявки.
Алексей написал: и еще баг - если загрузить конфигурацию - то получится еще одна копия окон (например по ошибке вместо сохранить выбирал загрузить - не замечал на "автомате"), а по идее должна быть перезагрузка конфигурации, а если открыть несколько раз - будет соотв. число копий. Заметить можно только если сдвинуть окно.
Это управляется настройкой "закрывать все окна перед загрузкой файла настроек". RTFM.
Виктор написал: Может быть вы как-нибудь подружите с разработчиками и запилите мануал под Астру?
Вот ради интереса безо взяких мануалов попробовал. Все работает искаропке. -Поставил "Орёл". -Открыл менеджер пакетов, поискал wine, отметил все что нашлось и поставил. В меню "Утилиты" поставился "PlayOnLinux" -Зашел на сайт арки, скачал дистриб. -Зашел в "PlayOnLinux", сказал установить и далее-далее... -Добавил ярлык на стол.
новичок написал: 1. Windows никто не станет блокировать ибо колониальный принцип "товары за воздух" выгоден пендосам
а вот не факт. ты тока прикинь какой колоссальный ущерб можно нанести.эти вот санкции там.. поставки железа - это долго все. а тут - по нажатию кнопки - бабах, и 90% компов в стране - не работают. также и с мобилками - хоп - и все гудроиды и айфоны превратились в бесполезный кусок пластика. это будет прямо катастрофа.
Цитата
новичок написал: 2. В каком месте астра национальная? в финской либе qt* ? или в омериканском ядре линукса или X11 / wayland ?
с чего это ядро стало омериканским то? Линус финн же. "национальная" следует читать как "собиралась на ПЭВМ расположенных на территории РФ".
Цитата
новичок написал: Ну хотя бы мануал напишите как установить и использовать его в нашей национальной системе - Linux Astra.
А собственно в чем проблема то? Линукс - он везде линукс.
Цитата
новичок написал: Чтобы скрипты все работале, dll из скриптов корректно подгружались.
Нормально написанные скрипты работают. Я пользуюсь. И нормально сделанные dll - тоже. Какие-то конкретные проблемы? или "У меня ничего не работает"?
bstone написал: Эти строки выполняются в цикле для каждой строки таблицы по мере обновления данных в ней. Крэш устраняется, если сделать следующие изменения:
Дело совсем не в этих строках. Ошибка возникает или накапливается совсем в другом месте. Просто у тебя так совпало, что наличие именно этих строк выглядит критичным.
Ну вот просто: -чем две закоментаренные строки отличаются от двух предыдущих? И нет никакой гарантии, что если убрать все четыре SetColor-а то падать перестанет. Просто будет падать в другом месте, при других условиях.
Цитата
bstone написал: Похожая проблема уже была озвучена ранее, но тогда от нее отмахнулись, т.к. она была в версии 9.3.1.11:
Хочу заметить, что тут картина наоборот. на 9.2 работает, а на 8.11 ломается.
Цитата
bstone написал: Однако я сразу отметил, что код стабильно работал в 8-х версиях терминала. Ошибок в нем действительно нет.
Так себе утверждение. Если код выполняется - не факт что он не содержит ошибок. Просто не создавались условия, при которых они возникают.
Нужен полный код скрипта, чтобы изучив его с какой-то уверенностью говорить что он "не содержит ошибок".
Блин. Прочитал страшное. Теперь хочется вывести все деньги и засунуть их в матрас. А у меня стоит галочка "не использовать мои средства в интересах брокера". Это спасет мир или нет?
Да, все происходит именно так, как описано. Вторая линия привязывается ко второй области графика, и удаляется вместе с ним. Но почему это проблема?
В свойствах линии, если вы попробуете разобраться, можно увидеть настройку "привязать к графику" и там видно к чему привязана линия. Если что-то не понятно как работает - это не значит что это ошибка.
Ну здесь, похоже дело в том, что время считается по интервалам, т.е. из времени второго интервала вычитается время первого. А кол-во интервалов - это буквально кол-во интервалов попавших в выбранный период. То есть не всего сколько должно быть интервалов за, скажем, два дня. А сколько интервалов на графике.
Вот например у меня (скринов нет) выбрано 50 интервалов, а время 2дня 11часов. Это значит что у меня в выбранный период попало 20 свечек из пятницы и 30 свечек из понедельника.
Просто кол-во интервалов видимых на графике не равно кол-ву интервалов за тот же период времени. Например часть данных отсутствует. Или не было сделок = нет свечек.
Можно включить настройку "Показывать пустые интервалы" и тогда визуальный размер совпадет с расчетным.