Нажми на изображение для увеличения |
Написал скрипт, который выкрашивает на графике бары базы в зеленый цвет. Мне он помогает делать домашку, т.к. позволяет быстро определять дает ли акция моменты для входа с маленьким риском. Базы более 5 центов скрипт не ищет. Вот код:
#by Egor Masalskiy
#last modify 08.09.2011
input period = {default DAY, WEEK};
input lenght = 3;
input periodRangeFor_base2cent = 0.3;
input periodRangeFor_base3cent = 0.5;
input periodRangeFor_base4cent = 0.8;
input periodRangeFor_base5cent = 1.2;
def BASE = Highest(high, lenght) - Lowest (low, lenght);
AssignPriceColor( if
(high(period = period)[1] - low(period = period)[1]) > periodRangeFor_base5cent and BASE <= 0.05 then Color.CYAN else if
(high(period = period)[1] - low(period = period)[1]) > periodRangeFor_base4cent and (high(period = period)[1] - low(period = period)[1]) <= periodRangeFor_base5cent and BASE <= 0.04 then Color.CYAN else if
(high(period = period)[1] - low(period = period)[1]) <= periodRangeFor_base4cent and (high(period = period)[1] - low(period = period)[1]) > periodRangeFor_base3cent and BASE <= 0.03 then Color.CYAN else if
(high(period = period)[1] - low(period = period)[1]) <= periodRangeFor_base3cent and (high(period = period)[1] - low(period = period)[1]) > periodRangeFor_base2cent and BASE <= 0.02 then Color.CYAN else if
(high(period = period)[1] - low(period = period)[1]) <= periodRangeFor_base2cent and BASE <= 0.01 then Color.CYAN
else Color.white);
Описание опций скрипта:
period - выбор интервала для определения диапазона изменения цен в акци (день или неделя)
lenght - выбор длины базы (кол-во баров), уменьшение параметра увеличивает чувствительность, увеличение параметра повышает качество определения баз
periodRangeFor_base2cent - выбор размера диапазона изменения цен для окрашивания базы размером в 2 цента
periodRangeFor_base3cent - выбор размера диапазона изменения цен для окрашивания базы размером в 3 цента
periodRangeFor_base4cent - выбор размера диапазона изменения цен для окрашивания базы размером в 4 цента
periodRangeFor_base5cent - выбор размера диапазона изменения цен для окрашивания базы размером в 5 центов
Последние четыре опции нужны для того что бы скрипт красил более узкие бары на акциях, которые ходят меньше, и красил более широкие базы на акциях, которые ходят больше. Если вам не важно соотношение размера базы и размера дневного движения акции, то просто поставьте значение periodRangeFor_base5cent минимальным.
P.S. Как вставить индикатор в ThinkOrSwim описано здесь.
Здравствуйте. Не могли бы Вы переделать скрипт для 2х минутного графика, где подсвечивало базы до 7 центов? Заранее благодарен)
ОтветитьУдалить#by Egor Masalskiy
ОтветитьУдалить#last modify 05.09.2011
input period = {default DAY, WEEK};
input lenght = 4;
input periodRangeFor_base2cent = 0.3;
input periodRangeFor_base3cent = 0.5;
input periodRangeFor_base4cent = 0.8;
input periodRangeFor_base5cent = 1.0;
input periodRangeFor_base7cent = 1.2;
def BASE = Highest(high, lenght) - Lowest (low, lenght);
AssignPriceColor( if
(high(period = period) - low(period = period)) > periodRangeFor_base7cent and BASE <= 0.07 then Color.green else if
(high(period = period) - low(period = period)) > periodRangeFor_base5cent and (high(period = period) - low(period = period)) <= periodRangeFor_base7cent and BASE <= 0.05 then Color.green else if
(high(period = period) - low(period = period)) > periodRangeFor_base4cent and (high(period = period) - low(period = period)) <= periodRangeFor_base5cent and BASE <= 0.04 then Color.green else if
(high(period = period) - low(period = period)) <= periodRangeFor_base4cent and (high(period = period) - low(period = period)) > periodRangeFor_base3cent and BASE <= 0.03 then Color.green else if
(high(period = period) - low(period = period)) <= periodRangeFor_base3cent and (high(period = period) - low(period = period)) > periodRangeFor_base2cent and BASE <= 0.02 then Color.green else if
(high(period = period) - low(period = period)) <= periodRangeFor_base2cent and BASE <= 0.01 then Color.green
else Color.white);
Здравствуйте! хотел поставить скрипт по базе, не получилось, пишет ,что ошибка. подскажите, что я не правильно делаю при установке. и возможно ли написать индикатор который отрисовывает горизонтальные линии по круглым числам. например-10,10.50,11,11.50 и так далее. С Уважением Юрий.
ОтветитьУдалитьПоищите в гугле как устанавливать индикаторы в ТОС. Написать индикатор отрисовывающий линии можно и это не сложно. Просто мне это не нужно и я его писать не буду! =) Вообще для ваших целей можно и без индикатора, просто поставьте в опциях чарта период сетки 50 центов и все. А если все же он необходим, то откройте окно создания индикатора, там по умолчанию будет написана строчка, замените слово close на нужную вам цифру и индикатор вам отрисует линию на этой цифре. Прокопируйте эту строку несколько раз и вбейте все необходимые вам уровни. На этом уроки программирования я заканчиваю, больше просьб что бы не было. Я вообще программировать не умею, неделю назад впервые открыл окно редактирования индикатора в ТОСе. Так что осваивайте этот процесс - это не сложно.
ОтветитьУдалитьклассная вещь! а подскажите, можно добавить в скрипт опцию, чтобы подсвечивало базы на хай/лоу дня?
ОтветитьУдалитьЭто реализовано в блоке фильтров для скринера.
ОтветитьУдалитьон некоректно показывает, думал, можно реализовать это графически
ОтветитьУдалитьУ всех все корректно! А у вас не корректно... =)) Ну если сумели подумать, то и сами напишите что именно вам нужно! Я делаю только для себя. Я трейдер, а не программист!
ОтветитьУдалитьНАРОД! НЕ ХОТИТЕ УЧИТЬСЯ ДЕЛАТЬ САМИ - НАНИМАЙТЕ ТЕХ КТО БУДЕТ ДЕЛАТЬ ЭТО ЗА ВАС! Т.е. либо учитесь, либо ищите программистов, которые этим зарабатывают.
ОтветитьУдалитьизвини, я не хотел ни чего обидного сказать...
ОтветитьУдалитьДа ничего обидного сказано и не было... Просто очень надоели те кто просит им какой-нибудь скрипт написать! Люди не хотят тратить время что бы учиться, а я значит должен тратить свое время, что бы кому то что-то писать?! Учитесь - самим пригодится! Ни кого не нужно будет просить, сами прокодируете всю свою стратегию...
ОтветитьУдалитьBest 10 Casinos Near Fort Lauderdale, Florida - MapYRO
ОтветитьУдалитьMapyro is a top spot in 안성 출장안마 Florida, located 진주 출장안마 in Fort Lauderdale, Florida. Mapyro 시흥 출장샵 is a top spot in Florida, located 통영 출장안마 in Fort Lauderdale, 안동 출장마사지 Florida. Mapyro is a top spot in