Uptrader

ThinkScript - как построить нестандартные котировки?

Интересует функция ThinkScript в терминале Thinkorswim.

ThinkScript - как построить нестандартные котировки?

Очень нужно написать индюк, который смог бы отображать котировки платины в евровом эквиваленте и желательно в формате евро за грамм.

ThinkScript - как построить нестандартные котировки?

Как прописать такую вот формулу:

( Цена платины ($/унция) / Цена евро (евро/доллар) ) / 31,1035 = искомое значение, которое в идеале отображать в виде свечей — но можно и линией.

PLS: выведите на главную — очень нужно получить ответ. Готов за это даже заплатить.
★8
44 комментария
Дим, обратись к Киевлянину… он помоему этот твинкерсвим уже в доль и поперек изучил
avatar
Максим (Сибирь), не… когда то давно изучал его, но дальше индикаторов дело не пошло, переключился на Амиброкер.
В ТОС-е если не бояться, то самому легко можно все написать, язык легкий. Тут главное решиться :)
Дмитрий Солодин, он самый, попробуй обратится в лоб не даст
avatar
Обратись к Эрику thinkscripter.com
avatar
optiontraders, спасибо за совет
Написал, но не понял, что ты хотел получить? Цену за грамм?
avatar
Zotac, да
Zotac, Супер — то что нужно! А можно в барах?
Zotac, а как мне код получить?
не, не получиться, я думаю…
avatar
Zotac, а если эту переменную использовать:

И ещё — можно ли усложнить и накладывать уже на этот индюк другие индюки — например скользящие средние?
Грамотные есть, и прогеры тоже есть… но все хотят есть :)
Тут за бесплатно хер кто поможет, я полтарашку $ предлагал, казалось бы для общего дела smart-lab.ru/blog/51323.php
— Профи сразу нос поворатили!
avatar
а можно таким образом получить график цены сахара в рублях? наш фьючерс неликвидный, а их цена в долларах.
avatar
Евгений Александрович, в финкоре к сожалению нет пары доллар рубль — соответственно нет переменной для генерации значения
Все можно)
Юнайтед Трейдерс могут все)))))
avatar
Zotac, таки даш код? ))
Кидаю для всех мануал ThinkScript team.thinkorswim.com/manual/dark/thinkscript/index.html
напиши в скайп superscalper
avatar
я тоже «Киевлянин»… :-)

declare lower;

input symbol = "/YM";
input Q=31.1035;
input LenN=50;

plot NewTicker = close / ( close(symbol) * Q);
plot MovNewTicker = MovAvgExponential(NewTicker, LenN);
avatar
вместо "/YM" вбивай EUR/USD
LenN — соответсвенно период exponential-мувинга
avatar
Insurer, супер — спасибо огромное
Insurer, если не сложно — подскажи как ещё одну скользящую туда налепить — адаптивную.

Вот код адаптивной:

input price = close;
input fastLength = 2;
input slowLength = 30;
input effRatioLength = 10;

def direction = AbsValue(price — price[effRatioLength]);
def volatility = sum(AbsValue(price — price[1]), effRatioLength);
def ER = if volatility != 0 then direction / volatility else 0;
def FastSF = 2 / (fastLength + 1);
def SlowSF = 2 / (slowLength + 1);
def ScaledSF = ER * (FastSF — SlowSF) + SlowSF;
rec AMA = compoundValue(1, AMA[1] + Sqr(ScaledSF) * (price — AMA[1]), price);

plot MovAvgAdaptive = AMA;
MovAvgAdaptive.SetDefaultColor(GetColor(1));

Как вставить это в написанный тобой индюк?
Дмитрий Солодин,
добавить к существующему коду.


input FL=2;
input SL=30;
input ERL=10;

plot AdMA = MovAvgAdaptive(NewTicker, FL, SL, ERL);
avatar
Insurer, не выходит ((
Дмитрий Солодин, странно — на дневках нормуль — на часовках как то криво (
Insurer, Проблема в разрыве ( После разрыва не считает screencast.com/t/2PyqQGlyE На дневках нет разрыва поэтому и считает
Дмитрий Солодин, может написать 2 периодную скользящую среднюю и на неё уже адаптивную? Как можно обойти проблемы разрыва?
Дмитрий Солодин, А можно дать задание считать только с понедельника по пятницу — может тогда разрывов не будет?

Например этими переменными screencast.com/t/ZgQHIIYTBS
close(«ТикерПлатины»)/close(«ТикерЕвроДолл»)/31.3035

тикеры не помню, извини
avatar
а, во, insurer полный скрипт написал уже)
avatar
готов за 100уе помочь
avatar
Наш фьючерс на платину полнейший неликвид. Но на РФР платина за евро выглядела бы так screencast.com/t/9uk0b0KkH
Николай Лазарев, ну в тслабе я тоже могу писать — в тосе немного другой язык — нужно именно в тосе

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

Бьюсь в общем — завтра продолжу.

По рынку: сегодня +1,5% от депо — в честь Победы )
написал оба мувинга, но ты не отвечаешь в скайпе))
avatar
Zotac, ссори — не проходят сообщения в скайпе ((
Польза смартлаба наконец то ощутимая — спасибо всем, кто помогал мне.

На текущий момент не хватает только скользящей адаптивной — screencast.com/t/C5AOgNjiS
да сделал я все тебе)))
avatar
Наткнулся на пост 6 летней давности :)  Решили проблему?
Надо проверять котировку по евро-доллару, поскольку она в знаменателе. Как правило это обязательное условие при делении
declare lower;
input Q = 31.1035;
def closeSymbol = close(«EUR/USD»);
def closeEURUSD_WithoutNaN = CompoundValue(1, if IsNaN(closeSymbol) then closeEURUSD_WithoutNaN[1] else closeSymbol, closeSymbol);

def NewTicker = close(getSymbol()) / ( closeEURUSD_WithoutNaN * Q);
plot data = NewTicker;
#-- тогда и адаптивная будет вычисляться корректно
input FL = 2;
input SL = 30;
input ERL = 10;
plot AdaptiveMA_NewTicker = MovAvgAdaptive(NewTicker, FL, SL, ERL);

   

теги блога Дмитрий Солодин

....все тэги



UPDONW
Новый дизайн