Находит на графике свечную формацию Реверсивный разворот.
#Revers.Показывает паттерн «Реверсивный разворот»
def bSignalUp = high[1]>high[2] and close[1]>high[2] and open>high[1] and close<close[1];
def bSignalDown = high[1]<high[2] and close[1]<low[2] and open<low[1] and close>close[1];
plot up = if bSignalUp then high else double.NaN;
plot down = if bSignalDown then high else double.NaN;
up.SetPaintingStrategy(paintingStrategy.BOOLEAN_ARROW_down);
down.SetPaintingStrategy(paintingStrategy.BOOLEAN_ARROW_up);
up.setDefaultColor(color.LIGHT_red);
down.setDefaultColor(color.LIGHT_green);
<strong>#Ищет базу на любых уровнях.</strong> #Cнять галочку Include Extended Session #Thinkorswim https://RadchenkoVY.com/TOS def iDiff = 0.00; #максимальное отклонение в центах def iBars = 4; #число баров для просмотра def iLowest = lowest(low,iBars); def iHighest = highest(high,iBars); def bBaseLow = fold Lbar = 0 to iBars with Ls=1 do if ((low[Lbar]-iLowest)<=iDiff) then Ls*1 else Ls*0; def bBaseHigh = fold Hbar = 0 to iBars with Hs=1 do if ((iHighest-high[Hbar])<=iDiff) then Hs*1 else Hs*0; plot bBase = if bBaseLow then 1 else if bBaseHigh then 2 else 100; AssignBackgroundColor (if (bBase == 1) then Color.LIGHT_GREEN else if (bBase == 2) then Color.LIGHT_RED else Color.black); bBase.AssignValueColor (if bBase <> 100 then Color.black else Color.CURRENT);
<strong>#Ищет базу на уровнях кратным 50 центам.</strong> #Cнять галочку Include Extended Session #Thinkorswim https://RadchenkoVY.com/TOS def iDiff = 0.00; #максимальное отклонение в центах def iBars = 4; #число баров для просмотра def iLowest = lowest(low,iBars); def iHighest = highest(high,iBars); def bBaseLow = fold Lbar = 0 to iBars with Lsumm=1 do if ((low[Lbar]-iLowest)<=iDiff) then Lsumm*1 else Lsumm*0; def bBaseHigh = fold Hbar = 0 to iBars with Hsumm=1 do if ((iHighest-high[Hbar])<=iDiff) then Hsumm*1 else Hsumm*0; def iFigureLow = fold FLbar = 1 to iBars+1 with FLsumm do if (low[FLbar] == (Floor(low[FLbar]*2))/2) then FLsumm+1 else FLsumm; def iFigureHigh = fold FHbar = 1 to iBars+1 with FHsumm do if (high[FHbar] == (Ceil(high[FHbar]*2))/2) then FHsumm+1 else FHsumm; plot bBase = if (bBaseLow and iFigureLow) then 1 else if (bBaseHigh and iFigureHigh) then 2 else 100; AssignBackgroundColor (if (bBase == 1) then Color.LIGHT_GREEN else if (bBase == 2) then Color.LIGHT_RED else Color.black); bBase.AssignValueColor (if bBase <> 100 then Color.black else Color.CURRENT);
Ищет на графике свечную модель «Внешний бар». Без настроек. Просто установите и пользуйтесь.
#Outside_Bar.Показывает паттерн «Внешний бар»
#Cнять галочку Include Extended Session
def bSignalDown=open[1]<close[1]and high>high[1] and close<low[1] or open[1]>close[1] and high>high[1] and close<low[1];
def bSignalUp = open[1]>close[1] and low<low[1] and close>high[1] or open[1]<close[1] and low<low[1] and close>high[1];
plot out = if bSignalUp then 1 else if bSignalDown then 2 else 100;
AssignBackgroundColor (if (out == 1) then Color.LIGHT_GREEN else if (out == 2) then Color.LIGHT_RED else Color.black);
out.AssignValueColor (if out <> 100 then Color.black else Color.CURRENT);
Полная библиотека индикаторов в нашем блоге goo.gl/9JRWUi
Thinkorswim — платформа от компании TD Ameritrade. Считается одной из лучших в мире. Подходит трейдерам торгующих как на акциях USA, так и тем, кто торгует опционы, фьючерсы, ETF, валютные пары на FOREX.
Терминал очень гибкий для настройки и многофункциональный.
Так же есть функция перемотки назад в прошлое и в ней же можно тренироваться отторговывать предыдущие дни. Функция называется OnDemand. Мне очень нравится, я частенько возвращаюсь назад в те дни когда плохо отторговывал домашку или совершал ошибки в торговле, и прогонял для себя этот день заново торгуя уже там же на виртуальном OnDemand счете. В общем штука просто огонь!!! К тому же сервис через который я приобретал тос подкинули инструкцию Thinkorswim на русском, где за полтора часа я узнал о тосе больше, чем знал за все 2 года его использования.
Поиск довольно редкой свечной модели «Двойной внешний бар»
#Double_Outside_bar.Показывает паттерн «Двойной внешний бар»
#Cнять галочку Include Extended Session
def bSignalDown = 0;
def bSignalUp = high[2]<high[1] and high[1]<high and low[2]>low[1] and low[1]>low and close>high[1];
plot out = if bSignalUp then 1 else if bSignalDown then 2 else 100;
AssignBackgroundColor (if (out == 1) then Color.LIGHT_GREEN else if (out == 2) then Color.LIGHT_RED else Color.black);
out.AssignValueColor (if out <> 100 then Color.black else Color.CURRENT);
#Thinkorswim studies #Рисует показатели акции прямо на графике. #Позволяет быстро увидеть ATR акции, средний объем и т.д. #Thinkorswim https://RadchenkoVY.com/TOS def length = 14; # сколько дней учитывать при расчетах показателей input AvgVolume = {default "1", "0"}; input ATR = {default "1", "0"}; input VolumePlay = {default "1", "0"}; input ATRPlay = {default "1", "0"}; input Volume_ = {default "1", "0"}; input IQTicker = {default "1", "0"}; #IQ AddLabel (yes,"RadchenkoVY.COM", Color.LIGHT_GREEN); def iATR = Round((Average(high(period = "DAY"), length ) - Average(low(period = "DAY"), length )), 2); AddLabel (!ATR, "ATR " + iATR, Color.WHITE); def iATRPlay = Round((high(period = "DAY") - low(period = "DAY")) / iATR, 1); AddLabel (!ATRPlay, "ATRPlay " + iATRPlay, Color.LIGHT_GREEN); def iAvgVolume = Round(Average (volume(period = "DAY")[1], length), 1); AddLabel (!AvgVolume, "AvgVol " + iAvgVolume, Color.WHITE); def iVolume = volume(period = "DAY"); AddLabel (!Volume_, "Vol " + iVolume, Color.LIGHT_GREEN); def iVolumePlay = Round(iVolume / Average(volume(period = "DAY"), length), 1); AddLabel (!VolumePlay, "VolPlay " + iVolumePlay, Color.LIGHT_GREEN); def IQ = round ((iAvgVolume/390*iATR/1000),0); AddLabel (!IQTicker, "IQ " + IQ, Color.WHITE);
Полная библиотека индикаторов, фильтрови и сканеров для Thinkorswim в этом блоге bit.ly/2vKq4F8
Скрипт ищет базы на фигурах или на уровнях вчерашних экстремумов дня. Тоже уровни очень сильные. Имеет 4 цифры для сигналов.
#Base_Figure_PrevHiLow.Скрипт ищет базы на круглых уровнях 50,100 центов или на вчерашних HiLow
def iDiff = 0.01; #максимальное отклонение в центах
def iBars = 4; #число баров для просмотра
def iLowest = lowest(low,iBars);
def iHighest = highest(high,iBars);
def iHiPrevDay = high(period = «DAY»)[1];
def iLowPrevDay = Low(period = «DAY»)[1];
def bBaseLow = fold Lbar = 0 to iBars with Lsumm=1 do if ((low[Lbar]-iLowest)<=iDiff) then Lsumm*1 else Lsumm*0;
def bBaseHigh = fold Hbar = 0 to iBars with Hsumm=1 do if ((iHighest-high[Hbar])<=iDiff) then Hsumm*1 else Hsumm*0;
def iFigureLow = fold FLbar = 1 to iBars+1 with FLsumm do if (low[FLbar] == (Floor(low[FLbar]*2))/2) then FLsumm+1 else FLsumm;
def iFigureHigh = fold FHbar = 1 to iBars+1 with FHsumm do if (high[FHbar] == (Ceil(high[FHbar]*2))/2) then FHsumm+1 else FHsumm;
def iDayLow = fold DLbar = 0 to iBars with DLsumm do if (Low[DLbar] == iHiPrevDay) then DLsumm+1 else DLsumm;
def iDayHigh = fold DHbar = 0 to iBars with DHsumm do if (High[DHbar] == iLowPrevDay) then DHsumm+1 else DHsumm;
plot bBase = if (bBaseLow and iFigureLow ) then 1 else if (bBaseHigh and iFigureHigh ) then 2 else if (bBaseLow and iDayLow) then 3 else if (bBaseHigh and iDayHigh) then 4 else 100;
AssignBackgroundColor (if (bBase == 1 or bBase == 3) then Color.LIGHT_GREEN else if (bBase == 2 or bBase == 4) then Color.LIGHT_RED else Color.black);
Полная библиотека индикаторов в нашем блоге goo.gl/9JRWUi
input price = FundamentalType.CLOSE; input Period = AggregationPeriod.FIVE_MIN; #указать период расчета МА, выбрав из списка: TWO_MIN THREE_MIN FOUR_MIN FIVE_MIN EN_MIN FIFTEEN_MIN TWENTY_MIN THIRTY_MIN HOUR TWO_HOURS FOUR_HOURS DAY TWO_DAYS THREE_DAYS FOUR_DAYS WEEK MONTH OPT_EXP input FastLength = 20; #период быстрой МА input SlowLength = 80; #период медленной МА input averageType = AverageType.simple;