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

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

Страницы: Пред. 1 ... 3 4 5 6 7 8 9 10 11 12 13 ... 19 След.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
Позиционная торговля - это прежде всего прочтение ценового действия на графиках разных тайм фреймах.
Ник то не знает куда пойдет рынок, мы можем построить гипотезу,
Цитата
Владимир написал:
Это и есть задача алгоритма - торгует ведь он, а не какой-то там "маркетмейкер".
Подойдите к зеркалу, что там увидите - маркетмейкер, это вторая сторона нашей сделки!

Они заключают с биржами договора получают другие условия,
но для нас важно что года мы покупаем он продает и наоборот!

Но мы покупаем когда растет, что же он торгует в убыток, нет это его бизнес!
На эти и другие вопросы отвечает подход
Цитата
VPM написал:
Позиционная торговля - это прежде всего прочтение ценового действия на графиках разных тайм фреймах.
"таймфрейм" - это темп торговли. Это как в музыке.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Уважаемые программисты, Вы уже определитесь сами это одно и тоже или чуть чуть нет.
Цитата
Владимир написал:
Поэтому "многозадачность" и многопоточность" это как "красное" и "розовое" - две небольшие разницы.
а нам дайте определения.

Владимир, Вы уже нас "неучей" пощадите, от таких оборотов, нам попроще растолкуйте.
Нет конечно можно погуглить, но тогда не поймешь, что вы имели ввиду под этим.
Цитата
Владимир написал:
Это называется "темпоральная диверсификация".

Если к этому относиться как к проблеме она останется проблемой.
Цитата
Владимир написал:
Вообще-то, проблем в трейдинге чуть больше:
"В начале было слово!"

Цитата
Владимир написал:
Это и есть задача алгоритма
это задачи любого трейдера в не зависимости как он торгует, и они гораздо шири чем здесь описано.
Если не понимаешь как все устроено, как можно создать рабочий алгоритм?
В дальнейшем его работу нужно оценить и не собственным депозитом, понять что происходит, и если нужно поправить алгоритм.

Мой подход модульность, а если валить все в кучу, то получится куча.
В своих программах придерживаюсь этого подхода, (здесь есть сообщения на эту тему),
это позволяет обсуждать, писать, анализировать, и даже "облизывать" каждую задачу отдельно!

Затем собирая в супер проект,
это как собрать автомобиль кто создает двигатель кто то коробку кто то трансмиссию.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Но здесь разговор не об этом , как пользоваться сопрограммами и что можно делать при их помощи.

Вот Nikolay, говорит что так можно
Цитата
Nikolay написал:
Корутины же хороши в качестве генераторов для итераторов, да.
Приведите свой пример?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
nikolz,  Вы с этим не согласны
Цитата
"В многозадачном алгоритме исполнителей несколько и у каждого из них - свое состояние и свой путь в графе состояний.
Многопоточные алгоритмы - просто другое название для многозадачных."
это Артур Сэвидж "Я разработчик полного стека с более чем 23-летним опытом разработки корпоративного прикладного программного обеспечения".

Для нас важно другое:
Цитата
nikolz написал:
"Это логическая  многозадачность - на самом деле в любой момент времени выполняется только один поток. Просто их несколько и они переключаются между собой".
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Мои предпочтения - это позиционная торговля!

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

Алгоритмически я  подкрепляю  эту торговлю: элементами VSA,  Smart Money, уровнями, фильтром трендов это основное.
Но главное здесь ценовое действие - распознать куда Маркетмейкер ведет рынок.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
На самом деле, подняты две очень важных основных темы в трейдинге:

1) Когда открывать позицию;
2) Сколько открывать - это вопрос управления позицией и управления риском.

Как открывать позицию, Когда открывать позицию, в каком направлении вот вечный вопрос трейдера.
Так есть здесь какая то опора  для стабильных результатов торговли?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
Да нет!
Цитата
VPM написал:
все что нужно здесь для понимания, это читать начиная с конца.
Цитата
Владимир написал:
Нет да!
Вот что значить опыт! :smile:  
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир,  Да нет!

С капиталистами часть ликвидности конечно утекло, это объективно, это видно по рынку,
капитал бегает от одного инструмента к другому более часто, но это рынок и капитал здесь замкнут.
Все также, есть крупные игроки, есть маркетмейкер обеспечивающий сделки, волатильность все также на "Америке".

Да первоначального капитала много не нужно чтоб еще одну пенсию себе делать, здесь уже важней знание правил управления капиталом.
Размер имеет значение! Но это размер открываемой позиции к собственным средствам, не нужно перегружать (ну это я больше в свой адрес).

Ну в общем все как всегда в отношении стратегии, подправив тактику.
Допустим мой основной торговый тайм фрейм сейчас Н1 при краткосрочной торговле,
редко на америке поглядываю на М20, в основном посматриваю на Н4.

Удачи!  
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
nikolz написал:
Вы опять ошибаетесь.
nikolz, Не знаю в чем я здесь ошибся,
это русский перевод текста с английского языка,
все что нужно здесь для понимания, это читать начиная с конца.
Например если на писали на ангельском "Все хорошо", то понимать нужно "Хорошо все".
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
Да, скрипт-то зарабатывает, но в последнее время очень плохо - биржа ведь фактически уничтожена, там творится чёрт знает что. А мой любимый долларовый рынок и вообще накрылся медным тазом.
Да нет все не так плохо, зарабатывать можно и нужно!

Правда я сам последнее время руками, скрипт в режиме советник и прогноз, но это то моя проблема, не его.
Дело в том что при переходе на обработку портфеля все оказалось немного сложней, чем я ожидал, где то просто банально не хватает знаний в программировании.

Вам удачи, со своей стороны могу посоветовать пересмотреть масштаб, на рынке стало тесно.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Уважаемые, я "Ни сном ни духом" в Многопоточности,
все мои выдержки это цитаты специалистов и разработчиков языка, Вам нужно спорить с ними,
По мне так, если поток один то говорить без сленга можно только о многозадачности.
Как она реализована в луа, мне понравилась, я при вожу пример как можно использовать.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Nikolay написал:
Внимательно посмотрите на код решения, что Вы используете, и Вы увидите там точно такой же цикл опрашивающий корутины.
Перечитываю пытаюсь разобраться,
Цикл есть, задержки нет!
Она выставлена  в функции Rовот() т.е. в первой задаче.

Цитата
Nikolay написал:
Что касается быстрых и медленных задач, то они реализуются одинаково. У них разное время выполнения
Скорость и время выполнения,
а что можно сказать про площадь в геометрии, в технике мощность, в финансах стоимость?

1) s=a*b;
2) P= I*U;
3) cost=p*q;

Это разве не сленг?

Согласен правильно  инженеру выражаться  "время выполнения", а что тут у нас все инженеры?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
"Технически вся магия происходит в методе main,
там в цикле вызывается сопрограмма,
которая создаётся из функции Robot.
функция Trade() Это псевдоним стандартной функции coroutine.resume,
при вызове этой функции прерывается код робота и происходит отработка умных заявок (обновляются цены лимитников, количество, и т.п.)"
Вот так это работает.
Справочно:
Цитата
VPM написал:
Как это работает (функционал сопрограмм).Вызов `corutine.create` получает функцию и возвращает спящую  ("suspended") сопрограмму. Её можно "разбудить" вызовом `coroutine.resume`( Trade() ) и тогда она начинает выполняться.Выполняется она до тех пор, пока не встретиться вызов `coroutine.yield`. В этот момент управление возвращается к вызывающему потоку. Следующий вызов `coroutine.resume` восстановит выполнение сопрограммы, передавая управление ровно в то место, где она была приостановлена.Сопрограмма может быть вечной - если она время от времени уступает выполнение, то в какой-то момент её можно просто не возобновить. Но она может и завершится и перейти в состояние "dead", возобновить из которого её будет уже невозможно. Вызовы `.resume` и `.yield` могут не только передавать управление, но и обмениваться данными. Вот, собственно, и все.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Nikolay,  Извините "не фига не понял от слова совсем"?
Цитата
Nikolay написал:
Но не надо говорить о многопоточности, многозадачности и т.д.
Цитата
VPM написал:
"В Lua реализована "совместная многопоточность",
Это не мои утверждения.
Цитата
VPM написал:
Только явная передача управление и сохранение состояния.
Нет в lua другого способа вернуться в тоже место. Вы же пишите что перепрыгиваете через состояние идите дальше.
Цитата
Nikolay написал:
Единственная задержка добавляется в бесконечный цикл в main,
Так и я об этом весь Ваш код идет с этой задержкой,
мой пример
1 задача исполняется  с этой задержкой,
2 задача вообще без всякой задержки.  
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
5. Мой скрипт преспокойно обновляет информацию от биржи именно раз в секунду на самом дохлом железе (количество графиков, тиков, стаканов и всех сделок равно нулю).
Владимир,  в пору задаться вопросом: А зарабатывает ли ? А то он у Вас как "раб на галерах"
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Nikolay,  Ну давайте сначала, вот от "метров":

"В многозадачном алгоритме исполнителей несколько и у каждого из них - свое состояние и свой путь в графе состояний.
Многопоточные алгоритмы - просто другое название для многозадачных."

"В Lua реализована "совместная многопоточность", когда потоки явно уступают выполнение друг другу и сохраняют состояние до следующего момента,
когда выполнение столь же явно будет передано им снова".

"Только явная передача управление и сохранение состояния.
Это логическая  многозадачность - на самом деле в любой момент времени выполняется только один поток.
Просто их несколько и они переключаются между собой".

Наверняка можно сделать, только зачем если уже есть, и сделано классно.

Вы очереди перебираете в цикле, цикл идет с какой то определенной задержкой на исполнение.

Мой пример это выделение какой то задачи в коде, которую нужно выполнять с максимальной скоростью.
Ну к примеру пронестись по тикам, и снова вернуться к аналитике на медленных скоростях
и здесь скорости имеют значения.

Я не утверждаю что это единственное использование каротин, но согласитесь видь классно!
А главное можно работать со скоростью исполнения скрипта! :smile:  
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Nikolay написал:
И все это можно воспроизвести на обычном цикле, опрашивая методы-объекты: готово - выполни это, нет - ждем дальше.Они удобны - да, но сказать, что без них нельзя - нет.
Нет нельзя, это две задачи исполняемые с разными скоростями.
В моем примере функция Trade() имеет свой внутренний цикл без всяких ограничений.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Nikolay,  Ну да, так в этом вся суть, что это делается средствами lua,
останавливается задача на получение и обработку данных выработку сигала,
и начинается исполнение ордеров в цикле со всей дурью на что способна lua.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир,  да давненько, рад что Ваш скрип поживает хорошо!

Фактически на все Ваши вопросы есть ответы выше.
Цитата
VPM написал:
Этот подход  позволяет носиться по тикам, писать на чистом lua, и навсегда забыть про тему скоростей (исполнения кода)!
Видите в чем еще дело, я активно в своих работах использую историю данных, это приводит к резкому росту памяти в конце сессии,
меня это сильно смущает, поиск оптимального среднего между использованием памяти и скоростью.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
Текущая реализация концептуально выглядит так, код:Кодdofile("hacktrade.lua") -- основной модуль

function Robot() -- основной функции

     -- 1) (~) Инициализация
        2) Получение констант
        3) Предварительные расчеты

     while working do -- основной цикл
         
         for i=1,#sec do ----  цикла по бумагам:
               -- Система нескольких окон
               for j=1,#tf do ----  цикла по таймфремам
                    F[j]() --парад стратегий
               end

               signal -- Вырабатываем сигнал на сделку
               rm     -- определение риска на сделку
               mm     -- расчет количества на сделку
               p      -- получаем цену на сделку
               SmartOrder( p, q ) -- формируем ордер на сделку
          end
          Trade() -- Вызова функции Trade, для осуществления торговых действий
          pos -- получаем позицию по инструменту
          sleep(950) -- тормозим чтоб в ближним космосе очутиться!
     end
     --Сохраняем
     --Закрываем  
end
Вопрос с модульностью решен, пишем свои стратегии входа,  стратегии выхода, управление позицией, риском, алгоритмы - все независимо!Собираем Систему (торговую!)
Вот раньше накидывал структуру мною реализуемую.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
nikolz,  Прежде всего нужно ответить на вопрос зачем что то ускорять, если все скрипты мы тормозим выставляя sleep(х)?

"Lua не только быстро выполняется, но и быстро компилируется.
Например, вышеприведенная программа для составления списка авторов
обрабатывает 1 Мб данных за одну десятую секунды. (Примечание: На
моем старом Пентиуме.)" (от Профессора)

В реализации же HackTrade, при помощи стандартной библиотеки coroutine,
поток разделен на две задачи, выполняемых на разных скоростях. (Я выше про это рассказываю).
Цитата
VPM написал:
В чем суть, есть 2 основные функции: 1) Pobot() 2) Trade()
Которые между собой взаимодействуют.
Цитата
VPM написал:
"В Lua реализована "совместная многопоточность", когда потоки явно уступают выполнение друг другу и сохраняют состояние до следующего момента
Когда взаимодействовать уже решаем Мы.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
nikolz написал:
Поэтому коруунды ничего  не ускоряют.
А никто не утверждает что они что ускоряют, речь идет о разделении скорости исполнения кода на две части.
Там где нужна максимальная - исполнения ордера, и где можно раз в секунду.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
nikolz написал:
О псевдо поточности коруундов можно почитать в учебниках по программированию и документации по Луа.
Не так важно,
выполняются ли потоки разными физическими процессорами или разными потоками одного,
переключаются ли они операционной системой, "главным" потоком или явно передают управление друг другу - главное,
что каждый поток (строго говоря "нить", от английского "thread" ) имеет свое состояние!
Цитата
VPM написал:
При вызове функции Trade() прерывается код функции Pobot(), идет исполнение сопрограммы со всей той скорость на что способна lua и позволяет система! Этот подход  позволяет носиться по тикам, писать на чистом lua, и навсегда забыть про тему скоростей (исполнения кода)!
Именно в сопрограмме достигается максимальное исполнение кода,
Цитата
VPM написал:
В функции Robot получаем информацию от терминала обрабатываем ее формируем правило торговой системы, именно здесь  работает задержка основного цикла sleep()!
нету смысла гонять быстрее 1 миллисекунды, так как нет обновления информации,
а намой в взгляд и быстрее 1 секунды нету смысла.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Как это работает (функционал сопрограмм).

Вызов `corutine.create` получает функцию и возвращает спящую  ("suspended") сопрограмму.
Её можно "разбудить" вызовом `coroutine.resume`( Trade() ) и тогда она начинает выполняться.

Выполняется она до тех пор, пока не встретиться вызов `coroutine.yield`.
В этот момент управление возвращается к вызывающему потоку.
Следующий вызов `coroutine.resume` восстановит выполнение сопрограммы, передавая управление ровно в то место, где она была приостановлена.

Сопрограмма может быть вечной - если она время от времени уступает выполнение, то в какой-то момент её можно просто не возобновить.
Но она может и завершится и перейти в состояние "dead", возобновить из которого её будет уже невозможно.

Вызовы `.resume` и `.yield` могут не только передавать управление, но и обмениваться данными.

Вот, собственно, и все.
Эта простая реализация дает возможность реализовывать многозадачные алгоритмы даже не в многозадачной среде.  
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
nikolz написал:
Но корунды имеют накладные расходы. Поэтому вместо выигрыша может быть проигрыш.
Это совсем не понятно?
Я привожу конкретный пример реализации,
Цитата
VPM написал:
В функции Robot получаем информацию от терминала обрабатываем ее формируем правило торговой системы,именно здесь  работает задержка основного цикла sleep()!При вызове функции Trade() прерывается код функции Pobot(), идет исполнение сопрограммы со всей той скорость на что способна lua и позволяет система!
Где тут проигрыш?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
nikolz написал:
и еще... одновременно с этим практически бесплатно (в смысле затрат времени процессора)  реализуется WatchDog  
Вы блещете эрудицией, но какое это практическое значение имеет  к нашей небольшой прикладной задаче?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
nikolz написал:
Если действительно хотите многопоточность без загрузки процессора пустыми циклами и пропуска данных по тикам,то смотрите  Event OC.
Все что пытаюсь добиться это стабильной работы скриптов!

Пример HackTrade я реализую у себя с не большой доработкой, но об этом я делал сообщения.
В этом сообщении я рассказал о еще одной стороне HackTrade - почему это лучшая работа.
Более того он опубликован и каждый желающий может его опробовать.

Lua реализовывался как язык сценариев (посмотрите игры созданные на нем) но это уже другая тема.
Мы здесь о быстродействии.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
nikolz написал:
Вы либо умолчали, либо заблуждаетесь.---------------------Корутина - это псевдо многопоточность. т е исполняются они на одной VMLua и в одном потоке OC.--------------------
nikolz,  Я совсем не обсуждал как реализована многозадачность в lua (какой смысл это уже есть), это доступная известная информация:

"В Lua реализована "совместная многопоточность", когда потоки явно уступают выполнение друг другу и сохраняют состояние до следующего момента, когда выполнение столь же явно будет передано им снова.
Никакого разделения на физические процессоры или совместного использования процессорного времени.
Никакой вытесняющей многозадачности, неблокирующего доступа, семафором, диспетчеров.
Только явная передача управление и сохранение состояния.
Это логическая  многозадачность - на самом деле в любой момент времени выполняется только один поток.
Просто их несколько и они переключаются между собой."

Я лишь говорю о том что, не используются, те возможности которые нам представляет lua,
что зачастую совсем не нужно "городить огород", а стоит разобраться с lua!
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Добрый день!

На страницах данного форума очень часто и много обсуждается быстродействие lua.
Чего только не услышишь от "заслуженных метров данного форума",
но на мой взгляд не заслуженно, не уделяется внимание многопоточности уже реализованной в lua.
На русском языке, да и техническое исполнение, правильно определять как многозадачность, на английском - это "корутины".

Ну давайте, об всем и по порядку!

Lua быстрый язык, (в этом легко убедиться уберите в Вашей программе sleep()).
В терминале квик, минимальный тик времени это 1 миллисекунда,
информация обновляется один раз в секунду (таблица текущих параметров),
это срезы в какой-то момент времени и трансляция информации от биржи, через сервер в терминал.

То есть технически обновить информацию от биржи можно 1 раз в секунду (это еще зависит от количества графиков открытых, "железа" ...)
Но есть еще тики, стакан и таблица всех сделок.

Но причём тут многозадачность, я много на страницах этого поста пишу про пример от Дениса Колодина фреймворк HackTrade.
Это пример реализации многозадачности в lua!

В чем суть, есть 2 основные функции:
1) Pobot()
2) Trade()

"Технически вся магия происходит в методе main, там в цикле вызывается сопрограмма, которая создаётся из функции Robot.
функция Trade() Это псевдоним стандартной функции coroutine.resume, при вызове этой функции прерывается код робота
и происходит отработка умных заявок (обновляются цены лимитников, количество, и т.п.)"

В функции Robot получаем информацию от терминала обрабатываем ее формируем правило торговой системы,
именно здесь  работает задержка основного цикла sleep()!

При вызове функции Trade() прерывается код функции Pobot(), идет исполнение сопрограммы со всей той скорость на что способна lua и позволяет система!

Этот подход  позволяет носиться по тикам, писать на чистом lua, и навсегда забыть про тему скоростей (исполнения кода)!
Сравнение языков программирования
 
 "Русский Язык - Язык Мироздания (математики, программирования, творца)" Говоров В.И.
Учусь работать с метками, Помощь в написании кода для выставлении меток на графике
 
Виталий Дерягина, все Вы правильно понимаете, просто нужно быть внимательней!
Пробуйте тот же код:
Код
function OnCalculate(index)  

local median = (H(index)+L(index))*0.5 or C(index);


local label={TEXT="Тарам",
FONT_HEIGHT=25,
R=255,G=255,B=0,
FONT_FACE_NAME='Times New Roman',
FONT_HEIGHT=18,
DATE = get_date( T(index) ),TIME =  get_time( T(index) )
YVALUE=median,
};

    AddLabel ('20', label)

    if index == Size()-1 then 
        return С(index)
    end

end










 
Почему так сильно тормозит ввод/изменение заявки?
 
Serge123, У меня подобная проблема решилась после удаления сам описных скриптов (индикаторов и роботов) из папки терминала,
Видимо на скапливались ошибки, что и приводила к тормозам.  
Учусь работать с метками, Помощь в написании кода для выставлении меток на графике
 
Цитата
Виталий Дерягина написал:
Спасибо за помощь  VPM ! Я понял почему не видно меток, они просто за пределами масштаба и их просто не видно, но они есть. А что по оси Y масштабирования нет? Или еще есть какой-то подвох?
По чему нет, собственно метка для этого и нужна, для вывода, какого то полученного или расчётного значения,
YVALUE =  (H(I)+L(I))*0.5 or С(I);
Это можно представить как координаты на плоскости где
х=DATE ,TIME, а
у=значение цены.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Добрый день!

На графике квик есть прогнозная зона,
подскажите как правильно индексировать там значения чтоб не пропадали?
Учусь работать с метками, Помощь в написании кода для выставлении меток на графике
 
Попробуйте так (на график добавьте 20 - chart_tag – тег графика, к которому привязывается метка)
function get_date(td)-- получаем
   local d = string.format('%.4d%.2d%.2d',td.year,td.month,td.day)
   if d~=nil then return d
   else
   return '0'
   end
end
function get_time(td)-- получаем
   local t = string.format('%.2d%.2d%.2d',td.hour,td.min,td.sec) --or T--.datetime
   if t~=nil then return t
   else
   return '000000'
   end
end

OnCalcul ate = function(index)

  --if index == 1 then
   label={
TEXT="Тарам",
FONT_HEIGHT=25,
R=255,
G=255,
B=0,
FONT_FACE_NAME='Times New Roman',
FONT_HEIGHT=18,
--Yvalue=101,
---datetime"]=20191007
YVALUE=101,
DATE = get_date( T(index) ),
TIME =  get_time( T(index) )
}
AddLabel ('20', label)

 -- end

return 100
end
Учусь работать с метками, Помощь в написании кода для выставлении меток на графике
 
Виталий Дерягина, В каждой версии терминала содержится такой файл "QLUA.chm" это справка "Руководство пользователя QLua,
"находится там куда установили  квик.

Открываете, читаем:
"Добавляет метку с заданными параметрами.

Формат вызова:  

NUMBER AddLabel(STRING chart_tag, TABLE label_params)

Параметры:  

  • chart_tag – тег графика, к которому привязывается метка,
  • label_params – таблица с параметрами метки.

Функция возвращает числовой идентификатор метки. В случае неуспешного  завершения функция возвращает «nil».  

Это то о чем Вам подсказал Nikolay, теперь в Вашем примере

Цитата
Виталий Дерягина написал:
AddLabel (20, label)

  end

return 100
1)  Где у Вас  AddLabel (20, label)

  • chart_tag – тег графика, к которому привязывается метка,
2) return 100, что за 100 хотите вернуть в параметрах пишите ["Yvalue"]=101,

Прежде чем задавать какие то вопросы, попробуйте прочитать, справку хотя бы для того чтоб Вас понимали и разговаривать на одном языке.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Nikolay написал:
Есть компании с огромной капитализацией, но польза от них ничтожна.
Вы вероятно имеете ввиду маркетинг, который занимает львиную долю в оценке, а затем и стоимости.
Нет я о Майкрософт и другом обкушенном продукте.

Насколько я помню, мы с Вами из одних прошлых лет (+-10).

Вот вам другая история,
сегодня  это покажется дикостью, но будучи молодым специалистом - инженер, руководитель отдела, получив "железо" в пользование,
не нечем было работать, (тогда было все еще под  DOC), пришлось лететь в Казахстан,
там мой товарищ возглавлял автоматизацию золотодобывающего предприятия (писали САУ под  DOC),
у них водились "денюжки", и они могли себе позволить, чтоб получить на выходе электронную таблицу и редактор. на дискетке.

Сегодня просто из Москвы сел на рейс и в любой точке мира, тогда из Сибири почти на "лошадях".
Ник то не гнал, по собственному желанию за свой счет.

Результат написал в э. таблице программу,  обсчитывала одну из наших задач,
то что считали 2 сотрудника  3 суток, теперь в  программу нужно было загрузить данные и нажать кнопку.

Чем дело кончилось "на всю жизнь урок" - сократили сотрудника в отделе.

Сегодня школьники пишут подобное в excele, но тем не менее, грузите под э.т.  и она работает.
Но так мир остановится, а программисты останутся без вознаграждения.

Нет конечно нужен технический руководитель проекта, но и очень важно как написано.

"Вот истории конец , а кто слушал молодец"!
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Nikolay написал:
Так что SciTE - это такой же новодел как VSCode.
Новодел новоделу рознь!

Вот доступный всем пример, судите сами:

Две компании в недалеком прошлом на стадии становления и развития - занимаются программированием,
одни "торгаши" ( без сомнения, нужная вещь  и не обходимая)
вторые "Программисты" (заглавная буква не случайна).

На старте занимались одним и тем же, ну давайте взглянем на то что нам близко,
капитализация компаний
ну  и на продукт.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Ок,  спасибо безопасность превыше всего!
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Nikolay написал:
А лучше добавить параметр -s. Правда если цель - писать скрипты для себя и только для себя, то зачем вообще компилировать. Квик это сам сделает перед запуском.
У меня это в SciTE запрограммировано, делаю это машинально особенно когда переделываешь,

3 кнопки по очереди:
1) сохранил изменения;
2) проверил на исполнение;
3) скомпилировал.

Особенно удобно для индикаторов, так как тело находится в модуле (таблице) , а голова в терминале.
Все основные исправления идут в теле индикатора (три кнопочки), редко голова редактируется так как структуру продумываешь сразу.
Цитата
Nikolay написал:
А лучше добавить параметр -s.
А что это у куда добавить?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Ну прямо не рынок сегодня, а сплошная красота, или я навыки анализа и ручной торговли вспомнил :smile:  
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
декомпилировать код,
Да на здоровье, я это делаю предполагаю, что так быстрее исполнение луа не отвлекается?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Вот,
Цитата
Nikolay написал:
SciTE хорош
И дальше можно не продолжать :smile:  Я шучу кому как удобно и на чем, я просто привык,
но есть одно неоспоримое преимущество он Стабилен!
Поставил уже на верно лет 20 назад (когда там 5.1 вышло), накидал разного сервиса и забыл как лезть в него.

Цитата
Nikolay написал:
Также советую проверить какую команду выдает SciTE для компиляции.  Скорее всего без -s, что оставит отладочную информацию и позволит декомпилировать код, если он компилировался в чистом виде.
Вот пример компиляции:
>luac54.exe -o "*.luac" "*.lua"
>Exit code: 0    Time: 0.138
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
"Рекламная пауза" :smile:
Цитата
Nikolay написал:
SciTE не использую, так что не знаю. После VSCode - особого желания нет.
SciTE - это просто, эффективно, наглядно, удобно, быстро компилируется для кодирования в луа супер!
VSCode - За ним самим нужно следить.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Добрый день!

Начну с конца. Решил сбросить на графики индикатор Структура рынка (Market Structure), помогает определить глобальный тренд.
Это тоже самое что всем хорошо известный индикатор Зиг-Заг,
пользовался разработкой Nikolay, это больше чем индикатор, это программа анализа,
зашел к нему на "поседелочки" посмотреть что нового, взял новую разработку "*zz_algo".

Nikolay, Пока не запускал в терминале, но в SciTE(lua 5.1) выдает ошибку:

lua: ...\Untitled11.lua:2390: function at line 1990 has more than 60 upvalues
>Exit code: 1    Time: 0.229

Хотя не знаю может в lua 5.4 не уже ограничения по количеству локальных переменных, но решил Вам оставить сообщение, сам не разбирался.


Кстати если кто знает как перевести SciTE(lua 5.1) на lua 5.4 подскажите пожалуйста?
Компилятор легко перевел!
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Риск на день.

Здесь пока никаких переделок. Есть старый скрипт запущу в работу.
Смысл, защита дипозита на просадку (по умолчанию 5% от депозита),
при снижении счета на величину допустимой просадки, просто сбрасывает все позиции, и остановка торговли.

Прежде чем заняться редактированием мани менеджментом,
нужно испрвить работу моего MarketSimulator - это уже просто какое - то наказание для меня. :cry:
Ну нет доверия нужно прверять?

Да выводы конечно делать рано, но при новой организации данных, заработал сборщик мусора, взял под контроль память!
(хотя не все доделал) :lol:  
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Риск на сделку, здесь все просто. Сделаю метод для моего класса.

Все начинается с капитала. Размер имеет значение!

Задаю в % (от 1% - 10% заввисит от стратегии по умолчанию 2% (т.е. 50 сделок)
пересчет в cash - для анализа по залогам;
пересчет в pips - для анализа по валотильности.

На выходе:
1) risk на сделку.
2) reward на сделку.
3) contract на сделку.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
А как делать можно - нужно?

Вот и подошел в плотную к вопросу менеджмента в трейдинге!
Зачастую просматривая материалы на эту тему, заметил, что не делается различие между
мани менеджментом и риск менеджментом.

У себя я четко провожу линию различия:
риск менеджментом - управление риском;
мани менеджментом - управление позицией (количеством а вернее сказать стоимость).
Хотя эти направления сильно переплетены, но алгоритмы разные.

Начну с риска риск: риск на сделку риск на день.
За структуру данных возьму и создам класс, по примеру класса на позицию описанную выше.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
О чем история, а история стара как рынок - "Пропустил козла в свой огород". Ну обо всем и по порядку.

Отключил  всех "помощников" - переделываю скрипты от торговли одним инструментом, к торговле портфелем.
(Когда начинал переделку, думал добавил цикл по инструментам и все дела, но не ту-то было. Вот уже больше квартала сижу).
Есть время, пишу, приторговываю руками (дневки или средней срок, стратегии концеп смарт мани + VSA или свою).

Но история то про "козла", зовется GOLD и то когда убыток по риск менеджменту в радость.
Все началось безобидно:
Бычий тренд, сильно отскочили от средней, начала дня - коррекция, нашел шортовый ордер блок,
посчитал цели, объём сделки, открылся, на цели лимитки.
Следующий день, цена не дошла несколько пунктов до цели отскочила, идет откат,
пересчет новые цели - лимитки. Все в пределах моего риск менеджмента.
Следующий день, цена не дошла несколько пунктов до цели отскочила, бычий тренд, и фаза бычья,
плакал мой дневной риск, ну и кто  тут не усреднился бы?
Риск менеджмент уже и не при делах, примерно 80% депозита в удержании данной позиции, в ущерб другим сделкам, просадки в моменте > 30%.
И какова была моя радость сегодняшнему гэпу, когда маркетмейкер перевернул рынок, все прямо по классики!
А когда цена пошла в сторону позиции, я уже не на что не обращал внимания, а при каждом удобном случае уменьшал позицию.
Огромная медвежья, поглощающая свеча, медведи зарабатывают, на конец и я в тренде,
но радовался, я тому что есть возможность закрыть позицию и закрывал!

Вспоминая историю описанную Ларри Вильямсом, когда они (риск - менеджер, у него был РАЛЬФ ВИНС,
написавший книгу "Математика управления капиталом", ныне управляющий фондом),
участвовали в конкурсе и депозит в 10 000$ превратили в миллион и потом терпели просадку почти в миллион чтоб снова подняться.

И Вся эта история про то как делать нельзя.  
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Всем добрый вечер!

"В чем сила брат" - сила "братцы" в гэпе! :smile:

Немного хочу отступить от темы обсуждение, рассказать небольшую, но очень поучительную историю.
Но прежде по благодарить Nikolay,  за поддержку в обсуждениях, и его мудрые советы!

После того как "приказала долго жить статистика сайта", такое в впечатление что общение идет в "кругу тихо сам собою". :cry:
Ну если у разработчиков "наплевательское" отношение к нам,
давайте друг с другом обмениваться мнением, и не важно что иногда бываем не правы, высказывайтесь?
Страницы: Пред. 1 ... 3 4 5 6 7 8 9 10 11 12 13 ... 19 След.
Наверх