thinkorswim

Спасибо за помощь! У меня к Вас еще одна просьба. Я бы хотел сделать примерно такою же операцию для индикатора marketForecast, только чтобы он выдавал звуковой сигнал при пересечении снизу вверх уровня 95 и сверху вниз уровня 5 тоже звуковой сигнал. Если можно, то скринер для него можете тоже написать, а если скринер будет тоже со звуковым сигнал, то было бы супер просто. С уважением Сергей


Проголосовало: 0

Апр 29 2012, 22:59


Комментарии
growex

там три линии.....какая именно вас интересует?

Апр 30 2012, 00:30
Dzirit

Зеленая

Апр 30 2012, 02:59
growex

Зеленая это я так понял Intermediate....ok, посмотрим что тут можно изобразить...

Май 01 2012, 00:02
growex

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

# Modified MarketForecast study
# By Growex 05.01.2012
declare lower;
def mf = MarketForecast().Intermediate;
def momentum = MarketForecast().Momentum;
def nearterm = MarketForecast().NearTerm;
def condition1 = Crosses(mf, 95, CrossingDirection.ABOVE);
alert(condition1, "Cross 95", Alert.BAR, Sound.Bell);
def condition2 = Crosses(mf, 5, CrossingDirection.BELOW);
alert(condition2, "Cross 5", Alert.BAR, Sound.Bell);
plot mfm = mf;
plot momline = momentum;
plot neartline = nearterm;
plot "95" = 95;
plot "5" = 5;
"95".SetDefaultColor(GetColor(1));
"5".SetDefaultColor(GetColor(1));
mfm.DefineColor("Above", Color.RED);
mfm.DefineColor("Middle", Color.GREEN);
mfm.DefineColor("Below", Color.RED);
mfm.AssignValueColor(if mfm > 95 then mfm.color("Above";) else if mfm < 5 then mfm.color("Below";) else mfm.color("Middle";));

Май 01 2012, 01:06
growex

ммда...смайлы вставляются....вместо них будет просто закрывающая круглая скобка....

Май 01 2012, 01:09
growex

попробуй, если все нормально то напишем сканер

Май 01 2012, 01:10
Dzirit

Хорошо код рабочий, спасибо. Было бы супер если бы сделать скринер в звуковым и цветовым индикатором. Заранее спасибо!

Май 01 2012, 12:43
growex

Я немного о другом тебе говорю...зачем сидеть и ждать сигнала если можно просто найти бумаги где условие уже исполнилось....вот, например, список бумаг в которых на дневном ТФ эта линия пересекла снизу вверх уровень 95

WR; PPS; OMN; ARR; CNL; WEC; ATO; CNI; HBAN; SPG; DDD; ESIC; MSG; EQY; POR; TAL; HCN; SSS; AVA; ENB.

этот поиск занял менее 10 секунд...

Май 01 2012, 15:27
Dzirit

Я бы хотел, чтобы ТФ была минутка, получается более скальперская стратегия, а не среднесрочная. Поэтому хотелось бы фильтр для онлайн режима.

Май 01 2012, 18:19
growex

то есть вам для вочлиста нужна колонка с подсветкой...попозже забацаем.

Май 01 2012, 18:46
Dzirit

а в вочлист помимо подсветки звуковой сигнал можно вставить?

Май 01 2012, 19:05
growex

а у тебя там тикеров много в листе?

Май 01 2012, 19:17
growex

я в том плане что на минутке твой лист будет сигналить ПОСТОЯННО.

а колонку крашеную вставить - вот пожалуйста, таймфрейм только указать нужно будет при вставке

def name = MarketForecast().Intermediate;
def over_Bought = 95;
def over_Sold = 5;
plot result = name;
assignBackgroundColor(if name<over_Sold then color.green else if name > over_Bought then color.red else color.current);

Май 01 2012, 20:19
Dzirit

Вообще супер работает, но я торгую на нескольких ТФ, не могли бы вы все таки звуковой сигнал еще сделать?

Май 01 2012, 22:47
growex

ок....чуть попозже

Май 01 2012, 23:14
growex

тэкс....добавляем то же что и в индикаторе...это будет шаблон твоей колонки с сигналами при пересечении уровней....

def line = MarketForecast().Intermediate;
def over_Bought = 95;
def over_Sold = 5;
plot value = line;
assignBackgroundColor(if value <over_Sold then color.green else if value > over_Bought then color.red else color.current);
def condition1 = Crosses(line, 95, CrossingDirection.ABOVE);
alert(condition1, "Cross 95", Alert.BAR, Sound.Bell);
def condition2 = Crosses(line, 5, CrossingDirection.BELOW);
alert(condition2, "Cross 5", Alert.BAR, Sound.Bell);

Сделаешь столько колонок сколько у тебя таймфреймов в работе и там где в кавычках стоит текст, напишешь что нибудь чтобы различать сигналы.....для минутки например будет "95 level crossed on 1m" итд...то есть для разных ТФ текст будет разный...

Май 01 2012, 23:46
Dzirit

Звуковые сигналы к сожалению не работают. Не могли бы Вы пример написать для минутки?

Май 02 2012, 12:43
growex

вообще то по уму нужно алерты в соответствующем разделе создавать....Marketwatch ---> Alerts. Правый клик на тикере в вочлисте, в меню выбираете Alerts и конфигурируете его как вам нужно....в вашем случае это будет study alert

Май 02 2012, 13:52
Dzirit

Извините я не смог разобраться, все перепробовал, белоу, абове, задавал в Trigger if значения даже дописывал ТФ в коде, стирал изменял... Все перепробовал, не могли бы Вы пошагово разъяснить как точно это сделать.

Май 02 2012, 16:13
Dzirit

Спасибо огромное во всем разобрался!

Май 03 2012, 21:36
growex

вот поэтому я тебе и не отвечал на последний вопрос....

Май 03 2012, 21:38
Наш канал