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

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

Страницы: 1
Ema lua
 
ну вот пример в Wealth-Lab закинул данные и поставил ema close 3 данные ema свечи я получил сразу же через 3 свечи
Ema lua
 
Цитата
Imersio Arrigo написал:
Цитата
Sergey написал:
хоть они и разные и во всех их не могу одного понять! EMA (t) = EMA (t-1) + 2 *(P(t) – EMA (t-1))EM=Price(t)×k+EMA(y×(−k)откуда мне знать чему будет равен EMA (t-1) и
Эти алгоритмы считаются итеративно. E(t-1) - это результат предыдущего расчета, а не предыдущий элемент например массива.
На первой (на самом деле нулевой :) ) итерации E(t-1) можно принять равным нулю либо цене расчета. По сути оба варианта равноправны, т.к. пользоваться значением индикатора имеет смысл после того только после (period+1) отсчета.

т.е. EMA (0) = 0 + 2 *(P(0) – 0) или EMA (0) = P(0) + 2 *(P(0) – P(0)).
следующая EMA (1) = EMA(0) + 2 *(P(1) – EMA (0))
каждая последующая EMA (t) = EMA (t-1) + 2 *(P(t) – EMA (t-1))

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

Чисто графически имеет смысл начинать с Р(0), так будет лучше выглядеть на графике, хотя сути это не меняет.

Николай подсказывает абсолютно верно: -хорошо бы хотя бы краем глаза взглянуть на теорию :)
 
Imersio Arrigo,
ну вот у меня есть EMA из 3 свечей и он равен 66731; ниже те самые 3 свечи.
int candle[3];
candle[0] = 66730;
candle[1] = 66719;
candle[2] = 66744;
опишите алгоритм пожалуйста.
Ema lua
 
Здравствуйте, подскажите пожалуйста код функции EMA, или подробный алгоритм, в нэте туча подобных алгоритмов
EMA (t) = EMA (t-1) + 2 *(P(t) – EMA (t-1))

EM=Price(t)×k+EMA(y×(−k)

хоть они и разные и во всех их не могу одного понять!
EMA (t) = EMA (t-1) + 2 *(P(t) – EMA (t-1))

EM=Price(t)×k+EMA(y×(−k)

откуда мне знать чему будет равен EMA (t-1) и тд, если я его только хочу вычислить, просто для меня это звучит так, подходит ко мне человек с потерей памяти и спрашивает меня, сколько ему лет, а я ему говорю, ЛЕТ=(Лет-1) + 1 О_о так он же не знает сколько ему было лет, и сколько есть.
Как выставить TAKE_PROFIT_AND_STOP_LIMIT_ORDER на моих условиях?
 
Цитата
Stanislav Tvorogov написал:
Добрый день,

Для этого необходимо установить отступ от цены последней сделки (OFFSET), этот параметр указывает, насколько цена последней сделки должна стать ниже локального максимума цены, чтобы тэйк-профит сработал.
Направление условной стоп заявки при этом должно быть "Продажа" (если лимитная выставлена на покупку).
Т.е. если я поставлю t["OFFSET"] = tostring(5)
то мною описанной ситуации не будет?
Как выставить TAKE_PROFIT_AND_STOP_LIMIT_ORDER на моих условиях?
 
Здравствуйте, в общем столкнулся с проблемой, а звучит так "Long по 16000", как выставить take профит, по цене которой я хочу, или выше "take 16300", но при этом, что бы сквизы меня не убивали, сейчас вот с таким кодом, если цена 16250, затем за секунду сквизанёт на 16301, и вернётся на 16250, то меня закроет по take по цене 16250, А я хочу по моей цене или выше)))

Код
   t = {
      ["CLASSCODE"]    = p_classcode,
      ["SECCODE"]       = p_seccode,
      ["ACTION"]      = "NEW_STOP_ORDER",
      ["ACCOUNT"]      = "AKK" ,
      ["TRANS_ID"]      = tostring( p_robot_id )
   }
   

   t["OPERATION"] = "S"

   t["MARKET_TAKE_PROFIT"] = "YES"
t["MARKET_STOP_LIMIT"] = "YES"

   t["PRICE"] = "0" -- Цена, по которой выставится заявка при срабатывании Стоп-Лосса (для рыночной заявки по акциям должна быть 0) 
t["STOPPRICE"] = tostring(openprice + 300) -- Цена Тэйк-Профита 
t["STOP_ORDER_KIND"] = "TAKE_PROFIT_AND_STOP_LIMIT_ORDER" -- Тип стоп-заявки 
t["EXPIRY_DATE"] = "GTC" 
t["IS_ACTIVE_IN_TIME"] = "NO"
t["STOPPRICE2"] = tostring(openprice - 150) -- Цена Стоп-Лосса 
t["OFFSET"] = tostring(0)
t["QUANTITY"] = "1"
t["OFFSET_UNITS"] = "PRICE_UNITS"
t["SPREAD"] = tostring(0)
t["SPREAD_UNITS"] = "PRICE_UNITS"
   local transResult = sendTransaction( t )
   
   -- Проверка на ошибку
   if ( transResult and transResult ~= "" ) then
      
      return
   end   

тупят стопы?
 
Здравствуйте, в общем решил протестить одну стратегию, сделал код, всё ок, покупает, выставляет TAKE_PROFIT_AND_STOP_LIMIT_ORDER
НО вот в чём трабл, по окончанию дня, я заметил что, что то стопы не так работают, начал приглядываться, и действительно они не срабатывают ПРЯМ вот часто, и я собственно хотел узнать, это дело в том что я на демо(finam) тестирую? или всё же тупят стопы-код?
получить текущую эффективную цену позиции
 
Цитата
Sergey Gorokhov написал:
Цитата
Sergey написал:
так что это не то что нужно =(( мне нужна текущая цена текущей позиции.

Что Вы понимаете под "текущая цена текущей позиции"?
биржа транслирует то что Вам нужно, если да в каком параметре?
Следует понимать что на срочном рынке (в отличии от фондового и валютного рынков), позиции ведет и транслирует биржа, а не QUIK.
Следовательно если биржа не транслирует нужную Вам цифру то и в QUIK ее нет.
Окей тогда я проще опишу)
фьюч, я допустим, покупаю по 105, затем через минуту я покупаю по 107, средняя цена у меня будет 106, а перед этим я делал ещё 100 сделок, так вот в чём вопрос, как мне получить цифру 106, моей текущей позиции.
смысл в том, что я покупаю по маркету, и сразу же выставляю стоп, ну а стоп мне нужно выставить ОТ цены моей позиции +- прибыль - убыток
получить текущую эффективную цену позиции
 
Цитата
Sergey Gorokhov написал:
Sergey,
Этот параметр считает и транслирует биржа, можете поинтересоваться у нее какая формула расчета.
В биржевом потоке это параметр waprice из таблицы position потока FORTS_POS_REPL
И снова я к вам вернулся)) в общем протестил что да как, и вот что выходит
перед покупкой с прошлой сделки в "эффект.цена позиции" осталась цена 65212 (позиций нет)
short по маркету. в "Таблица заявок" цена 65103 а  в "эффект.цена позиции" цена стала 65209(это средняя цена всех предыдущих сделок как я понял), такой цены в стакане в Bid Ask нет.
так что это не то что нужно =(( мне нужна текущая цена текущей позиции.
получить текущую эффективную цену позиции
 
Цитата
Sergey Gorokhov написал:
Пример:
T=getFuturesHolding("SPBFUT","SPBFUT0001", "SiM9", 0)
message(tostring(T.avrposnprice))
Благодарю вас! так заработало.
только я до сих пор не понимаю, почему в "Таблица моих сделок" цена одна купли, а по эффект.цена позиции другая.
я уже не понимаю на какую мне смотреть)))
получить текущую эффективную цену позиции
 
Цитата
Egor Zaytsev написал:
avrposnprice
простите вот тут не понял, можете пожалуйста целиком написать как будет?
получить текущую эффективную цену позиции
 
Цитата
Egor Zaytsev написал:
Цитата
Sergey написал:
 
Цитата
Egor Zaytsev  написал:
 
Цитата
 Sergey   написал:
Здравствуйте, подскажите пожалуйста, как через Lua 100% получить Эффективную цену позиции? (фьюч)
  Добрый день.

Для получения параметра Эффективная цена позиции необходимо использовать функцию
getFuturesHolding и параметр avrposnpric

Формат вызова:    TABLE getFuturesHolding(STRING firmid, STRING trdaccid, STRING  sec_code, NUMBER type)
 Так на всякий случай спрошу, если я куплю фьюч по рынку, затем через 2 минуты, ещё раз докуплю фьюч, я увижу среднюю цену позиции в эффект.цена.поз? или в другом месте нужно смотреть?
Да, верно, это и есть Средневзвешенная цена открытия.
погуглил что да как вродь всё правильно написал, но пишет nil
позиция открыта, в лонг.
tas=TABLE getFuturesHolding("SPBFUT","70180ZB", "SiM9",4)
message (tostring(tas))
получить текущую эффективную цену позиции
 
Цитата
Egor Zaytsev написал:
Цитата
Sergey написал:
Здравствуйте, подскажите пожалуйста, как через Lua 100% получить Эффективную цену позиции? (фьюч)
Добрый день.

Для получения параметра Эффективная цена позиции необходимо использовать функцию
getFuturesHolding и параметр avrposnpric

Формат вызова:    TABLE getFuturesHolding(STRING firmid, STRING trdaccid, STRING  sec_code, NUMBER type)
Так на всякий случай спрошу, если я куплю фьюч по рынку, затем через 2 минуты, ещё раз докуплю фьюч, я увижу среднюю цену позиции в эффект.цена.поз? или в другом месте нужно смотреть?
получить текущую эффективную цену позиции
 
Здравствуйте, подскажите пожалуйста, как через Lua 100% получить Эффективную цену позиции? (фьюч)
Остановка и запуск Lua через Lua
 
Понял Спасибо большое, уже решил проблему и внедрил код в 1 файл, но всё же было интересно можно так или нет =)
Остановка и запуск Lua через Lua
 
ну вот в разделе quik -> Доступные Скрипты -> Загруженные скрипты
Есть 2 lua файла
1.lua основной запускается и работает, нужно через него запустить 2.lua.
Остановка и запуск Lua через Lua
 
Здравствуйте, подскажите как через 1.lua, запустить в quik 2.lua(они оба добавлены)
и как остановить?
Кто сможет поправить скрипт?, не за бесплатно
 
Здравствуйте, кто может подправить скрипт Lua, за выполнение работы 1к руб, скрипт работает всё ок, но в каких то моментах тупит адски...
Активная Тэйк-профит и стоп-лимит заявка
 
И ещё вопросик, почему когда стоит "тэйк-профит, если цена >= 64338" а меня в итоге закрывает по 64325?
как это устранить? я хочу что б закрывало больше или равно по цене.
Активная Тэйк-профит и стоп-лимит заявка
 
В общем потыкал в гугле) и сделал пока что такую вот рабочую версию, если можно сделать более практичной, буду благодарен за помощь.
Код
local t = ds:T(index)

  for i = getNumberOf("stop_orders")-1,0,-1 do
      T = getItem("stop_orders",i);

    message(bit.test(T.flags,0))     
       if(bit.test(T.flags,0) == true) then 
       message('DA')
       end

end
Активная Тэйк-профит и стоп-лимит заявка
 
Цитата
Sergey Gorokhov написал:

Пример для проверки стоп заявки:
if bit.test(zalyavka.flags, 0) then
message ("заявка активная")
end
Я прошу прощения, я недавно с lua работаю, стоп заявкой считается "Тэйк-профит и стоп-лимит"?
и что нужно мне знать для работы данной проверки? может быть идентификатор заявки какой то или ещё что то?
if bit.test(zalyavka.flags, 0) then
message ("заявка активная")
end
Активная Тэйк-профит и стоп-лимит заявка
 
Здравствуйте, кратко опишу ситуацию, покупаю фьюч, далее выставляю через lua "Тэйк-профит и стоп-лимит", вопрос вот в чём, как мне через lua проверить исполнена заявка или активная?
Как сделать что бы скрипт её видел? в виде переменной, типо
if(zalyavka == true) then
message ("заявка активная)
end
Большое спасибо
Страницы: 1
Наверх