커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의드립니다

배열에 포함된 이전값들을 비교를 하고 싶은데요 사용하는 수식은 질문 뒤에 포함시켰습니다. 질문1. arr라는 배열안에서 arr[1], arr[2], arr[3]... 이런식으로 순차적으로 비교를해서 arr[0] 보다 1.2배이상 큰 값이 나오면 그 값을 var1 에 저장을 하고 싶습니다 예를들어 arr[0] 이 1000일때 arr[1] , arr[2] 는 조건 만족을 하지 않다가 arr[3]가 1250 이면 그 값을 저장하려고 합니다 추가로 몇번째에서 최초로 (위의 예제에서는 3) 조건에 부합하는지 번호도 저장하고 싶습니다 VAR : P1(0),P2(0); var : m1(0),m2(0),T(0),HH(0),HH1(0),LL(0),CNT(0); ARRAY : ARR[100](0); P1=20; P2=60; m1 = ma(C,P1); m2 = ma(C,P2); if CrossUp(m1,m2) AND H>M2 Then { for cnt = 99 downto 1 { ARR[CNT]=ARR[CNT-1]; } ARR[0]=H; } 감사합니다
프로필 이미지
yamu
2024-11-14
471
글번호 185249
지표
답변완료

89935글 수정 좀 부탁 드림니다.

지난번 주신 지표중 하단 부분 분홍색 별은 계속 바뀌고 있습니다. 하단별만 갱신안되도록 수정 좀 부탁 드림니다. ##======================================================== 안녕하세요 예스스탁입니다. 현재수식은 값이 갱신되면 첫번째 최고/최저와 두번째 최고/최저만 표시하므로 새로운 최고/최저가 발생하면 표시를 이동하게 됩니다. 새로운 최고/최저가 발생하면 이동하지 않고 새로 그리게 하고 갱신이 없는 봉은 소리가 출력되게 수정해 드립니다. Input : Period(14); var : DMIv(0),DP(0),DM(0),TT7(0); var : um1(0),um2(0),ud1(0),ut1(0),uv1(0),utx1(0),utx2(0); var : dm1(0),dm2(0),dd1(0),dt1(0),dv1(0),dtx1(0),dtx2(0); DMIv = DMI(Period); DP = DIPlus(Period); DM = DIMinus(Period); if CrossUp(DP,DM) Then { TT7 = 1; dm1 = 0; dm2 = 0; } if CrossDown(DP,DM) Then { TT7 = -1; um1 = 0; um2 = 0; } if TT7 == 1 Then { if DMiv > dp Then { if DMiv-dp > dm1 Then { dd1 = sDate; dt1 = sTime; dv1 = h; if dm1 == 0 Then { dtx1 = Text_New(dd1,dt1,dv1-PriceScale*10,"★"); Text_SetColor(dtx1,RgB(0,255,0) ) ; Text_SetStyle(dtx1,2,1); Text_SetSize(dtx1,40) ; //PlaySound("C:CyberOrOWav3Start.wav"); } Else { dtx1 = Text_New(dd1,dt1,dv1-PriceScale*10,"★"); Text_SetColor(dtx1,RgB(0,255,0) ) ; Text_SetStyle(dtx1,2,1); Text_SetSize(dtx1,40) ; //Text_SetLocation(dtx1,dd1,dt1,dv1-PriceScale*10); if dm1 > dm2 Then { if dm2 == 0 Then { dtx2 = Text_New(dd1[1],dt1[1],dv1[1]-PriceScale*10,"★"); Text_SetColor(dtx2,RgB(0,255,0) ) ; Text_SetStyle(dtx2,2,1); Text_SetSize(dtx2,40) ; ## PlaySound("C:KiwoomHero4soundsound11.wav"); } Else { dtx2 = Text_New(dd1[1],dt1[1],dv1[1]-PriceScale*10,"★"); Text_SetColor(dtx2,RgB(0,255,0) ) ; Text_SetStyle(dtx2,2,1); Text_SetSize(dtx2,40) ; ## PlaySound("C:KiwoomHero4soundsound11.wav"); } dm2 = dm1; } } dm1 = DMiv-dp; } Else { if DMiv-dp > dm2 Then { if dm2 == 0 Then { dtx2 = Text_New(sDate,sTime,H,"★"); Text_SetColor(dtx2,RgB(0,255,0) ) ; Text_SetStyle(dtx2,2,1); Text_SetSize(dtx2,40) ; ## PlaySound("C:KiwoomHero4soundsound11.wav"); } Else { dtx2 = Text_New(dd1[1],dt1[1],dv1[1]-PriceScale*10,"★"); Text_SetColor(dtx2,RgB(0,255,0) ) ; Text_SetStyle(dtx2,2,1); Text_SetSize(dtx2,40) ; } dm2 = DMiv-dp; } Else PlaySound("C:KiwoomHero4soundsound11.wav"); } } } ##========================================================================== if TT7 == -1 Then { if DMiv > dm Then { if DMiv-dm > um1 Then { ud1 = sDate; ut1 = sTime; uv1 = l; if um1 == 0 Then { utx1 = Text_New(ud1,ut1,uv1+PriceScale*10,"★"); Text_SetColor(utx1,RgB(255,0,255) ) ; Text_SetStyle(utx1,2,0); Text_SetSize(utx1,40) ; ##PlaySound("C:KiwoomHero4soundsound1.wav"); } Else { Text_SetLocation(utx1,ud1,ut1,uv1+PriceScale*10); if um1 > um2 Then { if um2 == 0 Then { utx2 = Text_New(ud1[1],ut1[1],uv1[1]+PriceScale*10,"★"); Text_SetColor(utx2,RgB(255,0,255) ) ; Text_SetStyle(utx2,2,0); Text_SetSize(utx2,40) ; ## PlaySound("C:KiwoomHero4soundsound1.wav"); } Else { Text_SetLocation(utx2,ud1[1],ut1[1],uv1[1]+PriceScale*10); } um2 = um1; } } um1 = DMiv-dm; } Else { if DMiv-dm > um2 Then { if um2 == 0 Then { utx2 = Text_New(sDate,sTime,uv1+PriceScale*10,"★"); Text_SetColor(utx2,RgB(255,0,255) ) ; Text_SetStyle(utx2,2,0); Text_SetSize(utx2,40) ; ## PlaySound("C:KiwoomHero4soundsound1.wav"); } Else { Text_SetLocation(utx2,sDate,sTime,l+PriceScale*10); } um2 = DMiv-dm; } Else PlaySound("C:KiwoomHero4soundsound11.wav"); } } } 죄송합니다. 수고 하십시요.
프로필 이미지
요타
2024-11-14
539
글번호 185248
지표
답변완료

지표

볼린저밴드 3개을표현하고싶습니다 1,이평20일 상단 하단 2,이평12일 상단 하단 3,이평8일 상단 하단 수고하세요
프로필 이미지
용각산
2024-11-14
494
글번호 185247
지표
답변완료

수고하십니다

항상 노고에 감사드립니다 변환 부탁드립니다 타임이 불가능하면 선과신호만 부탁드립니다 indicator("Zero Lag Trend Signals (MTF) [AlgoAlpha]", shorttitle="AlgoAlpha - 0️⃣Zero Lag Signals", overlay=true) length = input.int(70, "Length", tooltip = "The Look-Back window for the Zero-Lag EMA calculations", group = "Main Calculations") mult = input.float(1.2, "Band Multiplier", tooltip = "This value controls the thickness of the bands, a larger value makes the indicato less noisy", group = "Main Calculations") t1 = input.timeframe("5", "Time frame 1", group = "Extra Timeframes") t2 = input.timeframe("15", "Time frame 2", group = "Extra Timeframes") t3 = input.timeframe("60", "Time frame 3", group = "Extra Timeframes") t4 = input.timeframe("240", "Time frame 4", group = "Extra Timeframes") t5 = input.timeframe("1D", "Time frame 5", group = "Extra Timeframes") green = input.color(#00ffbb, "Bullish Color", group = "Appearance") red = input.color(#ff1100, "Bearish Color", group = "Appearance") src = close lag = math.floor((length - 1) / 2) zlema = ta.ema(src + (src - src[lag]), length) volatility = ta.highest(ta.atr(length), length*3) * mult var trend = 0 if ta.crossover(close, zlema+volatility) trend := 1 if ta.crossunder(close, zlema-volatility) trend := -1 zlemaColor = trend == 1 ? color.new(green, 70) : color.new(red, 70) m = plot(zlema, title="Zero Lag Basis", linewidth=2, color=zlemaColor) upper = plot(trend == -1 ? zlema+volatility : na, style = plot.style_linebr, color = color.new(red, 90), title = "Upper Deviation Band") lower = plot(trend == 1 ? zlema-volatility : na, style = plot.style_linebr, color = color.new(green, 90), title = "Lower Deviation Band") fill(m, upper, (open + close) / 2, zlema+volatility, color.new(red, 90), color.new(red, 70)) fill(m, lower, (open + close) / 2, zlema-volatility, color.new(green, 90), color.new(green, 70)) plotshape(ta.crossunder(trend, 0) ? zlema+volatility : na, "Bearish Trend", shape.labeldown, location.absolute, red, text = "▼", textcolor = chart.fg_color, size = size.small) plotshape(ta.crossover(trend, 0) ? zlema-volatility : na, "Bullish Trend", shape.labelup, location.absolute, green, text = "▲", textcolor = chart.fg_color, size = size.small) plotchar(ta.crossover(close, zlema) and trend == 1 and trend[1] == 1 ? zlema-volatility*1.5 : na, "Bullish Entry", "▲", location.absolute, green, size = size.tiny) plotchar(ta.crossunder(close, zlema) and trend == -1 and trend[1] == -1 ? zlema+volatility*1.5 : na, "Bearish Entry", "▼", location.absolute, red, size = size.tiny) s1 = request.security(syminfo.tickerid, t1, trend) s2 = request.security(syminfo.tickerid, t2, trend) s3 = request.security(syminfo.tickerid, t3, trend) s4 = request.security(syminfo.tickerid, t4, trend) s5 = request.security(syminfo.tickerid, t5, trend) s1a = s1 == 1 ? "Bullish" : "Bearish" s2a = s2 == 1 ? "Bullish" : "Bearish" s3a = s3 == 1 ? "Bullish" : "Bearish" s4a = s4 == 1 ? "Bullish" : "Bearish" s5a = s5 == 1 ? "Bullish" : "Bearish" if barstate.islast var data_table = table.new(position=position.top_right, columns=2, rows=6, bgcolor=chart.bg_color, border_width=1, border_color=chart.fg_color, frame_color=chart.fg_color, frame_width=1) table.cell(data_table, text_halign=text.align_center, column=0, row=0, text="Time Frame", text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=0, text="Signal", text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=0, row=1, text=t1, text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=1, text=s1a, text_color=chart.fg_color, bgcolor=s1a == "Bullish" ? color.new(green, 70) : color.new(red, 70)) table.cell(data_table, text_halign=text.align_center, column=0, row=2, text=t2, text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=2, text=s2a, text_color=chart.fg_color, bgcolor=s2a == "Bullish" ? color.new(green, 70) : color.new(red, 70)) table.cell(data_table, text_halign=text.align_center, column=0, row=3, text=t3, text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=3, text=s3a, text_color=chart.fg_color, bgcolor=s3a == "Bullish" ? color.new(green, 70) : color.new(red, 70)) table.cell(data_table, text_halign=text.align_center, column=0, row=4, text=t4, text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=4, text=s4a, text_color=chart.fg_color, bgcolor=s4a == "Bullish" ? color.new(green, 70) : color.new(red, 70)) table.cell(data_table, text_halign=text.align_center, column=0, row=5, text=t5, text_color=chart.fg_color) table.cell(data_table, text_halign=text.align_center, column=1, row=5, text=s5a, text_color=chart.fg_color, bgcolor=s5a == "Bullish" ? color.new(green, 70) : color.new(red, 70)) /////////////////////////////////////////ALERTS alertcondition(ta.crossover(trend, 0), "Bullish Trend") alertcondition(ta.crossunder(trend, 0), "Bearish Trend") alertcondition(ta.cross(trend, 0), "(Bullish or Bearish) Trend") alertcondition(ta.crossover(s1, 0), "Bullish Trend Time Frame 1") alertcondition(ta.crossunder(s1, 0), "Bearish Trend Time Frame 1") alertcondition(ta.cross(s1, 0), "(Bullish or Bearish) Trend Time Frame 1") alertcondition(ta.crossover(s2, 0), "Bullish Trend Time Frame 2") alertcondition(ta.crossunder(s2, 0), "Bearish Trend Time Frame 2") alertcondition(ta.cross(s2, 0), "(Bullish or Bearish) Trend Time Frame 2") alertcondition(ta.crossover(s3, 0), "Bullish Trend Time Frame 3") alertcondition(ta.crossunder(s3, 0), "Bearish Trend Time Frame 3") alertcondition(ta.cross(s3, 0), "(Bullish or Bearish) Trend Time Frame 3") alertcondition(ta.crossover(s4, 0), "Bullish Trend Time Frame 4") alertcondition(ta.crossunder(s4, 0), "Bearish Trend Time Frame 4") alertcondition(ta.cross(s4, 0), "(Bullish or Bearish) Trend Time Frame 4") alertcondition(ta.crossover(s5, 0), "Bullish Trend Time Frame 5") alertcondition(ta.crossunder(s5, 0), "Bearish Trend Time Frame 5") alertcondition(ta.cross(s5, 0), "(Bullish or Bearish) Trend Time Frame 5")
프로필 이미지
비듬싸순
2024-11-14
863
글번호 185246
지표
답변완료

수식요청

일봉에서 아래와 같이 MACD가 급등하는 종목을 검색하고 싶습니다. 변환 요청드립니다. C [일]1봉전 MACD(12,26) 0선 이하 D [일]1봉전 MACD(12,26,9) Signal 0선 이하 E [일]1봉전 MACD Osc(12,26,9) 0선 이하 F [일]0봉전 MACD Osc(12,26,9) 0선 이상 G [일]0봉전 MACD(12,26,9)가 Signal선 상향돌파 H [일]0봉전 RSI(20) 60 이상 I [일]1봉전 RSI(20) 59.9 이하 C and D and E and F and G and H and I
프로필 이미지
ksks
2024-11-14
657
글번호 185245
종목검색
답변완료

키움수식을 파워종목 검색식 부탁드립니다

PRICE CHANNEL 상한돌파 A=highest(H, 26, 1); B=PREDAYHIGH() - PREDAYLOW(); B1=DAYOPEN()+B*0.5; CROSSUP(C,A) AND C>=B1 종목 검색식 수식 부탁드립니다
프로필 이미지
foxdie08
2024-11-13
574
글번호 185244
종목검색
답변완료

시스템 수식변환 요청드립니다.

안녕하세요. 트레이딩뷰에서 'Squeeze Momentum Indicator' (https://kr.tradingview.com/v/nqQ1DT5a/)를 예스랭귀지 시스템 수식으로 변환부탁드립니다. 비트코인 거래위한 매수시점은 위 사진의 회색선이 연두색 막대그래프와 만나는 지점으로 하고, 청산시점(매도)은 연두색 막대그래프가 검은색 선과 만나는 지점으로 하는 수식으로 해주세요. 아래는 수식입니다. // // @author LazyBear // List of all my indicators: https://www.tradingview.com/v/4IneGo8h/ // study(shorttitle = "SQZMOM_LB", title="Squeeze Momentum Indicator [LazyBear]", overlay=false) length = input(20, title="BB Length") mult = input(2.0,title="BB MultFactor") lengthKC=input(20, title="KC Length") multKC = input(1.5, title="KC MultFactor") useTrueRange = input(true, title="Use TrueRange (KC)", type=bool) // Calculate BB source = close basis = sma(source, length) dev = multKC * stdev(source, length) upperBB = basis + dev lowerBB = basis - dev // Calculate KC ma = sma(source, lengthKC) range = useTrueRange ? tr : (high - low) rangema = sma(range, lengthKC) upperKC = ma + rangema * multKC lowerKC = ma - rangema * multKC sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC) sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC) noSqz = (sqzOn == false) and (sqzOff == false) val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),sma(close,lengthKC)), lengthKC,0) bcolor = iff( val > 0, iff( val > nz(val[1]), lime, green), iff( val < nz(val[1]), red, maroon)) scolor = noSqz ? blue : sqzOn ? black : gray plot(val, color=bcolor, style=histogram, linewidth=4) plot(0, color=scolor, style=cross, linewidth=2)
프로필 이미지
안산개미
2024-11-13
916
글번호 185243
시스템
답변완료

부탁드립니다

(30분봉종가(2)-30분봉시가(1)+2*30분봉시가(0))/2 를 1분봉 챠트에 지표로 나타내고 싶습니다 아래 로직으로는 다르게 나타나는 것 같습니다 input : 분(30); var : S1(0),D1(0),TM(0),TF(0),cnt(0),Result(0); Array : HH[50](0),LL[50](0),OO[50](0), cc[50](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TimeToMinutes(stime)%분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 분 > 1 and TM >= TM[1]+분) or (Bdate == Bdate[1] and 분 == 1 and TM > TM[1]) Then { for cnt = 49 downto 1 { OO[cnt] = OO[cnt-1]; HH[cnt] = HH[cnt-1]; LL[cnt] = LL[cnt-1]; cc[cnt] = cc[cnt-1]; } OO[0] = O; HH[0] = H; LL[0] = L; cc[0] = C; } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; // 추가: 공식을 계산하여 플롯 if cc[2] > 0 and OO[1] > 0 Then { value1 = (cc[2] - OO[1] + 2 * OO[0]) / 2; } }
프로필 이미지
땡열이
2024-11-14
639
글번호 185242
지표
답변완료

질문 드립니다.

안녕하세요! 오늘도 질문드립니다. 아래는 일전에 예스스탁에서 질문에 대한 답으로 써주셨던 구문 중 일부입니다.(https://www.yesstock.com/Board/View.asp?db=board100036&Ext=0&startpage=1&pageno=1&num=185283&ref=185261&Sort=&KeyField=Content&KeyWord=%BE%C6%C4%A7%BD%C4&SystemName=) 다름이 아니라, 독해를 해보던 중, 첫번째줄부터 헷갈려서 글을 씁니다. 첫번째 줄의 "if (sdate != sdate[1] and stime >= StartTime1)"는 분봉기준으로 날짜가 넘어갔음을 의미하는 한편(sdate != sdate[1]), 현재 시간이 특정 시간을 넘어섰는지 확인하는 부분입니다. 이해가 가지 않는 점은, 분봉기준에서 날짜가 넘어갔다면 다음날의 09시 00분일텐데, 외부변수인 StartTime1(140000)보다 현재시간이 큰지를 확인하는 목적입니다. 두 조건이 'or' 조건으로 묶여있다면 의미가 있겠지만 'and'조건이라면 해당 부분의 의미자체가 없지 않나 싶어서요. 혹시 해당 구문의 의미를 알려주실 수 있으실까요..? 매번 답답한 질문만하여 정말 죄송합니다...... - 아 래 - 1)input : StartTime1(140000),EndTime1(150000); input : StartTime2(90000),EndTime2(120000); var : Tcond1(False),Tcond2(False); var : HH1(0),preHH1(0),HH2(0); if (sdate != sdate[1] and stime >= StartTime1) or (sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1) Then .... 이하생략
프로필 이미지
아침식사됩니다
2024-11-13
608
글번호 185241
종목검색
답변완료

문의 드립니다

편집기 input에서 셋팅 값을 변경하면 시스템 트레이딩 설정 창의 변수 값이 당초 셋팅 값이 그대로 있습니다 편집기에서 셋팅 값을 저장하고 변경하면 시스템트레이딩 설정 창이 자동으로 변경하는 방법을 알려주세요 즉 편집기 셋팅 값 정장 변경하면 편집기 셋팅 값이 동일하게 하는 방법이 따로 있나요. 감사합니다.
프로필 이미지
남산
2024-11-13
720
글번호 185240
시스템