#62093 - Wed May 07 2014 06:17 PM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: IgorZhukov]
|
journeyman
Registered: Tue Jul 16 2013
Записи: 82
|
Я догадался )))
Вот так нужно было сделать)))
Attachments
Скриншот 2014-05-07 18.14.24.png (1257 downloads)
|
Наверх
|
|
|
|
#63559 - Fri Aug 01 2014 05:29 PM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: IgorZhukov]
|
enthusiast
Registered: Thu Apr 11 2013
Записи: 359
|
Не работает простейший скрипт, в котором две формулы рассчитываются по логическому условию - одна формула напрямую от условия (кубик "Логическая формула"), а вторая через кубик "Not" соединённый с условием. Я обращаюсь к специалисту - он заменяет кубик "Not", от которого шла связь с альтернативной формулой и кубик "Формула" на кубик "Формула" с логикой и двумя встроенными вычислениями - скрипт начинает работать.
Кубик "Not" ВООБЩЕ нельзя использовать с логической формулой или можно, но есть какие-то особенности? Для меня чисто внешне и логически оба варианта выглядят как "если да, то" и "если нет, то". Но разница по работе...
|
Наверх
|
|
|
|
#63560 - Fri Aug 01 2014 06:39 PM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: VladMih]
|
Carpal Tunnel
Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
|
Не работает простейший скрипт, в котором две формулы рассчитываются по логическому условию - одна формула напрямую от условия (кубик "Логическая формула"), а вторая через кубик "Not" соединённый с условием. Я обращаюсь к специалисту - он заменяет кубик "Not", от которого шла связь с альтернативной формулой и кубик "Формула" на кубик "Формула" с логикой и двумя встроенными вычислениями - скрипт начинает работать.
Кубик "Not" ВООБЩЕ нельзя использовать с логической формулой или можно, но есть какие-то особенности? Для меня чисто внешне и логически оба варианта выглядят как "если да, то" и "если нет, то". Но разница по работе... Если работа какого то блока (в том числе и логического) непонятна, выведите его на отдельный график. Сразу отпадёт множество вопросов.
|
Наверх
|
|
|
|
#63575 - Fri Aug 01 2014 11:19 PM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: captian]
|
enthusiast
Registered: Thu Apr 11 2013
Записи: 359
|
Обычно так и делаю, но в том-то и дело, что смотреть было нечего до тех пор, пока спец не заменил "Нот" с "формулой" на формулу с альтернативной логикой.
Да и вообще хотелось бы узнать "общую теорию". Где можно, а где нельзя применять блок "Нот", не нашел его описание. Если есть - ткните носом, плизз.
|
Наверх
|
|
|
|
#64767 - Sat Sep 13 2014 01:36 PM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: VladMih]
|
newbie
Registered: Sun May 05 2013
Записи: 30
Loc: Belarus
|
Блок "Формула" Формула такая: Макс1[ГмахБар], где Макс1 - блок "Максимум" ГмахБар - блок "Обновляемое значение", хранит определенный номер бара При запуске ошибка: 12:28:01.81 137 Скрипт 'test3': Элемент 'Формула1' содержит ошибку: Неизвестный индекс ГмахБар.
Если формулу немного изменить: Макс1[i-ГмахБар] - все штатно работает Уже сломал голову, что тут не так. Поскольку само значение ГмахБар отображается на графике в виде дробного числа (5 нулей после запятой), думал, что с типами что то не то... Понятно, что использовать переменную типа Double в качестве индекса массива врядли можно. Но и формула типа "Макс1[(int)ГмахБар]" тоже не работает, ошибка: 12:33:48.48 137 Скрипт 'test3': Элемент 'Формула1' содержит ошибку: Неожиданное окончание формулы.
Кто подскажет, в чем тут дело и как обойти?
|
Наверх
|
|
|
|
#64768 - Sat Sep 13 2014 02:25 PM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: alexc]
|
Carpal Tunnel
Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
|
Блок "Формула" Формула такая: Макс1[ГмахБар], где Макс1 - блок "Максимум" ГмахБар - блок "Обновляемое значение", хранит определенный номер бара При запуске ошибка: 12:28:01.81 137 Скрипт 'test3': Элемент 'Формула1' содержит ошибку: Неизвестный индекс ГмахБар. Макс1[ГмахБар] Это как? максимум значения нескольких баров вперёд? Т.е. определяет где максимум будет через пару часов? Надо от текщего номера бара отнять ваш заданный через ОЗ и поставить перед полученным значением минус. Тогда будет максимум значения, на заданном через ОЗ баре.
|
Наверх
|
|
|
|
#64773 - Sat Sep 13 2014 04:45 PM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: captian]
|
newbie
Registered: Sun May 05 2013
Записи: 30
Loc: Belarus
|
Макс1[ГмахБар] Это как? максимум значения нескольких баров вперёд? Т.е. определяет где максимум будет через пару часов? Надо от текщего номера бара отнять ваш заданный через ОЗ и поставить перед полученным значением минус. Тогда будет максимум значения, на заданном через ОЗ баре. Не понял, что вы имеете ввиду. Я скрипт запускаю на исторических котировках, где слева направо бары считаются от 0-го до какого-то там >0. И при расчете на любом баре ГмахБар <= текущего бара. Если я от текущего значения бара (i) отниму ГмахБар(ОЗ) и поставлю "-" перед полученным значением, получится значение <=0. Значение на баре с индексом <=0?
|
Наверх
|
|
|
|
#64775 - Sat Sep 13 2014 05:12 PM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: alexc]
|
Carpal Tunnel
Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
|
Макс1[ГмахБар] Это как? максимум значения нескольких баров вперёд? Т.е. определяет где максимум будет через пару часов? Надо от текщего номера бара отнять ваш заданный через ОЗ и поставить перед полученным значением минус. Тогда будет максимум значения, на заданном через ОЗ баре. Не понял, что вы имеете ввиду. Я скрипт запускаю на исторических котировках, где слева направо бары считаются от 0-го до какого-то там >0. И при расчете на любом баре ГмахБар <= текущего бара. Если я от текущего значения бара (i) отниму ГмахБар(ОЗ) и поставлю "-" перед полученным значением, получится значение <=0. Значение на баре с индексом <=0? Номер бара положительный? например close[3] это на три бара вперёд в будущее. три бара назад по истории это close[-3]
|
Наверх
|
|
|
|
#64776 - Sat Sep 13 2014 06:16 PM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: captian]
|
newbie
Registered: Sun May 05 2013
Записи: 30
Loc: Belarus
|
[quote=alexc][quote=captian]Макс1[ГмахБар]Номер бара положительный? например close[3] это на три бара вперёд в будущее. три бара назад по истории это close[-3] Возможно это где-то настраивается, но я такого не нашел. У меня при наведении перекрестия на бары стабильно бары начинаются с нуля и слева направо идут в плюс
|
Наверх
|
|
|
|
#64800 - Sun Sep 14 2014 02:37 AM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: ViL]
|
newbie
Registered: Sun May 05 2013
Записи: 30
Loc: Belarus
|
Надо от текщего номера бара отнять ваш заданный через ОЗ и поставить перед полученным значением минус. Тогда будет максимум значения, на заданном через ОЗ баре. Хорошо, вот формула по вашему совету: Макс1[-(i-ГмахБар)]Результат: Скрипт 'test4': Не могу запустить скрипт. Скрипт 'test4': c:\Users\V\AppData\Local\TSLab\TSLab12\temp\code17.cs(467,38) : error CS1503: Аргумент "1": преобразование типа из "double" в "int" невозможно Скрипт 'test4': c:\Users\V\AppData\Local\TSLab\TSLab12\temp\code17.cs(467,32) : error CS1502: Наиболее подходящий перегруженный метод для "System.Collections.Generic.IList<double>.this[int]" имеет несколько недопустимых аргументов Если вспомнить элементарную математику и немного преобразовать формулу до вида Макс1[ГмахБар-i], то опять же получим отрицательный индекс и ошибку "Неизвестный индекс ГмахБар". не путайте текущий бар и кол-во загруженных баров. Не знаю, как вам еще объяснить. Мой расчитываемый в ОЗ ГмахБар вывожу на график, и выводимые значения точно соответствуют номерам баров, которые показываются в подсказке при наведении перекрестия на бар (Например Bar number 8770). Соседние вправо бары имеют нумерацию больше, чем 8770. Макс1[ГмахБар]Номер бара положительный? например close[3] это на три бара вперёд в будущее. три бара назад по истории это close[-3] Обычно испольльзую формулы типа close[i-n], но close[-n] тоже работает и показывает то же самое. Т.е. ваше close[-3] означает, что берется значение на 3-м баре назад, и то же самое будет на баре [i-3], но самое по себе значение i-3 что из себя представляет? Откуда идет нумерация баров? Если i=1000, то i-3 = 997, берем значение на 997-м баре. В то же время формула close[0] дает ошибку. Так может к любому значению close можно обращаться только отталкиваясь от номера текущего бара (i)? Другими словами на каждом текущем баре надо знать, сколько баров назад был нужный мне бар? Неужели нельзя напрямую использовать номера баров?
|
Наверх
|
|
|
|
#64803 - Sun Sep 14 2014 08:01 AM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: alexc]
|
Carpal Tunnel
Registered: Sat Aug 21 2010
Записи: 2821
Loc: Занзибар
|
Хорошо, вот формула по вашему совету: Макс1[-(i-ГмахБар)] Результат: Скрипт 'test4': Не могу запустить скрипт. Совет вы почти поняли (надо вообще то отсчитывать разницу до события, а не отсчитывать номер бара назад), а синтаксис неверный. Надо Макс1[-ГмахБар], и так во всём. Думаю проще и быстрее будет написать, что хотите получить и приложить результат ваших стараний. А я или кто то другой поправит. Так будет проще, чем вести роман по переписке на форуме. Про бары: текущий бар, это i, предыдущий, это [i-1] или [-1] (для программы 1.2 одно и тоже), и так далее. Другими словами на каждом текущем баре надо знать, сколько баров назад был нужный мне бар? Неужели нельзя напрямую использовать номера баров? 1. Да, именно так. 2. Нет нельзя, по многим причинам. Повторюсь: напишите что хотите получить, только чётко формализовано, и форумчане вам, скорее всего, помогут. Либо подпишитесь на премиум саппорт и у вас будет персональный помощник.
Отредактировано captian (Sun Sep 14 2014 08:18 AM)
|
Наверх
|
|
|
|
#64812 - Sun Sep 14 2014 01:07 PM
Re: Пример: «Логическая формула», "Формула". Синтаксис
[Re: captian]
|
enthusiast
Registered: Thu Apr 11 2013
Записи: 359
|
Мне кажется вы друг друга поймете только после того, как определитесь что такое "использование номеров баров НАПРЯМУЮ" В моём понимании номера "напрямую" используются, но если надо обращаться к "фиксированному" бару, то нужно это делать либо через ОЗ перед обращением, либо использовать удержание нужных параметров после первого обращения к бару с заданными условиями. Где-то так?
|
Наверх
|
|
|
|
#67374 - Wed Dec 31 2014 12:15 AM
что не так с блоком формула?
[Re: SysKreator]
|
journeyman
Registered: Thu Mar 08 2012
Записи: 60
|
Добрый день. Подскажите, что не так с блоком формула?
|
Наверх
|
|
|
|
#67379 - Wed Dec 31 2014 08:25 PM
Re: что не так с блоком формула?
[Re: dedmara]
|
journeyman
Registered: Thu Mar 08 2012
Записи: 60
|
Добавил скрипт, надеюсь
Attachments
Формула.tscript (383 downloads)
|
Наверх
|
|
|
|
#68955 - Tue Mar 24 2015 11:36 AM
Re: что не так с блоком формула?
[Re: ViL]
|
stranger
Registered: Mon Mar 23 2015
Записи: 5
|
Здравствуйте! Делаю из кубиков стратегию, по которой вход производится по касанию High цены определенных диапазонов. В кубик «ЛогичесФормула» поставил:
(Константа1+Константа2) > Максимум > (Константа1+ Константа3) ||(Константа1+Константа2+1000) > Максимум > (Константа1+Константа3+1000)
Скрипт выдает ошибку: error CS0019: Оператор ">" не может применяться к операндам типа "boot" и "double" Что я сделал не так и как лучше реализовать такой алгоритм?
|
Наверх
|
|
|
|
#68966 - Tue Mar 24 2015 01:44 PM
Re: что не так с блоком формула?
[Re: Stan]
|
stranger
Registered: Mon Mar 23 2015
Записи: 5
|
Заработало. Спасибо! Надо отдельно все расписывать Что максимум больше стольки то и меньше столькито, или максимум больше стольки и максимум меньше стольки (Константа1+Константа2) > Максимум && Максимум> (Константа1+ Константа3) ||(Константа1+Константа2+1000) > Максимум && Максимум > (Константа1+Константа3+1000) Вот так должно работать
|
Наверх
|
|
|
|
|
|