Сергей (Все сообщения пользователя)

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

Страницы: 1
Заявка по минимуму последней свечи
 
Да, переместил в main(), вижу работает правильно.
Заявка по минимуму последней свечи
 
Nikolay, спасибо!
Я вот попробовал сейчас так на минутном графике:
  DS,Error = CreateDataSource(CLASS_CODE, SEC_CODE, INTERVAL);
  for i=1,10 do
  local Space = ' _ ';
  local Last = DS:Size()-1;
  local Price = DS:L(Last);
  message('Price: '..Price..Space..Last);
  sleep(20000);
  end;
промежуток достаточно большой, цена точно менялась, но в моих принтах она одна и та же.

Сейчас подумал, что скорее всего неправильно то, что у меня это происходит в OnInit(), а не в main() и сам квик из-за этого на этом цикле висит, пока цикл не отработает.
Заявка по минимуму последней свечи
 
Цитата
s_mike@rambler.ru написал:
на газету "пионерская правда"
Ну да, наверное, смешно наблюдать, когда сам точно знаешь как это работает.
У меня, в общем, не получается чего-то никак.
Попробовал на минутном графике так:
  for i=1,10 do
  DS,Error = CreateDataSource(CLASS_CODE, SEC_CODE, INTERVAL);
  local Space = ' _ ';
  local Last = DS:Size()-1;
  local Price = DS:L(Last);
  message('Price: '..Price..Space..Last);
  sleep(10000);
  end;
Получается одна и та же цена, один и тот же индекс последней свечи.
Так тоже пробовал:
  DS,Error = CreateDataSource(CLASS_CODE, SEC_CODE, INTERVAL);
  for i=1,10 do
Заявка по минимуму последней свечи
 
Получается, что для того, чтобы мне получить последнюю свечу, мне нужно заново CreateDataSource, который заново создаёт таблицу. Ладно мне, для примера, допустим и раз в час достаточно , но если захочется обновлять данные каждую минуту, то это нормальное решение, создавать таблицу заново каждую минуту? Или после CreateDataSource уже не нужно его повторно запускать, а можно просто к индексу свечи добавлять единичку, чтобы получить данные по новой свече?
Заявка по минимуму последней свечи
 
Спасибо большое, Николай!
Мне нужен закрытый, предыдущий. Сделал так:
local Last = DS:Size()-1
local Price = DS:L(Last);
Посмотрел цену, вроде бы, всё правильно.
Заявка по минимуму последней свечи
 
Спасибо большое за ответ!
Вот этот момент не понял. Чем будет ds:Size(), текущим или закрытым?
Цитата
Nikolay написал:
В большинстве случаев ds:Size() - это послдений текущий бар.Т.е. закрытый будет ds:Size().
Если я правильно понимаю мне в моём случае нужно писать так, да?
DS,Error = CreateDataSource('QJSIM', 'SBER', INTERVAL_H1);
local Last = math.max -- что-то там, что даст мне индекс последней полученной свечи
local Price = DS:L(Last);
message('Price: '..Price);
Отладка QUIK 8.11
 
Цитата
_sk_ написал:
Не скажите, много кто помогает.
Ага. Можете оценить эту толпу: https://forum.quik.ru/forum10/topic6052/
Отладка QUIK 8.11
 
Цитата
_sk_ написал:
Кто может -- потестируйте.
Не, вряд ли. На этом форуме люди не любят кому-то помогать. В соседней ветке простейший вопрос задал - никто не ответил.
Отладка QUIK 8.11
 
Цитата
_sk_ написал:
Изменений очень много.
Можно где-то список изменений прочесть?
Заявка по минимуму последней свечи
 
Цитата
Сергей написал:
 DS,Error = CreateDataSource('QJSIM', 'SBER', INTERVAL_H1);
  local Price = DS:H(1);
  message('Price: '..Price);
Это не моя последняя свеча, а вообще хрен знает какая, так как на графике этой цены даже близко нет. Буду искать дальше.
Заявка по минимуму последней свечи
 
Если вдруг кому-нибудь из тех, кто так же как и я, ничего не знает, вдруг так же как и мне захочется это узнать, то вот так:
  DS,Error = CreateDataSource('QJSIM', 'SBER', INTERVAL_H1);
  local Price = DS:H(1);
  message('Price: '..Price);
H - здесь High, ещё есть L, O и т.д. (в документации).Теперь надо попытаться понять как убедиться, что это нужная мне, то есть, последняя закрытая свеча. А далее буду искать как через час изменить выставленную заявку по новому минимуму.
Заявка по минимуму последней свечи
 
Насколько понимаю, ответ тут получить трудно. Может быть, тогда кто-нибудь подскажет адрес форума на котором могут помочь или на котором могут дать ссылку на подобные примеры?
Заявка по минимуму последней свечи
 
Подскажите, пожалуйста, как получить значение минимума последней закрытой свечи.

У меня ещё очень мало опыта. Единственное, что делал, это скачал очень старый пример "Простой MA-робот.lua" и переписал его, чтобы он, наконец-то заработал. Пришлось переписывать неожиданно достаточно много. Сейчас хочу сделать себе другой пример, но чем больше пытаюсь понять как сделать, тем меньше понимаю, как. Алгоритм самый простой: выставить заявку по минимуму предыдущей свечи, через час изменить заявку на минимум нового закрытого часа, а если исполнится, то выставить заявку по максимуму последнего закрытого часа.
Страницы: 1
Наверх