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

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

Страницы: 1 2 След.
Установка лимитов с помощью lua
 
Цитата
Egor Zaytsev написал:
Для исполнения тейк-профита в данном случае необходимо, чтобы цена составила 209,11
так прежде чем достигнуть 209.16 сперва цена достигла 209.11 а тейк профит что тогда что сейчас не активировался.
Цитата
Egor Zaytsev написал:
цена условия выставлена в размере 209.16, а отступ от max=0.11
вы говорите про OFFSET или SPREAD  ? Разве не должен активироваться тейк профит для любой цены от 209.16 - 209.27 (209.16 + 0.11)?
Установка лимитов с помощью lua
 
Благодарю за ответ!


CLIENT_CODE - необязательный параметр. (http://luaq.ru/sendTransaction.html)
а вот ACCOUNT - сменил и вроде все заработало как положено, но возникла другая проблема - скрипт не выставил заявки тейк профит по достижении нужного уровня.

скрипт немного изменил :

Цитата
tag = "candles";
lastCandle = getNumCandles(tag);
t, n, l = getCandlesByIndex (tag, 0, lastCandle-1, 1);
currPrice = t[0].close;


order =
{
["ACCOUNT"]="NL0011100043",
["ACTION"] = "NEW_ORDER",
["CLASSCODE"] = "QJSIM",  
["SECCODE"] = "SBER",  
["OPERATION"] = "B",  
["PRICE"] = tostring(currPrice),
["QUANTITY"]="10",
["TRANS_ID"] = "1",
}


profit = tostring(currPrice + 0.15);
loss = tostring(currPrice - 0.15);


limit =
{
["ACTION"] = "NEW_STOP_ORDER",
["TRANS_ID"] = "2",
["CLASSCODE"] = "QJSIM",  --CETS
["SECCODE"] = "SBER",  
["ACCOUNT"]="NL0011100043",  
["OPERATION"] = "S",
["QUANTITY"]="10",
["PRICE"] = loss,
["STOPPRICE"] = profit,  
["STOP_ORDER_KIND"] = "TAKE_PROFIT_AND_STOP_LIMIT_ORDER",
["EXPIRY_DATE"] = "TODAY",
["OFFSET"] = "0.11",
["OFFSET_UNITS"] = "PRICE_UNITS",
["SPREAD"] = "0.11",
["SPREAD_UNITS"]  = "PRICE_UNITS",
["MARKET_TAKE_PROFIT"]  = "NO",
["STOPPRICE2"] = loss,  
}
orderResult = sendTransaction(order);
limitResult = sendTransaction(limit);
message(orderResult);
message(limitResult);

когда цена достигла 209.16 терминал должен был выставить заявку на продажу но не сделал этого, даже при 209.22.
В итоге позиция закрылась при 209.09

В чем моя ошибка ?
Установка лимитов с помощью lua
 
Цитата
проблема повторяется?
нет.
Установка лимитов с помощью lua
 
Полный скрипт :
Цитата
order =
{
["ACCOUNT"]="NL0",
["ACTION"] = "NEW_ORDER",
["CLASSCODE"] = "QJSIM",  
["SECCODE"] = "SBER",  
["OPERATION"] = "B",
["TYPE"] = "M",
["PRICE"] = "0",
["QUANTITY"]="10",
["TRANS_ID"] = "1",
}
price = "210.15";
profit = tostring(tonumber(price) + 0.15);
loss = tostring(tonumber(price) - 0.15);

limit = {
["ACTION"] = "NEW_STOP_ORDER",
["TRANS_ID"] = "2",
["CLASSCODE"] = "QJSIM",  
["SECCODE"] = "SBER",  
["ACCOUNT"]="NL0",
["OPERATION"] = "S",
["QUANTITY"]="10",
["PRICE"] = loss,
["STOPPRICE"] = profit,  
["STOP_ORDER_KIND"] = "TAKE_PROFIT_AND_STOP_LIMIT_ORDER",
["EXPIRY_DATE"] = "TODAY",
["OFFSET"] = "0.01",
["OFFSET_UNITS"] = "PRICE_UNITS",
["SPREAD"] = "0.01",
["SPREAD_UNITS"]  = "PRICE_UNITS",
["MARKET_TAKE_PROFIT"]  = "YES",
["STOPPRICE2"] = loss,
}
orderResult = sendTransaction(order);
limitResult = sendTransaction(limit);
message(orderResult);
message(limitResult);
номер пользователя - U0127505
Установка лимитов с помощью lua
 
Никаких диапазонов я не задавал, их  нет. Тригер срабатывает ровно на том значении которое было задано в транзакции  
Установка лимитов с помощью lua
 
Установка лимитов с помощью lua
 
Здравствуйте!
Помогите разобраться с установкой стоп лосов и тейк профитов через lua скрипт.
В терминал отправляю 2 транзакции (можно ли все уместить в 1й?) - сама заявка и вторая лимиты :
1)
Цитата
order =
{
["ACCOUNT"]="NL0..",
["ACTION"] = "NEW_ORDER",
["CLASSCODE"] = "QJSIM",  
["SECCODE"] = "SBER",  
["OPERATION"] = "B",  
["TYPE"] = "M",
["PRICE"] = "0",
["QUANTITY"]="10",
["TRANS_ID"] = "1",
}

и 2) стоп заявка :
Цитата
limit = {
["ACCOUNT"]="NL0.."
["ACTION"] = "NEW_STOP_ORDER",
["CLASSCODE"] = "QJSIM",  
["SECCODE"] = "SBER",
["OPERATION"] = "S",
["TYPE"] = "M",
["PRICE"] = "0",
["QUANTITY"]="10",
["TRANS_ID"] = "2",
["STOP_ORDER_KIND"] = "TAKE_PROFIT_AND_STOP_LIMIT_ORDER",
["STOPPRICE"] = "209.10",  --профит
["STOPPRICE2"] = "208.68",  --лимит
["OFFSET_UNITS"] = "PRICE_UNITS",
["OFFSET"] = "0",
["MARKET_TAKE_PROFIT"] = "YES"
}

Когда цена достигла 208.68 вместо того что бы выставить заявку на продажу и закрыть позицию терминал выдал ошибку :
Цитата
Заявка, выставляемая по стоп-заявке N [-], отвергнута торговой системой
позиция соответственно не закрылась. подскажите в чем ошибка ? Заранее благодарю.  
Трейлинг стоп lua
 
А есть ли возможность указывать и заявку и стоп лос и таке профит в одной транзакции ?
Трейлинг стоп lua
 
Трейлинг стоп lua
 
Я имею в виду вот такой стоп :

http://tradelikeapro.ru/forex-trailingator/
Трейлинг стоп lua
 
Всем доброго времени суток!
Можно ли с помощью lua выставить следящий стоп при открытии позиции ?
Знаю как просто отправить транзакцию :
Цитата
m = {
["ACCOUNT"]="0000000",
["ACTION"] = "NEW_ORDER",
["CLASSCODE"] = "TQBR",
["SECCODE"] = "SBER",
["OPERATION"] = "S",
["TYPE"] = "M",
["PRICE"] = "0",
["QUANTITY"]="29",
["TRANS_ID"] = "1"
}
res=sendTransaction(m)
возможно ли выставить следящий стоп, вместо обычных стоп лос и таке профит ?
Где скачать Quik Junior
 
Цитата
Andrey.R написал:
вроде тут https://arqatech.com/ru/support/demo/




Отправил запрос, оттвет придет в течении буднего дня. Вы тут скачивали ?
Где скачать Quik Junior
 
Интересует вопрос где лучше всего скачать Quik Junior что бы "торговать" 24/7 т.к. обычный Quik доступен только в рабочее время (во время торгов) а по выходным изучать систему и оттачивать скрипты тоже хочется.
Немного погуглив узнал что у каждого брокера есть свой Quik Junior, но у каждого с урезанным функционалом. где можно скачать Quik J. по возможностям полностью равным обычному терминалу Quik но работающему независимо от реальных торгов ? Незначительное урезание функционала тоже допустимо, главное что бы скрипты lua не были вырезаны.
Симуляция торгов в выходные дни
 
Цитата
Andrey.R написал:
хелп с командами есть.
имел в виду - нужно знать торговые стратегии.
а где вы скачивали quik junior?  
Симуляция торгов в выходные дни
 
Цитата
Andrey.R написал:
решил что напишу робота и больше ничего не надо
ну робот просто выполняет команды, а еще нужно знать какие именно конечно).  
Симуляция торгов в выходные дни
 
Цитата
Andrey.R написал:
да все работает
Мне главное что бы lua скрипты работали так же. Вечером посмотрю, спасибо за совет.
Симуляция торгов в выходные дни
 
Пробовал не включать соединение по паролю - все данные пустые. А Quik Junior работает точно так же, имею в виду - lua скрипты, заявки, стакан все присутствует ?
Симуляция торгов в выходные дни
 
Доброго времени суток. Существуют ли приемы или инструменты позволяющие использовать QUIK в дни и часы когда торги не идут? Например я имею демо счет но все равно привязан к реальным торгам. для оттачивания скриптов или изучения стратегий было бы очень полезно иметь доступ к виртуальным торгам 24/7, все равно счет демо и на реальный рынок заявки не попадают. Есть ли какие то решения ?
Работа с таблицей состояние счета
 
Цитата
Egor Zaytsev написал:
Аналогичным образом выставляете заявку на не исполненный остаток.
т.е. предположим я открыл позицию в лонг - и купил акции объемом 10. Но потом заметил что акции дешевеют и нужно открывать шорт : тогда что бы закрыть лонговую позицию мне нужно 10 продать (теперь моя позиция закрыта) и только после этого можно заявку на продажу ?
Убыток после закрытия прибыльной позиции
 
Цитата
Suntor написал:
А чтобы понять, что и как вы в сумме наторговали, нужно смотреть в таблицах «Позиции по клиентским счетам»
Самое забавное, что позиция точно открыта, но в таблице пусто.
Убыток после закрытия прибыльной позиции
 
Цитата
Suntor написал:
Так вот, эти расчётные значения не имеют никакого отношения к тому, что вы получите после того как нажмёте кнопку «Закрыть позицию».
В мануале написано как раз обратное.

Нереал. PL __ Прибыль, возникающая при закрытии позиции
Убыток после закрытия прибыльной позиции
 
В Руководстве пользователя Quik
Так и написано :  

Нереал. PLПрибыль, возникающая при закрытии позицииЗначение рассчитывается следующим образом:
Ликв. стоимость –  Баланс. ст-ть
Так почему когда я закрываю позицию у меня не прибыль а убыток ?
Убыток после закрытия прибыльной позиции
 
Цитата
Suntor написал:
нужно смотреть в таблицах «Позиции по клиентским счетам», «Лимиты по бумагам» и пр.,
Не совсем понятно, в какую именно таблицу нужно смотреть или в обе ? «Позиции по клиентским счетам(фьючерсы)» у меня пустая а  в таблице  «Лимиты по бумагам» действительно отображается инструмент но он полностью по нулям.
Работа с таблицей состояние счета
 
Цитата
Egor Zaytsev написал:
Закрыть позицию через Qlua?
Да, но так мы просто закроем заявку. А если несколько заявок уже были исполнены - как закрыть позицию по инструменту тогда ?
Работа с таблицей состояние счета
 
Здравствуйте!
Подскажите какое имя имеет таблица  *Состояние счета* ?. Искал тут и не нашел : http://luaq.ru/getItem.html#param_table_23.
И еще вопрос - как закрыть позицию по какому лиюбо инструменту ?
Спасибо!
Убыток после закрытия прибыльной позиции
 
Цитата
Suntor написал:
Цитата
Илья   написал:
Откуда минус ?
Таблицу сделок посмотрите свою... пересчитайте её, и сразу увидите где цифры не сходятся...
В чем смысл столбца `Нереал. PL`  в таблице `Состояние счета` в строке с открытой позицией, если прибыль или убыток нужно считать самому ? Где нибудь можно получить актуальное значение по позиции без пересчета таблицы сделок ?
Убыток после закрытия прибыльной позиции
 
Здравствуйте!

Пользуюсь учебным терминалом. Каждый день в териминале доступно 200 000р. Я открываю позицию, которая отображается в таблице `состояние счета`. В столбце `Нереал. PL` имею положительное значение. Правильно ли я понимаю что если это значение зеленым цветом то я имею прибыль в лонг а если красным то шорт ? Но главный вопрос - почему после закрытия позиции, которая в тбл. `состояние счета` отображалась как положительная - в итоге я ухожу в минус? т.е допустим изначально было 200 000р, я вхожу в позицию, `Нереал. PL`  - равно +100 и когда я решаю закрыть позицию вместо 200 100р у меня 199 9~~ ? Откуда минус ?
Прибыль дня в начале торгов
 
Цитата
Zoya Skvorcova написал:
Вы демо получали у брокера?
Да верно, мне казалось это особенность терминала. Спасибо за совет
Прибыль дня в начале торгов
 
Цитата
Zoya Skvorcova написал:
Сообщите Ваш логин




007345
Прибыль дня в начале торгов
 
Добрый день. Изучаю торговые стратегии на демо счете, возник вопрос - откуда в табл. Состояние счета появляется не равная нулю прибыль дня если я только открыл терминал и не осуществил ни одной транзакции ?
Неправильное отображение симмволов
 
Здравствуйте! У кого нибудь была проблема с отображением надписей в программе Quik когда вместо текста показываются только - символы вопросительный знак. ???
В окне Lua скриптов нет кнопок управления
 
Здравствуйте.
Установил терминал на новую систему и сразу появилась проблема с отображением панели Lua скриптов см. скрин - нет ни кнопки добавить, ни запустить - вообще никаких.
В чем тут может быть проблема ?

Комиссии в системе
 
Здравствуйте!
Интересует такой вопрос - какие как посмотреть комиссию брокера также
биржевую комиссию (которая состоит из = комиссия торговой системы + комиссии биржи + клиринговой комиссии) в QUIK ?
Данные в таблице 'состояние счета' отображаются уже с учетом всех вышеперечисленных комиссий ?
Какие из этих комиссий можно посмотреть на Учебном счете а какие появятся только на реальном ?
Получить номер заявки из таблицы по ID
 
Разобрался. Если кому будет интересно то :
Цитата
               ["ORDER_KEY"] = tostring(getItem("orders", getNumberOf("orders")-1).order_num)
Получить номер заявки из таблицы по ID
 
Здравствуйте.
Мне нужно отменить заявку, для этого нужно передать номер заявки в параметре ORDER_KEY:
Цитата

trans_params = {
               ["CLASSCODE"] = CLASS_CODE,
               ["SECCODE"]= SEC_CODE,
               ["TRANS_ID"] = "1",
               ["ACTION"] = "KILL_ORDER",
               ["ORDER_KEY"] = order_number
               }
res = sendTransaction(trans_params)
Однако сначала нужно найти order_number. Сделать это я пытаюсь так :
Цитата
trade = getItem("ORDERS", 1)
N=getItem(trade, "ORDER_NUMBER")
message(tostring(N));

Однако всегда получаю `nil`.
Вопрос - как мне получить Номер заявки по её ID из таблицы заявок?
Спасибо.
Прибыль дня меняется после закрытия торгов
 
Здравствуйте!
Обьясните пожалуйста - почему Прибыль дня и Прибыль % меняется уже после закрытия торгов ?
Я использую демо счет, возможно это происходит только на нем?
И как возможно что Нереал PL отрицательна но Прибыль % в поюсе, если ничем больше за день не торговал?
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Цитата
Egor Zaytsev написал:
Доступа через QLUA к таблице "Состояние счета" в текущей реализации нет.
т.е. Получить "Нереал PL" никак невозможно, только в ручную? Это крайне не удобно.
В будующем эта опция будет доступна ?
Какой функцией получить прибыль по инструменту., LUA скрипты
 
Здравствуйте!
Как получить с помощью LUA скрипта значение "Нереал PL" из таблицы "Состояние счета" ?
И сопутствующий вопрос - какой функцией закрыть позицию по инструменту ?
Спасибо.
Не удается зайти в терминал, Ошибка при подключении ключей.
 
Цитата
Alexey Ivannikov написал:
Мы попробуем подключиться сами с Вашими ключами.
Вы получили письмо с ключами ?
Не удается зайти в терминал, Ошибка при подключении ключей.
 
Цитата
Alexey Ivannikov написал:
Мы правильно понимаем, что речь идёт о подключении к учебному серверу QUIK Junior?
Да, верно. Пересылаю вам письмо.
Не удается зайти в терминал, Ошибка при подключении ключей.
 
Здравствуйте. Установил на новый ПК терминал quik, добавил в настройки публичный и приватный ключь. Но когда пытаюсь открыть терминал падает ошибка :
Цитата
Crypto error: Соединение установить не удалось. Возможно, Вы используете ключи, которые не зарегистрированы на сервере. Сообщение об ошибке: "Connection was closed by peer: Can't get message size from net"
Ключи, логин и пароль использую те что пришли на почту при регистрации. В чем может быть проблема, как ее устранить, спасибо.
Принимаю из стека пустое значение, Программирование на Lua C++
 
При попытке записать данные в файл (текстовый документ) из С++ все работает как надо.
Принимаю из стека пустое значение, Программирование на Lua C++
 
Добрый вечер. Не могу решить вроде бы совсем не сложную задачу - получить одну переменную из Lua в C#. Не таблицу а просто 1 число из стакана. Есть такой скрипт на Lua
Цитата
require("QluaCSharpConnector");
is_run=true;

function main()
while is_run == true do
QluaCSharpConnector.StartSendData(OnQuote());
--message(offr_price);  

sleep(1000);
end
end;

function OnQuote()
 tb = getQuoteLevel2("TQBR", "SBER");
 offr_price = tostring(tb.offer[1].price);
return offr_price;
end

Есть DLL на плюсах которая берет последнее значение из стека Lua
Цитата
PBYTE pb = (PBYTE)(MapViewOfFile(hFileMapMyMemory, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, 256));

while (true)
{
if (pb[0] == 0)
{
int index = lua_gettop(L);
double data = lua_tonumber(L, index);
const char *Str;
char buff[100];
sprintf(buff, "%f", data);
memcpy(pb, buff, strlen(buff));
}
Sleep(1000);
}
Далее, уже из MMF шарп получает правильное значение цены офера но только один раз. После чего продолжает его печатать когда оно давно изменилось.
Цитата
SR_Memory.BaseStream.Seek(0, SeekOrigin.Begin);
Msg = SR_Memory.ReadToEnd().Trim('\0', '\r', '\n');

Скорее всего ошибка кроется в С++ библиотеке, но я в упор не могу её разглядеть. Такое ощущение что я беру элемент в стеке под одним и тем же индексом, но lua_gettop(L) по идеи должен вернуть индекс последнего.
В стакан попадают странные значения, Работа со стаканом из Lua
 
Цитата
Sergey Gorokhov написал:
Функция срабатывает при поступлении данных по любому заказанному стакану
Действительно, в таблице состояние счета указана позиция по еще одному инструменту. давно с ним не работал и даже забыл. Хотя в покупке/в продаже по нулям, это ф-ю не останавливает.
В стакан попадают странные значения, Работа со стаканом из Lua
 
На счет коллбеков кажется врубился - функция будет вызываться постоянно, пока скрипт запущен (поэтому sleep(msec) - никак не влияет на частоту появления сообщений), поэтому даже если `while` будет пустой - он будет держать скрипт в работе а следовательно и обратный вызов OnQuote будет проходить.

Но все еще не понял - почему функция вызывается по СЛУЧАЙНОМУ стакану, вместо того который открыт или по нескольким если открыты несколько или не возвращает ноль если стаканы закрыты все?
В стакан попадают странные значения, Работа со стаканом из Lua
 
Хотите сказать, что попадают значения других инструментов и нужно вводить дополнительную проверку?  Как такое возможно если у меня открыт только 1 стакан ?
В стакан попадают странные значения, Работа со стаканом из Lua
 
Добрый день! Заметил что данные по спреду как то странно себя ведут. Решил проверить вот таким скриптом лучшую цену продажи :

Цитата
function main()
is_run=true;
while is_run == true do
OnQuote("TQBR", "SBER");
sleep(2000);
end
end;
function OnQuote(class, sec)
tb = getQuoteLevel2(class, sec);
 message(tostring(tb.offer[1].price));
end

По идеи мне должны в окне сообщения показываться только лучшие цены, однако иногда попадается что то явно не то скрин:


Чаще всего конечно показывает правильную цену ~262.70 но проскальзывали и такие непонятные цены. Прошу, поясните - это баг, это фича, или это у меня руки кривые ?
Не найдена указанная процедура. Error loading module '' from file, Подключение dll библиотеки на C++ к скрипту lua
 
Вы правы, я просто ошибся в одном символе, перепроверил имена функций - поправил, заработало. Спасибо  
Где посмотреть прибыль/убыток за все время
 
Спасибо, что пояснили. Но мне все еще не до конца понятно - почему если у меня нет не одной открытой позиции, параметр прибыль за день - постоянно меняется ?
Не найдена указанная процедура. Error loading module '' from file, Подключение dll библиотеки на C++ к скрипту lua
 
Скачал себе luaforwindows вот от сюда :

https://code.google.com/archive/p/luaforwindows/downloads?page=1
установил, добавил в .cpp файл :

#pragma comment(lib,"F:\\lua5.1.dll")

пересобрал проект и открыл длл через dependency walker - не одной красной ошибки не обнаружил. скопировал эту длл в папку со скриптом и исполняемым файлом терминала - и снова та же самая ошибка.
далее открываю эту же самую dll библиотеку в dependency walker и вижу вот это :


слов нет, одни эмоции - ну теперь то чего ему не хватает ? скопировал всё содержимое папки Realise и никакого толку.
Страницы: 1 2 След.
Наверх