커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

검색식 부탁 드려요

Trix 거래량 지표입니다. 거래량이 0선 위에 있는(양봉) 종목 검색식 부탁드려요. (수식1) TRIX거래량 (eavg(eavg(eavg(v,period),period),period) - eavg(eavg(eavg(v(1),period),period),period)) / eavg(eavg(eavg(v(1),period),period),period)*100 - 지표조건설정 period : 20
프로필 이미지
일지매7
2024-06-27
631
글번호 181014
종목검색
답변완료

적용가능하도록 부탁드립니다.

트레이딩 뷰 지표입니다. 적용가능하도록 부탁드립니다. indicator('Optimized Trend Tracker Oscillator', 'OTTO', overlay=false) length = input.int(2, 'OTT Period', minval=1) percent = input.float(0.6, 'OTT Optimization Coeff', step=0.1, minval=0) flength = input.int(10, 'FAST VIDYA Length', minval=1) slength = input.int(25, 'SLOW VIDYA Length', minval=1) coco = input.int(100000, 'Correcting Constant', minval=1) src1 = input(close, title='Source') showsignalsc = input(title='OTTO Crossing Signals?', defval=true) highlighting = input(title='Highlighter On/Off ?', defval=true) mav = input.string(title='Moving Average Type', defval='VAR', options=['SMA', 'EMA', 'WMA', 'DEMA', 'TMA', 'VAR', 'WWMA', 'ZLEMA', 'TSF', 'HULL']) Var_Func1(src1, length) => valpha1 = 2 / (length + 1) vud11 = src1 > src1[1] ? src1 - src1[1] : 0 vdd11 = src1 < src1[1] ? src1[1] - src1 : 0 vUD1 = math.sum(vud11, 9) vDD1 = math.sum(vdd11, 9) vCMO1 = nz((vUD1 - vDD1) / (vUD1 + vDD1)) VAR1 = 0.0 VAR1 := nz(valpha1 * math.abs(vCMO1) * src1) + (1 - valpha1 * math.abs(vCMO1)) * nz(VAR1[1]) VAR1 VAR1 = Var_Func1(src1, length) mov1 = Var_Func1(src1, slength / 2) mov2 = Var_Func1(src1, slength) mov3 = Var_Func1(src1, slength * flength) src = mov1 / (mov2 - mov3 + coco) Var_Func(src, length) => valpha = 2 / (length + 1) vud1 = src > src[1] ? src - src[1] : 0 vdd1 = src < src[1] ? src[1] - src : 0 vUD = math.sum(vud1, 9) vDD = math.sum(vdd1, 9) vCMO = nz((vUD - vDD) / (vUD + vDD)) VAR = 0.0 VAR := nz(valpha * math.abs(vCMO) * src) + (1 - valpha * math.abs(vCMO)) * nz(VAR[1]) VAR VAR = Var_Func(src, length) DEMA = 2 * ta.ema(src, length) - ta.ema(ta.ema(src, length), length) Wwma_Func(src, length) => wwalpha = 1 / length WWMA = 0.0 WWMA := wwalpha * src + (1 - wwalpha) * nz(WWMA[1]) WWMA WWMA = Wwma_Func(src, length) Zlema_Func(src, length) => zxLag = length / 2 == math.round(length / 2) ? length / 2 : (length - 1) / 2 zxEMAData = src + src - src[zxLag] ZLEMA = ta.ema(zxEMAData, length) ZLEMA ZLEMA = Zlema_Func(src, length) Tsf_Func(src, length) => lrc = ta.linreg(src, length, 0) lrc1 = ta.linreg(src, length, 1) lrs = lrc - lrc1 TSF = ta.linreg(src, length, 0) + lrs TSF TSF = Tsf_Func(src, length) HMA = ta.wma(2 * ta.wma(src, length / 2) - ta.wma(src, length), math.round(math.sqrt(length))) Var_Funcl(srcl, length) => valphal = 2 / (length + 1) vud1l = srcl > srcl[1] ? srcl - srcl[1] : 0 vdd1l = srcl < srcl[1] ? srcl[1] - srcl : 0 vUDl = math.sum(vud1l, 9) vDDl = math.sum(vdd1l, 9) vCMOl = nz((vUDl - vDDl) / (vUDl + vDDl)) VARl = 0.0 VARl := nz(valphal * math.abs(vCMOl) * srcl) + (1 - valphal * math.abs(vCMOl)) * nz(VARl[1]) VARl getMA(src, length) => ma = 0.0 if mav == 'SMA' ma := ta.sma(src, length) ma if mav == 'EMA' ma := ta.ema(src, length) ma if mav == 'WMA' ma := ta.wma(src, length) ma if mav == 'DEMA' ma := DEMA ma if mav == 'TMA' ma := ta.sma(ta.sma(src, math.ceil(length / 2)), math.floor(length / 2) + 1) ma if mav == 'VAR' ma := VAR ma if mav == 'WWMA' ma := WWMA ma if mav == 'ZLEMA' ma := ZLEMA ma if mav == 'TSF' ma := TSF ma if mav == 'HULL' ma := HMA ma ma MAvg = getMA(src, length) fark = MAvg * percent * 0.01 longStop = MAvg - fark longStopPrev = nz(longStop[1], longStop) longStop := MAvg > longStopPrev ? math.max(longStop, longStopPrev) : longStop shortStop = MAvg + fark shortStopPrev = nz(shortStop[1], shortStop) shortStop := MAvg < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop dir = 1 dir := nz(dir[1], dir) dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir MT = dir == 1 ? longStop : shortStop HOTT = MAvg > MT ? MT * (200 + percent) / 200 : MT * (200 - percent) / 200 HOTTC = color.new(color.red, 0) LOTT = src LOTTC = color.new(color.blue, 0) HOTTLine = plot(nz(HOTT[2]), title='HOTT', color=HOTTC, linewidth=2, style=plot.style_line) LOTTLine = plot(nz(LOTT), title='LOTT', color=LOTTC, linewidth=2, style=plot.style_line) FillColor = highlighting and LOTT < HOTT[2] ? color.new(color.red, 20) : color.new(color.green, 20) fill(HOTTLine, LOTTLine, title='Highligter', color=FillColor) alertcondition(ta.crossunder(HOTT[2], LOTT), title='Crossover Alarm', message='OTTO - BUY SIGNAL!') alertcondition(ta.crossover(HOTT[2], LOTT), title='Crossunder Alarm', message='OTTO - SELL SIGNAL!') buySignalc = ta.crossunder(HOTT[2], LOTT) plotshape(buySignalc and showsignalsc ? HOTT[2] * 0.9995 : na, title='Buy', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0)) sellSignallc = ta.crossover(HOTT[2], LOTT) plotshape(sellSignallc and showsignalsc ? LOTT * 1.0005 : na, title='Sell', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
프로필 이미지
다올
2024-06-26
646
글번호 181013
지표

구경꾼그림자 님에 의해서 삭제되었습니다.

프로필 이미지
구경꾼그림자
2024-06-26
13
글번호 181011
종목검색
답변완료

문의드립니다

LT=LOWEST(L,P1); HT=HIGHEST(C, P1); NewH=VALUEWHEN(1,C>HT(1),C); BOX1=HIGHEST(C, P1-2)<HIGHEST(C, P1-1); TOP=VALUEWHEN(1,BarsSince(C>HT(1))==(P1-2)AND BOX1,NewH); BTM=VALUEWHEN(1,BarsSince(C>HT(1))==(P1-2)AND BOX1,LT); top p1 15 이선을 돌파하는 종목검색으로 부탁드립니다
프로필 이미지
또리
2024-06-26
564
글번호 181010
종목검색
답변완료

새로운날의 시간대 데이타 저장하기

//sTime : 봉의 시작시간, sDate :봉의 시작날짜 var : cnt(0),opmax(0),opmin(0),opmid(0); Array : DO[10](0),DH[10](0),DL[10](0),DC[10](0); //sTime : 봉의 시작시간, sDate :봉의 시작날짜 if (sDate != sDate[1] and sTime >= 84500) Or (sDate == sDate[1] and sTime >= 84500 and sTime[1] < 154500) Then { DO[0] = O; DH[0] = H; DL[0] = L; DC[0] = C; for cnt = 1 to 9 { DO[cnt] = DO[cnt-1][1]; DH[cnt] = DH[cnt-1][1]; DL[cnt] = DL[cnt-1][1]; DC[cnt] = DC[cnt-1][1]; } } if sTime >= 84500 and sTime <= 91500 then { DC[0] = C; if DH[0] > O and H > DH[0] Then DH[0] = H; if DL[0] < O and L < DL[0] Then DL[0] = L; opmax = DH[0];//85000 ~ 91500 까지의 최고값(앞에 첫봉은 버린다) opmin = DL[0];//85000 ~ 91500 까지의 최저값(앞에 첫봉은 버린다) opmid = (opmax + opmin)/2; } plot4(opmax,"opmax"); plot5(opmid,"opmid"); plot6(opmin,"opmin"); ///85000 ~ 91500 까지의 최고저값(앞에 첫봉은 버린다)을 출력하는식 입니다 데이타가 잘못 추력되고 있어서 문의 합니다 . 수고 부탁드리겠 습니다.
프로필 이미지
불스아이
2024-06-26
633
글번호 181005
지표

산수유 님에 의해서 삭제되었습니다.

프로필 이미지
산수유
2024-06-26
0
글번호 181004
시스템
답변완료

검색식 부탁 드립니다

2 input : L기간(15),R기간(12); input : N(14),K(8),간격(5); if Highest(H,L기간+R기간+1)==H[R기간] Then { var1 = H[R기간]; } if lowest(L,L기간+R기간+1)==L[R기간] Then { var2 = L[R기간]; } Var3 = (var1+Var2)/2; Var4 = Ema(c,n); value1 = Var4[k]; value2 = Var4[k+간격]; value3 = Var4[k+간격*2]; value4 = Var4[k+간격*3]; value5 = Var4[k+간격*4]; if var1[1] > 0 and Var2[1] > 0 and var3[1] >= max(value1,Value2,Value3,Value4,Value5) and min(value1,Value2,Value3,Value4,Value5) >= Var2[1] and CrossUp(c,Var3[1]) Then Find(1); 이 검색식은 중심선을 돌파한 종목을 잡아 주는데 아직 중심선을 돌파 하지 않은 종목 검색식도 가능한가요 가능하시면 부탁 드립니다
프로필 이미지
구경꾼그림자
2024-06-26
821
글번호 181001
종목검색
답변완료

청산논리

2개의 청산을 조건에 따라 연결하려고 합니다 es01,es02청산식을 합치는게 아니라 분리된 상태에서 조건으로 간접연결하는겁니다 if 조건1 then exitshort("es01") if 조건2 then exitshort("es02") 위의 산식을 진입후, 1)첫봉~3봉사이에서 조건1을 만족할때 조건3을 만족시 es02로 청산 조건3을 불만족시 es01로 청산 2)4봉이후에는 es01로 청산 하려합니다 부탁드립니다
프로필 이미지
티끌
2024-06-26
631
글번호 180986
시스템
답변완료

종목검색부탁드립니다.

안녕하세요? 1. 15%이상 상승종목 2. 15%이상 상승 후 5봉이후부터 최저거래량 발생 3.종가는 20일선이 크고 60일선이 작은 그 사이에 예시) 20일선 > C >60일선 이런 종목을 검색하고 싶습니다. 감사합니다.
프로필 이미지
매일대박
2024-06-26
583
글번호 180985
종목검색

불스아이 님에 의해서 삭제되었습니다.

프로필 이미지
불스아이
2024-06-26
1
글번호 180984
지표