Как для thinkorswim создать индикатор уровней High - Low последних 25 дней, именно последних дней с учётом текущего High - Low, а не календарного месяца???
Как для thinkorswim создать индикатор уровней High - Low последних 25 дней, именно последних дней с учётом текущего High - Low, а не календарного месяца???
Это из серии: "Ребята, кто нашел грааль ?"
Каждый торгует то, что ему по душе. Я имею в виду стиль торговли. Будь то пампы, имбалансы, базы, корелляции или ещё что-то. Определись что тебе больше нравиться и к чему душа лежит, то и торгуй.
В видео детально описываю процесс регистрации аккаунта в TD Ameritrade. На выходе получаем возможность пользоваться одновременно STRATEGY DESK и thinkorswim, без задержек, со всеми подписками первого уровня в Level II
Продолжая тему фильтра уровней... http://hamaha.net/view/post:211467/maximilian..._base.html Есть решение проблемы погрешности, благодаря помощи коллег с других форумов и знакомых программистов, за что им огромное спасибо. def otkl = 0.01; # задайте отклонение в центах/ Amadey_MF def base = if (((-lowest(low,4)+low[0])<otkl) and ((-lowest(low,4)+low[1])<otkl) and ((-lowest(low,4)+low[2])<otkl) and ((-lowest(low,4)+low[3])<otkl))then 1 else if(((highest(high,4)-high[0])<otkl) and ((highest(high,4)-high[1])<otkl) and ((highest(high,4)-high[2])<otkl)and ((highest(high,4)-high[3])<otkl)) then 2 else 0; def base1 = (if(base > 0 ) and (((low[1] == (Ceil(low[1]2))/2)or(high[1] == (Ceil(high[1]2))/2))) then 0 else 1); def base2 = (if(base > 0 ) and (((low[2] == (Ceil(low[2]2))/2)or(high[2] == (Ceil(high[2]2))/2))) then 0 else 1); def base3 = (if(base > 0 ) and (((low[3] == (Ceil(low[3]2))/2)or(high[3] == (Ceil(high[3]2))/2))) then 0 else 1); def base4 = (if(base > 0 ) and (((low[4] == (Ceil(low[4]2))/2)or(high[4] == (Ceil(high[4]2))/2))) then 0 else 1); plot baseall = if(base1 == 0 or base2 == 0 or base3 == 0 or base4 == 0 ) then 0 else 1; AssignBackgroundColor (if (baseall == 0) then Color.red else Color.black); Этот скрипт находит уровни с погрешностью, которую можно указывать самому. Он показывает только 50 и 100-центовые уровни (если надо скрипт который показывает ВСЕ уровни, напишите в приват). Единственный нюанс который хотелось бы улучшить в нем это количество свечей которые надо проверять. Он смотрит только последние 4-е свечки, и если совпадают условия, то эти акции подсвечиваются. А хотелось бы что бы он смотрел к примеру последние 10 свечек, и если хотя бы 3 из них подходили к уровню, то эта акция должна выделятся.. Я уверен что это написать можно.. и думаю это будет тот фильтр который всем нам нужен..
Всем привет. Тоже торгую по похожей формуле на Strategy Desk. Как раз задумался о ней на Thinkorswim.
В коде разобрался за исключением момента расчета круглых уровней. Точнее расчет расшифровал, но ведь получается, что уровни ищутся всегда выше цены. т.е. если цена 23.02, то поиск идет по 23.50, а не по 23.00. А если цена 48.53, то поиск идет уровня 49, а не 48.50.
Хотя проверил и такая тактика тоже работает неплохо, и случайно захватывает и нижние уровни иногда..
Короче я участвую в разработке ))) На досуге подумаю, как получше сформулировать код..
Подскажите можно ли сделать что-то типа цикла (for или foreach), или хотя бы (do/while)? Например я хочу посчитать сколько минутных свечек за сегодня имеют хай равный определенной цене. Как такое сделать? И еще вопрос: как поменять значение переменной? Я объявляю, например def myVar = 1; а дальше никак не получается изменить значение.
1. уровень будет определяться динамически. Если из последних нескольких баров 2-3 хая на одном уровне (это гораздо легче уже посмотреть), значит и будем делать проверку для этого уровня.
2. если вниз идем - это значит сценарий на продажу. аналогичный будет на покупку в другую сторону.
сейчас под заказ пишу индикатор с настраиваемым периодом объемного профиля.....выкладываться к сожалению не будет (пожелание такое у клиента) но исключительно в информационных целях скажу что это возможно вполне забацать..
Элитная формула thinkorswim для поиска аномального объема: def summ = volume(period = AggregationPeriod.DAY)[0]; plot ratio=round((volume/summ)100,2); AssignBackgroundColor(if ratio >= 5 and ratio < 15 then color.VIOLET else if ratio >= 15 then color.LIGHT_GRAY else color.current);
Привет почему эта формула не работает? Как можна исправить ошибку ? Формула для thinkorswim - Сортировка списка по хай/лоу. Подсветит обновления хай/лоу. Агригейшн дневка. plot Diff = (close-high[1])100>= (high - high[1] - 0.08)100 or (low[1] - close)100 >= (low[1] - low -0.08)100 or close >= high or close >= high; AssignBackgroundColor( if close >= high then Color.Green else if close <= low then Color.RED else Color.BLACK);
plot Diff = (close-high[1])*100>= (high - high[1] - 0.08)*100 or (low[1] - close)*100 >= (low[1] - low -0.08)*100 or close >= high or close >= high; AssignBackgroundColor( if close >= high then Color.Green else if close <= low then Color.RED else Color.BLACK);
Создать можно с помощью цикла и двух функций сравнения.
http://www.rpg-club.com/x1000m?h=www.screenca...jddlwoxljz ......так?
Авг 03 2012, 11:20Если так то индикатор будет полезнее если покажет n-период хай/лоу на любом ТФ....
Авг 03 2012, 16:40Синтаксис цикла в thinkscript мало чем отличается от обычного
Задаём пользовательскую переменную для ввода периода
input period = 25;
теперь пройдемся по всему периоду и найдем его максимум.
для этого используем функцию max которая сравнивает два значения и возвращает наибольшее
plot highline = fold i=0 to period with n = high do
max (n, getvalue(high, i, period-1));
то же самое с минимумами.....только функция будет min а на входе - low
Во как...взял и поудалял всё....
Авг 10 2012, 01:52Получился индикатор то?