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

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

Страницы: Пред. 1 ... 64 65 66 67 68 69 70 71 72 73 74 ... 78 След.
Что приходит в OnTransReply ?
 
Цитата
Старатель пишет:
Цитата
Sergey Gorokhov пишет:
в OnTransReply едут ответы на все транзакции и не важно от куда они до этого отправлялись.
Ерунда! OnTransReply не приходят на транзакции, поданные вручную.
Да, действительно следует уточнить .
Туда едут ответы на все транзакции имеющие trans_id, не важно от куда они до этого отправлялись.
Транзакции поданные через интерфейс не имеют  trans_id и соответственно в колбэк не попадут
Что приходит в OnTransReply ?
 
Здравствуйте,

в OnTransReply едут ответы на все транзакции и не важно от куда они до этого отправлялись.
И это правильное поведение.

Если нужно фильтровать ответы на транзакции только LUA скрипта, отправляйте транзакции с каким-нибудь особенным TRANS_ID
и в OnTransReply уже фильтруйте ответы по параметру trans_id
Сообщения
 
Здравствуйте,
Описанная проблема не воспроизводится.
Сообщите версию терминала.
CreateDataSource
 
Цитата
Sergey Gorokhov пишет:
Цитата
Старатель пишет:
Цитата
s_mike@rambler.ru пишет:
Цитата
Старатель пишет:
Переключился на тиковый интервал: секунды появились. Но милисекунды не транслируются.
А теперь переключитесь с демо спотана демо фортс или на боевые торги.
Я имел ввиду для параметров из ТТП. На боевом сервере мс не транслируются для параметров.

Ещё такой вопрос.
Код
  function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  message('[main] '..tostring((tDS:Close())), 2)
end  
Результат: [main] true
Код
  local bRun, tDS = true
function OnStop()
  bRun = nil
end
function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  while bRun do sleep(200) end
  message('[main] '..tostring((tDS:Close())), 2)
end  
Результат: [main] nil
Код
  local bRun, tDS = true
function OnStop()
  message('[OnStop] '..tostring((tDS:Close())), 2)
  bRun = nil
end
function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  while bRun do sleep(200) end
end  
Результат: [OnStop] nil
Код
  local bRun, tDS = true
function OnStop()
  message('[OnStop] '..tostring((tDS:Close())), 2)
  bRun = nil
end
function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  while bRun do sleep(200) end
  message('[main] '..tostring((tDS:Close())), 2)
end  
Результат:
[OnStop] nil
[main] false

Можете объяснить результаты?
Здравствуйте!

Информация получена, проблема изучается. Постараемся в ближайшее время дать ответ.
Добрый день,

Ошибка будет исправлена в одной из следующих версий программы.
Стоплосс и тейкпрофит заявки
 
Цитата
Валентин пишет:
получается как то так?
Сравните с примером
-Раздел 6. Совместная работа с другими приложениями
--Импорт транзакций
---Формат .tri-файла с параметрами транзакций
----Примеры строк, которые могут содержаться в файле
-----"Тэйк-профит и стоп-лимит"

Цитата
Валентин пишет:
["TYPE"] = "M",
["PRICE"] = "0",
эти поля нужны?
Еще раз повторяю, поле TYPE, НЕ для стоп заявок
Поле PRICE да нужно, посмотрите пример
отправка заявки на закрытии сессии, заявка снимается, но показывается как исполнена
 
Здравствуйте,
По данному вопросу рекомендуем обратиться к своему брокеру.
Стоплосс и тейкпрофит заявки
 
Цитата
Валентин пишет:
Цитата

Sergey Gorokhov пишет:
Здравствуйте,
Да верно на ФОРТС не существует рыночных заявок.
Но QUIK умеет их эмулировать.
Для этого нужно поставить Type=M и указать цену 0
почему в данном случае не происходит эмуляция?
Здравствуйте,
Параметр "TYPE" для лимитированных заявок.
Для стоп заявки "TAKE_PROFIT_AND_STOP_LIMIT_ORDER" используются параметры MARKET_STOP_LIMIT или MARKET_TAKE_PROFIT
Индикаторы
 
Цитата
Роман пишет:
Цитата
Если считаете наш выбор одного из способов не правильным, выберете свой и реализуйте его на LUA
p.s. так проблема в этом и есть что вашего способа реализации тоже нет, в википедии не написано где возведение в целое требуется, а где нет - если использовать LUA, я в принципе понял - если в формуле есть что то типа 100*.. нужно в Луа болты крутить.
Роман,
При чем тут LUA когда мы говорим о математике?
Если считаете виноватым LUA воспроизведите формулу из википедии на excel увидите те же самые цифры.

Наша реализация аналогична реализации википедии, за исключением двух моментов, это умножение -M и +M на 100 и округление значений (ADX, +DI, -DI  ) до целых
Индикаторы
 
Цитата
Роман пишет:
Ладно ну его в баню, там может быть косяк с чем угодно связан, учитывая что Луа с заплатками работает - там в сотые могут все сбить.
Потом сяду сравню расчёт и ADX в ТА с самых основ и там уже найду в чём проблема.
Роман, "косяк" в том что существуют разные способы в расчета ADX
Уже было сказано что в QUIK формула аналогична формуле в википедии.
Если не верите википедии посмотрите другие сайты average-directional-index
Если считаете наш выбор одного из способов не правильным, выберете свой и реализуйте его на LUA
Индикаторы
 
Цитата
Роман пишет:
и честно не вижу в алгоритме что бы был использован ATR

Смотрите внимательней
Код
            double a = (double)2 / (double)(calc.ADXPeriod + 1);

            sig.AverageTrueRange = sig.TrueRange * a +

                symbolHistory[timePeriod][symbolHistory[timePeriod].Count – 2].AverageTrueRange * (1 – a);
Индикаторы
 
Цитата
Роман пишет:
Сразу в глаза кидается ATR - зачем оно там.
Роман,
Я Вам уже три раза повторил причину.
Существует ДВЕ формулы ADX
И тот пример который я написал НЕ по той формуле которая в QUIK
А по той формуле которая указана по ссылке
Цитата
Sergey Gorokhov пишет:
average-directional-movement-index-adx-formula-in-c-2
И там расчет ведется с учетом ATR
Это значит что Ваше утверждение
Цитата
Роман пишет:
если вы с c# взяли как пример для выше приведённого кода то у вас он получился не так в том коде.
является ложным

Большая просьба внимательно читать то о чем Вам пишут
Индикаторы
 
На сайте написано так



у меня так:
Код
local dHigh = H(Index) - H(Index-1)
local dLow = L(Index-1) - L(Index)


На сайте написано так:




у меня так:
Код
   if ((dHigh < 0) and (dLow < 0)) or (dHigh==dLow) then 
      pDM[Index-1] = 0
      mDM[Index-1] = 0
   end
   if (dHigh > dLow) then 
      pDM[Index-1] = dHigh
      mDM[Index-1] = 0
   end
   if (dHigh < dLow) then 
      pDM[Index-1] = 0
      mDM[Index-1] = dLow
   end
На сайте написано так:



у меня так:
Код
   
--Average Directional Move Indicator
   local pAMD = pDM_MA(Index-1, {Period=N, Metod=M}, pDM, idp)
   local mADM = mDM_MA(Index-1, {Period=N, Metod=M}, mDM, idp)
--где для EMA
--EMA_TMP[Index]=round((EMA_TMP[Index-1]*(Period-1)+2*ds[Index]) / (Period+1),idp)


На сайте написано так:


у меня так:
Код
   
--True Range
   TR[Index-1] = math.max(math.abs(H(Index) - L(Index)), math.abs(H(Index) - C(Index-1)), math.abs(C(Index-1) - L(Index)))
На сайте написано так:


у меня так:
Код
   
   --Average True Range
   local ATR = ATR_MA(Index-1, {Period=N, Metod=M}, TR, idp)
--где для EMA
--EMA_TMP[Index]=round((EMA_TMP[Index-1]*(Period-1)+2*ds[Index]) / (Period+1),idp)

На сайте написано так:



у меня так:
Код
   
        local pDI = round(100 * pAMD / ATR, idp)
        local mDI = round(100 * mADM / ATR, idp)

на сайте написано так:


у меня так:
Код
   
DX[Index-N] = 100 * math.abs(pDI-mDI) / (pDI+mDI)

и наконец, на сайте написано так


а у меня так:
Код
   
      return ADX_MA(Index-N, {Period=N, Metod=MetodADX}, DX, idp),pDI,mDI

--где для EMA
--EMA_TMP[Index]=round((EMA_TMP[Index-1]*(Period-1)+2*ds[Index]) / (Period+1),idp)

В общем, я не вижу различий.
Индикаторы
 
Цитата
Роман пишет:
у вас он получился не так в том коде
интересно узнать в чем разница? (не считая округления которое отключается легким движением руки)
Цитата
Роман пишет:
А пример я просил именно Квиковский,
Я Вам уже говорил, LUA примера ADX по формуле как в QUIK у нас уже нет, и делать я его не буду.
Попробуйте сделать его самостоятельно (формула у Вас уже есть), готов помочь при возникновении проблем.
Индикаторы
 
Еще раз повторяю
В QUIK индикатор ADX считается по формуле
Система_направленного_движения

Тот пример который я привел рассчитывает данне по ДРУГОЙ формуле
average-directional-movement-index-adx-formula-in-c-2

Это две РАЗНЫЕ формулы
Их сравнение обсуждалось тут:
mql4

и они приведены еще тут:
average-directional-index
Индикаторы
 
Цитата
Роман пишет:
з.ы. Сергей и ваш код, совсем не похож на тот алгоритм который описан: https://forum.quik.ru/messages/forum13/message4707/topic461/#message4707
Роман,
Гигантская просьба читайте посты внимательнее,
Я воспроизвел Вашу формулу по ссылке
Цитата
Роман пишет:
В общем не правильно у вас индюк рассчитывается.

Есть два вида ADX

1. на EMA - он же на финаме, у вас не верный
2. на WMA - он же в wealth lab

http://www.dinosaurtech.com/2007/average-directional-movement-index-adx-formula-in-c-2/

вот этот вариант EMA работает и в точности как на финаме, а вот под WMA - ячто то не понял как его подкрутить, посоветуйте ...
Цитата
Sergey Gorokhov пишет:

Эта формула НЕ такая как в QUIK о чем также было явно сказано.
Так что причин удивляться тому что этот индикатор НЕ такой как в QUIK совершенно нет.
Так как именно об этом и идет разговор последние 20 постов.
Индикаторы
 
Цитата
Роман пишет:
Самое интересное что этот вариант с EMA, отличается от графика ADX Квика.
Вам явно и не двусмысленно было сказано, что тот код который я привел воспроизводит ту формулу которую Вы привели.
Эта формула НЕ такая как в QUIK о чем также было явно сказана.
Так что причин удивляться тому что этот индикатор НЕ такой как в QUIK совершенно нет.
Так как именно об этом и идет разговор последние 20 постов.

Цитата
Роман пишет:
Этот код немного отличается о того что я сделал, в преобразовании в целое round - упоминаний об этом не встречал не где.
Округление было добавлено по моей личной инициативе в процессе исследования.
Если оно Вам мешает, не вопрос просто выключите его:
Round = "-1",

Цитата
Роман пишет:
Вот со всеми вариантами: http://notepad.cc/smaijihe18 - не выходит
Поясните что именно не выходит?
Цитата
Роман пишет:
я не знаю как у вас в КВИКе расчёт выводит.
Я Вам уже приводил формулу
Еще раз дублирую
Система_направленного_движения
Индикаторы
 
Цитата
Sergey Gorokhov пишет:
наша формула совпадает с формулой метастока.
В то время как например в том же метатрейдере используется формула приведенная Вами
Опечатка, перепутал метасток и метатрейдер, следует читать так:
Цитата
наша формула совпадает с формулой метатрейдера.
В то время как например в том же метастоке  используется формула приведенная Вами
Индикаторы
 
Цитата
Роман пишет:
1. на EMA - он же на финаме, у вас не верный
Роман, нашу формулу я Вам приводил, да она отличается от той что привели Вы.
Покопавшись в истории выяснилось что наша формула совпадает с формулой метастока.
В то время как например в том же метатрейдере используется формула приведенная Вами
На счет сайта финама ничего не могу сказать.
Так вот, оказывается эти различия заметили не только Вы
http://forum.mql4.com/ru/47825

И как оказалось единого мнения не нашлось.
Также в процессе исследования, я воспроизвел расчеты приведенные Вами, может оказаться полезным:
Код
 SMA="SMA"
 EMA="EMA"
 SMMA="SMMA"

Settings= {
Name = "!LUA_ADX",
Period=14,
Metod = EMA, --Metod: SMA, EMA, SMMA
MetodADX = EMA, --Metod: SMA, EMA, SMMA
Round = "0", --округление
line = {
   {
   Name = "LINE_ADX",
   Type = TYPE_LINE,
   Width  = 1,
   Color = RGB(0, 0, 255)
   },
   {
   Name = "LINE_ADX +DI",
   Type = TYPE_LINE,
   Width  = 1,
   Color = RGB(0, 255, 0)
   },
   {
   Name = "LINE_ADX -DI",
   Type = TYPE_LINE,
   Width  = 1,
   Color = RGB(255, 0, 0)
   }
   }
} 

function Init()
   F=ADX()
   return #Settings.line
end

function OnCalculate(Index)
   return F(Index, Settings)
end

--Average Directional Movement Index (ADX)
function ADX()
   local pDM_MA=MA()
   local mDM_MA=MA()
   local ATR_MA=MA()
   local ADX_MA=MA()
   local pDM={}
   local mDM={}
   local TR={}
   local DX={}
return function (Index, Settings)
local Settings=(Settings or {})
local N = (Settings.Period or 14)
local M = (Settings.Metod or EMA)
local MetodADX = (Settings.MetodADX or M)
if (Settings.Round=="") or (tonumber(Settings.Round)<0) then idp=nil else idp=tonumber(Settings.Round) end

if Index>1 then
   local dHigh = H(Index) - H(Index-1)
   local dLow = L(Index-1) - L(Index)
   if ((dHigh < 0) and (dLow < 0)) or (dHigh==dLow) then 
      pDM[Index-1] = 0
      mDM[Index-1] = 0
   end
   if (dHigh > dLow) then 
      pDM[Index-1] = dHigh
      mDM[Index-1] = 0
   end
   if (dHigh < dLow) then 
      pDM[Index-1] = 0
      mDM[Index-1] = dLow
   end

   --Average Directional Move Indicator
   local pAMD = pDM_MA(Index-1, {Period=N, Metod=M}, pDM, idp)
   local mADM = mDM_MA(Index-1, {Period=N, Metod=M}, mDM, idp)
   
   --True Range
   TR[Index-1] = math.max(math.abs(H(Index) - L(Index)), math.abs(H(Index) - C(Index-1)), math.abs(C(Index-1) - L(Index)))
   
   --Average True Range
   local ATR = ATR_MA(Index-1, {Period=N, Metod=M}, TR, idp)
   
   if Index > N then
      --Directional Index
      local pDI = round(100 * pAMD / ATR, idp)
      local mDI = round(100 * mADM / ATR, idp)

      --Directional Movement Index
      DX[Index-N] = 100 * math.abs(pDI-mDI) / (pDI+mDI)
      
      return ADX_MA(Index-N, {Period=N, Metod=MetodADX}, DX, idp),pDI,mDI
   else
      return nil,nil,nil
   end
else
   return nil,nil,nil
end
end
end

function MA()
local t_SMA=fSMA()
local t_EMA=fEMA()
local t_SMMA=fSMMA()
return function(Index, Settings, ds, idp)
   local Settings=(Settings or {})
   local P = (Settings.Period or 9)
   local M = (Settings.Metod or EMA)
   if M == SMA then
      return t_SMA(Index, P, ds, idp)
   elseif M == EMA then
      return t_EMA(Index, P, ds, idp)
   elseif M == SMMA then
      return t_SMMA(Index, P, ds, idp)
   else
      return nil
   end
end
end

------------------------------------------------------------------
--Скользящие средние (SMA, EMA, VMA, SMMA)
------------------------------------------------------------------
--[[Simple Moving Average (SMA)
SMA = sum(Pi) / n
]]
function fSMA()
return function (Index, Period, ds, idp) 
local Out = nil
   if Index >= Period then
      local sum = 0
      for i = Index-Period+1, Index do
         sum = sum +ds[i]
      end
      Out = sum/Period
   end 
   return round(Out,idp)
end
end

--[[Exponential Moving Average (EMA)
EMAi = (EMAi-1*(n-1)+2*Pi) / (n+1)
]]
function fEMA() 
local EMA_TMP={}
return function(Index, Period, ds, idp)
local Out = nil
   if Index == 1 then
      EMA_TMP[Index]=round(ds[Index],idp)
   else
      EMA_TMP[Index]=round((EMA_TMP[Index-1]*(Period-1)+2*ds[Index]) / (Period+1),idp)
      EMA_TMP[Index-2]=nil
   end
   
   if Index >= Period then
      Out = EMA_TMP[Index]
   end
   
   return round(Out,idp)
end
end

--[[Smoothed Moving Average (SMMA)
SMMAi = (sum(Pi) - SMMAi-1 + Pi) / n
]]
function fSMMA()
local SMMA_TMP={}
return function(Index, Period, ds, idp)
local Out = nil
   if Index >= Period then
      local sum = 0
      for i = Index-Period+1, Index do
         sum = sum +ds[i]
      end
      
      if Index == Period then
         SMMA_TMP[Index]=round(sum / Period, idp)
      else
         SMMA_TMP[Index]=round((sum - SMMA_TMP[Index-1] + ds[Index]) / Period, idp)
      end
      SMMA_TMP[Index-2]=nil
      Out = SMMA_TMP[Index]
   end
   return round(Out,idp)
end
end
------------------------------------------------------------------
--Вспомогательные функции
------------------------------------------------------------------
function round(num, idp)
if idp and num then
   local mult = 10^(idp or 0)
   if num >= 0 then return math.floor(num * mult + 0.5) / mult
   else return math.ceil(num * mult - 0.5) / mult end
else return num end
end

Take Profit, Как правильно выставить величину отступа и спрэда
 
Цитата
Евгений_2 пишет:
правильно я понимаю что при отрицательном отступе важен только знак, а значение отступа не принципиально(1,3 или 5)
По сути да правильно
Цитата
Евгений_2 пишет:
поскольку в этом случае заявка отправится в систему при первой сделке в стакане?
В стакане нет и никогда не было сделок, там только заявки
Take Profit, Как правильно выставить величину отступа и спрэда
 
Цитата
Евгений_2 пишет:
Или я неправильно рассуждаю? Поправьте...
Про отрицательный спрэд и отступ. Дело в том, что формулы описывающие
работу take-profit оказались универсальными и независящими от знака
спрэда и отступа, поэтому мы решили сохранить такую
универсальность и в реализации. Другое дело, что тяжело придумать
жизненный пример где бы такую возможность можно было применить по делу.
Отрицательный защитный спрэд служит для того, чтобы выставить
лимитированную заявку по цене «хуже» рынка. Отрицательный отступ служит
для того, чтобы take-profit сработал как только лучшая цена перестанет
улучшаться на его значение. То есть, после того как take-profit начал
насчитывать min/max, лучшая цена должна на каждой сделке улучшаться на
заданный отступ (точнее на его модуль) и как только она так сильно не
улучшилась take-profit срабатывает выставляя лимитированную заявку. В
классическом применении эти два параметра должны быть больше или равны
нулю - независимо от операции. Если вы зададите отрицательный отступ, то
лимитированная заявка выставится в рынок немедленно после совершения на
нем какой-нибудь сделки. Отрицательный спред приведет к тому, что заявка
выставится по цене хуже той, из-за которой сработало условие.
Индикаторы
 
Цитата
Роман пишет:
Расхождения слишком большие, тогда только два объяснения:

1. Формула применена в Квике верна, а все о стольные ТА ошиблись в расчёте.
2. Все остольные ТА рассчитывают ADX верно, а в Квике что то не то.
Уточните различия в самом ADX или в линиях +DM и -DM? и приведите пример различий
Индикаторы
 
Цитата
Sergey Gorokhov пишет:
Цитата
Роман пишет:
Я уже достаточно стар что бы верить в светлое будущее, я думаю проблему нужно решить не зависимо от верыисповедывания.

Я говорю о конкретной проблеме, которая есть в вашем продукте, отображаемый индикатор АДX показывать не корректные данные, сомневаюсь что там округление виновато, так как отличаются они не сотыми и на вашем индикаторе можно наблюдать длительный рос, в отличии от других где идёт длительное падение, в целом единственное что ваш АДX связывает с остальными - это то что он колеблется в приделах 0 - 100
Наша формула такая же как здесь Система_направленного_движения
За двумя исключениями, первое это то что значения округляются, второе то что значения +DM и -DM умножаются на 100.
Могу Вас заверить других отличий нет
Может быть дело в том что у нас ADX считается как Экспоненциальная скользящая средняя?
Индикаторы
 
Цитата
Роман пишет:
Я уже достаточно стар что бы верить в светлое будущее, я думаю проблему нужно решить не зависимо от верыисповедывания.

Я говорю о конкретной проблеме, которая есть в вашем продукте, отображаемый индикатор АДX показывать не корректные данные, сомневаюсь что там округление виновато, так как отличаются они не сотыми и на вашем индикаторе можно наблюдать длительный рос, в отличии от других где идёт длительное падение, в целом единственное что ваш АДX связывает с остальными - это то что он колеблется в приделах 0 - 100
Наша формула такая же как здесь Система_направленного_движения
За двумя исключениями, первое это то что значения округляются, второе то что значения +DM и -DM умножаются на 100.
Могу Вас заверить других отличий нет
Индикаторы
 
Цитата
Роман пишет:
Цитата
К сожалению уже нет, все было удалено безвозвратно.
В наше время это сложно сделать.

Вроде все серьёзные дяди, а ребячитесь на эмоциях забывая о том чем мы здесь занимаемся ...

Проблема в том что ваш ADX отличается от всех остальных ADX используемых в ТА и его нужно подправить и я не могу понять где. Если у вас есть идея, скиньте через личку, я самостоятельно проработаю эту проблему.
Просто поверьте, что примеров больше нет.
Даю подсказку в ADX показатели округляются по математическим правилам для всех методов кроме SMMA
Индикаторы
 
Цитата
Роман пишет:
Sergey Gorokhov - а есть ADX в LUA? а то я запарился с ним, не как не могу его к стандарту Wealth-lab или Финама подогнать, то ли формулы разные то ли сделаны не так.

з.ы. вообще если честно, поставьте в форуме голосование - какие индикаторы нужно реализовывать, а какие нет. А так реализация в скриптах она хороша, просто что бы не пиать постоянно то что уже есть, а за инклидить и вставил в скрипт нужного индюка. Я же говорил с.м. архитектуру ТА, зачем велосипед заново изобретать.
Роман,
К сожалению уже нет, все было удалено безвозвратно.
Примеров индикаторов на LUA нет и не будет.
Есть только пример скользящей средней, который выложен ранее на сайте http://www.quik.ru/depot/quik_lua.zip
ртс, маркет ордер
 
Цитата
s_mike@rambler.ru пишет:
Сергей Горохов, здравствуйте.

Касаемо эмуляции рыночных заявок на шлюзе.

Является ли на текущий момент эта возможность стандартной и гарантируется ли ее работа вне зависимости от факторов брокера и т.п.?


Спасибо.
Михаил,
Боюсь что нет. Теперь цену подставляет шлюз, если брокер его не обновил или отключил опцию, то работать не будет
6.17.0.58 bugs collection, разработчикам на заметку. (все остальные - прошу проходить мимо и не засорять топик)
 
Цитата
s_mike@rambler.ru пишет:
Было бы неплохо также распространить автомасштабирование на установленные метки.
Михаил,
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Take Profit, Как правильно выставить величину отступа и спрэда
 
Цитата
сергей пишет:
3. Величины «отступа» и «защитного спрэда» могут указываться как в значениях цены, так и в процентах.
Исходя из п2. - отрицательное значение в процентах допустимо?
Да отрицательные значения в процентах также являются допустимыми
Индикаторы
 
Цитата
sam063rus пишет:
гораздо труднее - его понять.
Что понять? Что воспроизведение индикаторов не является нашей задачей? Это очевидно.
Если требуется частная реализация, делайте сами, не можете сами есть фрилансеры.
Индикаторы
 
Цитата
Sergey Gorokhov пишет:
Цитата
sam063rus пишет:
Цитата
Sergey Gorokhov пишет:
Я забочусь об остальных клиентах
а обо мне значит, НЕТ??? вот всегда - я так и знал... ((

(шутка.)
Вы считаете что я должен собрать все известные индикаторы и реализовать их на LUA только чисто из своей доброты?
Ужи извините, но мне жизни не хватит.
Да и кушать на что то нужно.
Собственно после общения с Вами у меня вообще отпало какое-либо желание воспроизводить индикаторы.
Забудьте о моем жесте доброй воли, я просто удалю все что создал.
Остальные пользователи будут Вам благодарны.
Take Profit, Как правильно выставить величину отступа и спрэда
 
Цитата
сергей пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
сергей пишет:
Сергей, я - сергей. Запомните.
Если вы уверены что я не смогу найти "огрехов" в этих 16ти страницах - кидайте. 9137731391@mail.ru
сергей,
Документацию отправил
Да, что-то новенькое в примерах.
Но!
1. В работе тэйк-профита, даже на этих 20ти страницах, не нашёл описание "неблагоприятного" исхода срабатывания тэйка на покупку.
2. Опять же, с чего и началась данная ветка....Даю рубль за два что большинство сотрудников техподдержки не знают как работает тэйк при использовании отрицательных отступа и спрэда, а пользователи квика и подавно.
3. Величины «отступа» и «защитного спрэда» могут указываться как в значениях цены, так и в процентах.
Исходя из п2. - отрицательное значение в процентах допустимо?

НАЗНАЧЕНИЕ: Закрытие позиции по инструменту с максимальной прибылью.
А как же открытие позиции по самой выгодной цене? )
Мы рассмотрим доработку документа
Индикаторы
 
Цитата
sam063rus пишет:
Цитата
Sergey Gorokhov пишет:
Я забочусь об остальных клиентах
а обо мне значит, НЕТ??? вот всегда - я так и знал... ((

(шутка.)
Вы считаете что я должен собрать все известные индикаторы и реализовать их на LUA только чисто из своей  доброты?
Ужи извините, но мне жизни не хватит.
Да и кушать на что то нужно.
Индикаторы
 
Цитата
sam063rus пишет:
Цитата
Sergey Gorokhov пишет:
Если Вы хотите новые индикаторы, можете сделать самостоятельно.
это понятно )))))
но ведь, а как же забота об остальных клиентах???))))))
Я забочусь об остальных клиентах и именно поэтому решил воспроизвести расчеты имеющихся индикаторов.
Но делать новые я не буду, просто потому что это не является моей задачей.
Если у Вас есть на это свободное время займитесь вопросом, люди Вам скажут спасибо.
6.17.0.58 bugs collection, разработчикам на заметку. (все остальные - прошу проходить мимо и не засорять топик)
 
Цитата
Дмитрий пишет:
Цитата
Дмитрий пишет:
Заметил также еще одну особенность работы функций SetValue и SetRangeValue - если с их помощью установить значения индикатора (индикатор рисовал в отдельном окне), которые выходят за границы минимальных/максимальных значений индикатора, установленных ранее с помощью return в OnCalculate, то новые значения в итоге не видны, так как оказываются за границами окна (автомасштабирование на такую смену значений индикатора не реагирует).
Здравствуйте!
Удалось ли воспроизвести проблему с помощью приведенного мною скрипта?
Да, описанное поведение воспроизводится.
Ответа по проблеме пока нет.
Индикаторы
 
Цитата
sam063rus пишет:
похоже, те индикаторы, которые есть в квике - это предел для квика...
Если Вы хотите новые индикаторы, можете сделать самостоятельно.
Индикаторы
 
Цитата
sam063rus пишет:
Цитата
Sergey Gorokhov пишет:
Но если нужен какой-то определенный индикатор, можете спросить, если он готов то я его выложу.
например, индикатор горизонтального объёма ))
Читайте внимательней, речь идет только об индикаторах которые есть в терминале QUIK
Индикаторы
 
Цитата
Дмитрий пишет:
Цитата
Sergey Gorokhov пишет:
определенная работа по созданию примеров для всех индикаторов уже ведется.
Некоторые примеры уже готовы
А как можно ознакомиться с уже готовыми примерами?
Выкладывать не готовый комплект я не буду, по вполне объективным причинам.
Но если нужен какой-то определенный индикатор, можете спросить, если он готов то я его выложу.
Перекодировка в LUA
 
Цитата
Viktor MMM пишет:
Понял, спасибо.
Да, не пашет(
Собственно, а зачем Вам перекодировка ради одного единственного результата команды ping?
Цифровые значения Вы выдернуть можете, а весь остальной текст там является константой.
Просто произведите замену текста на читаемый и все.
Индикаторы
 
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Индикаторы
 
Цитата
Роман пишет:
или к какой цене (открытие, закрытие, максимум, минимум)
Цитата
Sergey Gorokhov пишет:
во всех индикаторах где это возможно, уже можно установить привязку к закрытию, открытию.
Время ожидания подтверждения транзакции
 
Цитата
Viktor MMM пишет:
Спасибо, Сергей!
Подскажите, пожалуйста, как с кодировкой справиться?
Скрытый текст === Testing backticks_string ===

ЋЎ¬Ґ­ Ї ЄҐв ¬Ё б SPB2.ForTrade.Pro [80.79.250.151] б 32 Ў ©в ¬Ё ¤ ­­ле:
ЋвўҐв ®в 80.79.250.151: зЁб«® Ў ©в=32 ўаҐ¬п=2¬б TTL=117
ЋвўҐв ®в 80.79.250.151: зЁб«® Ў ©в=32 ўаҐ¬п=2¬б TTL=117
ЋвўҐв ®в 80.79.250.151: зЁб«® Ў ©в=32 ўаҐ¬п=5¬б TTL=117
ЋвўҐв ®в 80.79.250.151: зЁб«® Ў ©в=32 ўаҐ¬п=3¬б TTL=117

‘в вЁбвЁЄ Ping ¤«п 80.79.250.151:
Џ ЄҐв®ў: ®вЇа ў«Ґ­® = 4, Ї®«г祭® = 4, Ї®вҐап­® = 0
(0% Ї®вҐам)
ЏаЁЎ«Ё§ЁвҐ«м­®Ґ ўаҐ¬п ЇаЁҐ¬ -ЇҐаҐ¤ зЁ ў ¬б:
ЊЁ­Ё¬ «м­®Ґ = 2¬бҐЄ, Њ ЄбЁ¬ «м­®Ґ = 5 ¬бҐЄ, ‘।­ҐҐ = 3 ¬бҐЄ
К сожалению у нас нет рекомендаций на этот счет, может есть ответ на форумах посвященных LUA
Время ожидания подтверждения транзакции
 
Цитата
Виктор МММ пишет:
имеется в виду, чтобы не просто вызвать пинг, а скриптом получить результультат етого пинга..
если получить результат то это уже io.popen()

Почитать тут:
luaos
Время ожидания подтверждения транзакции
 
Цитата
Viktor MMM пишет:
1. Ситуация - ждем ответ, его все нет. Что вы, как разработчики, посоветуете делать? Если просто дальше ждать, то может вообще моя транзакция не дошла? Если еще одну отправить - две могут в результате исполнится.
Какой алгоритм действий вы можете предложить в ситуации долгого ответа?
Если ответа нет, наверное следует вывести ошибку в лог и остановить работу.
Но решать Вам.
Цитата
Viktor MMM пишет:
2. Кроме бесконечного цикла в скрипте, сами по себе настройки квика могут повлиять на скорость и качество обмена инф с сервером? Нагруженость, так сказать, квика повлияет на это?
Настройки могут повлиять на нагрузку процессора, а нагрузка процессора может привести к зависанию, так что да.
Есть соответствующие рекомендации по оптимизации:
http://www.quik.ru/user/faq/optimization/
Цитата
Viktor MMM пишет:
3. Как через клуа пинговать сервер?
Либо os.execute, либо параметр "Задержка данных при обмене с сервером" информационного окна, работает при включенной галке "Проверять связь с сервером каждые … секунд" в меню Связь - Доступные соединения
CreateDataSource
 
Цитата
Старатель пишет:
Цитата
s_mike@rambler.ru пишет:
Цитата
Старатель пишет:
Переключился на тиковый интервал: секунды появились. Но милисекунды не транслируются.
А теперь переключитесь с демо спотана демо фортс или на боевые торги.
Я имел ввиду для параметров из ТТП. На боевом сервере мс не транслируются для параметров.

Ещё такой вопрос.
Код
 function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  message('[main] '..tostring((tDS:Close())), 2)
end 
Результат: [main] true
Код
 local bRun, tDS = true
function OnStop()
  bRun = nil
end
function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  while bRun do sleep(200) end
  message('[main] '..tostring((tDS:Close())), 2)
end 
Результат: [main] nil
Код
 local bRun, tDS = true
function OnStop()
  message('[OnStop] '..tostring((tDS:Close())), 2)
  bRun = nil
end
function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  while bRun do sleep(200) end
end 
Результат: [OnStop] nil
Код
 local bRun, tDS = true
function OnStop()
  message('[OnStop] '..tostring((tDS:Close())), 2)
  bRun = nil
end
function main()
  tDS = CreateDataSource('QJSIM', 'SBER', INTERVAL_M1)
  tDS:SetUpdateCallback(function(nIndex) end)
  while bRun do sleep(200) end
  message('[main] '..tostring((tDS:Close())), 2)
end 
Результат:
[OnStop] nil
[main] false

Можете объяснить результаты?
Здравствуйте!

Информация получена, проблема изучается. Постараемся в ближайшее время дать ответ.
Как получить событие - изменение в ТТП?
 
Цитата
sam063rus пишет:
Цитата
Серж пишет:
Цитата
Viktor MMM пишет:
Подписаться на изменение конкретного параметра не возможно.
Можно, как вам уже указали, используя CreateDataSource и SetUpdateCallback. Но, если необходимо отслеживать много параметров, то неизвестно, как это отразится на производительности
вопрос к client support,
https://forum.quik.ru/messages/forum1/message5415/topic343/#message5415
Время ожидания подтверждения транзакции
 
Здравствуйте,
При всем нормальном ответ на транзакцию должен быть всегда.
Если по каким-то причинам его нет или он приходит с ощутимой задержкой это повод обратиться к брокеру, возможно есть проблемы на его стороне.

Рабочее место пользователя тоже может привести к таким последствиям, если привести к зависанию терминала.
Например если сделать бесконечный цикл в событии.
Таблциа Истории
 
Цитата
sam063rus пишет:
в общем. как я понял - биржу можно сравнить с файлообменником с возможностью докачки. Врядли история ведётся по каждому брокеру. Логичней было бы предположить, что есть некий общий биржевой кеш, в структуре биржевого потока - есть поля временных меток. Квиковский сервер мониторит пакеты с биржевого шлюза, и если есть изменение метки времени в структуре пакета - принимает данные. Брокеры - являются подписчиками на информацию теперь уже через квиковский сервер - тут уже - единый биржевой поток разбирается на части и к реально биржевым данным примешиваются чисто исторические - свечи и т. д. Теперь уже брокер является своего рода биржевым каналом (через выделенный квиковский сервер) и главным арбитром предоставления информации. Старина квик же - делает тоже самое, что и квиковский сервер с биржей: есть изменение метки времени в структуре пакета - есть и так называемы срезы в OnParam и другие коллбеки. серверное время стоит на месте - значит квик замирает. Если разница между изменениями превышает квантум - запрос на пропущенные данные. (что нетрудно понять/заметить потому как квик, как ошпаренный потом начинает "догонять" информацию на графиках и даже в стаканах котировок).

tech support - поправьте где я ошибся.
Я не буду комментировать описание поведения биржи, так как вопрос явно к специалистам биржи.
Могу только порекомендовать ознакомиться с технической биржевой документацией если таковая есть в публичном доступе
Индикаторы
 
Цитата
Роман пишет:
Цитата
Такому пожеланию нет, так как нет возможности автоматически определить к какому именно индикатору должен быть привязан другой индикатор. Представьте что на графике у Вас 200 разных индикаторов привязанных к цене и Вы хотите добавить еще один привязанный к одному из этих 200 индикаторов, как по Вашему программа должна определить автоматически к какому именно?
Меню тоже! Ну, а как во всех ТА это делают? Просто поставьте функцию, применить к чему, к закрытию, открытию, EMA который уже есть на графике и зачем применять к 200 индикатором, просто создаём индикатор и у указываем применить к чему (то что уже там стоит) на графике?
Цитата
Эту часть предложения не не понял, поясните.
Если говорить о цене, то к примеру максимальный максимум за пять свечей или минимум за 10 свечей и т.д.
Все что Вы описываете уже можно сделать через Lua индикаторы. К тому же Вы так и не ответили на поставленную задачу с 200 индикаторами и вопрос НЕ касается "к закрытию, открытию", так как во всех индикаторах где это возможно, уже можно установить привязку к закрытию, открытию.
Индикаторы
 
Цитата
Старатель пишет:
Зарегистрируйте также, чтобы функцию getDataSourceInfo() можно было использовать в Settings
Здравствуйте!

Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Лимитированная, рыночная заявка
 
Цитата
lergen пишет:
Цитата
Sergey Gorokhov пишет:
быстрее и надежней это и есть pricemin pricemax, но они же самые невыгодные.
Не понял. Заявка все равно будет исполняться не по этим а по лучшим ценам в стакане на текущий момент. Разве нет. Или вы намекаете на некие особенности исполнения заявок типа микро аукцион?
Чем дешевле Вы продаете или чем дороже покупаете тем быстрее найдете встречное предложение, это и есть pricemin pricemax.
Страницы: Пред. 1 ... 64 65 66 67 68 69 70 71 72 73 74 ... 78 След.
Наверх