커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

전환추세 표시 간격

Input : 전환(0.1); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""),TL(0),TL1(0),TX1(0),TX2(0); Array:고[10,4](0),저[10,4](0); HH = H; LL = L; If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1]+전환 <= HH and hiBar == 0; Condition2 = 고[1,1]-전환 >= LL and loBar == 0; 처리구분 = ""; If Condition1 and Condition2 Then { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL,1); TL_SetColor(TL,Red); if max(저[1,1],저[2,1],저[3,1]) <= min(저[1,1],저[2,1],저[3,1])+PriceScale*1 and 저[1,1]<= highest(H,1000)-0.8 and 저[1,1]<= lowest(L,500)+0.1 Then { tx2 = Text_New(저[1,3],저[1,4],저[1,1]-0.15,"●"); Text_SetStyle(tx2,2,2); Text_SetColor(tx2,Black); Text_SetSize(tx2,13); } } Else If 고[1,1] < HH[hiBar] Then { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL,고[1,3],고[1,4],고[1,1]); } 최종꼭지점 = "고점"; } If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL,1); TL_SetColor(TL,Green); if max(고[1,1],고[2,1],고[3,1]) <= min(고[1,1],고[2,1],고[3,1])+PriceScale*1 and 고[1,1] >= lowest(L,600)+0.8 and 고[1,1] >= highest(H,300)-0.1 Then { tx2 = Text_New(고[1,3],고[1,4],고[1,1]+0.15,"●"); Text_SetStyle(tx2,2,2); Text_SetColor(tx2,Black); Text_SetSize(tx2,13); } } Else If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL,저[1,3],저[1,4],저[1,1]); } 최종꼭지점 = "저점"; Plot2(저[1,1]); NoPlot(1); } 쓰리바닥의(동그라미) 첫 표시가 되면, 다음 동그라미 표시는 무시하다가 50봉 이후에 조건 만족시 표시. (쓰리바닥 표시 간격 최소 50봉, 쓰리봉은 그대로 모두 표시) 감사합니다
프로필 이미지
고성
2024-12-30
571
글번호 186731
지표
답변완료

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

MO=floor(date/100); MO1=MO%100; A=VALUEWHEN(1, MO1!=MO1(1),O); A1=eavg(c,130); Crossup(C,A) AND C>=A1
프로필 이미지
foxdie08
2024-12-30
687
글번호 186729
종목검색
답변완료

지표 질문입니다

1. 볼린저 밴드 상단 밴드-볼린저 밴드 하단 밴드=A A의 당일 최대치= B 볼린저 밴드 상단 밴드 당일 천정+B 를 그린다 볼린저 밴드 하단 밴드 당일 바닥-B 를 그린다 2. 볼린저 밴드 상단 밴드-볼린저 밴드 하단 밴드=A A의 20 캔들 최대치= B 볼린저 밴드 상단 밴드 20 캔들 천정+B 를 그린다 볼린저 밴드 상단 밴드 20 캔들 천정-B 를 그린다 볼린저 밴드 하단 밴드 20 캔들 바닥-B 를 그린다 볼린저 밴드 하단 밴드 20 캔들 바닥+B 를 그린다 감사합니다
프로필 이미지
para
2024-12-30
554
글번호 186724
지표
답변완료

수식요청

안녕하세요 늘 도움 감사합니다 다음의 조건으로 수식을 부탁드립니다 어떤 분 봉 이든지 가장 최근 봉 에서 양 봉은 (시가) 와 음 봉의 (고가) 에 만 수평선 과 가격이 표시 되도록 수식을 만들어 주시길 부탁드립니다.
프로필 이미지
알리섬
2024-12-30
621
글번호 186723
지표
답변완료

수식문의 드립니다.

문의 드립니다. -아래에서 1.조건을 1번 2번으로 나누어서 진입횟수가 5회까지는 1번조건 금액1만매수 2. 5~10회 까지는 2번조건 금액3만매수 3. 10회 이후는 3번조건으로 금액 5만매수 20회 이내에 매수후 토탈 평균가 a% 이상일때 일괄 시장가 매도수식도 가능할까요? 자꾸 질문드려서 죄송합니다. 잘 부탁드려요. ==올 한해 마무리 잘 하시고 새해 복 마니마니 받으세요! ~~^^== -아래 Input : Period1(50),Period2(9),period(30),n(30),진입횟수1(5),진입횟수2(10), 진입회수3(20),금액1(0000),금액2(0000),금액3(0000), percent(2); var :af(0.02), maxAF(0.2),f(0), CCIv(0),CCIsig(0),a(0),b(0),DMIv(0),dp(0),dm(0),DParity(0),DParity1(0),count(0); CCIv = CCI(Period1); CCIsig = ema(CCIv,Period2); var1 = SAR(af,maxAF); a=ma(c,120); b=ma(c,5); f=highest(h,2); value1 = MACD(12,26); value2 = ema(value1, 9); DMIv = DMI(Period); DP = DIPlus(Period); DM = DIMinus(Period); DParity = Disparity(120); DParity1 = Disparity(240); if CrossDown(CCIv,100) and CountIf(CCIV > 100,n) >= 1 Then { count = 0; } 1번조건 if cciv<100 and CrossUp(CCIv,CCIsig) Then { count = count+1; if count < 1.진입횟수*금액1 Then Buy("b"); } 2번 조건 if cciv<100 and CrossUp(CCIv,CCIsig) Then { count = count+1; if count < 2.진입횟수*금액2 Then Buy("b"); } 3번 조건 if cciv<100 and CrossUp(CCIv,CCIsig) Then { count = count+1; if count < 3.진입횟수*금액3 Then Buy("b"); } if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,AvgEntryPrice*(1+percent/100)); }
프로필 이미지
정도령7
2024-12-30
633
글번호 186720
시스템
답변완료

질문 드리겠습니다

안녕하세요 몇 가지 질문 좀 부탁드리겠습니다 1. 아래 수식은 현재 만족봉과 이전 만족봉 사이의 평균 구하는 식인데요 var: cnt(0), sum1(0), sumi(0); if h>l*1.05 Then { TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); var1= Index; Var2=Index[1]; sum1=0; sumi=0; For cnt = 1 to (var1-Var2)-1 { sum1=sum1+h[cnt]; sumi=sumi+1; } value1=sum1/sumi; Plot11(value1); } For cnt = 1 to (var1-Var2)-1 이 부분에 따르면 현재 만족봉과 이전만족봉은 포함시키지 않고 평균을 구하는건데 둘 사이에 봉이 없을 경우 0이 출력 되는거죠?. 그리고 만약에 현재 만족봉까지 포함 시키려면 for cnt=0 to (var1-var2)-1 이라고 작성하면 되고 현재봉과 이전봉 모두 포함하려면 for cnt=0 to (var1-var2) 이렇게 작성하는게 맞는지 궁금합니다 2. 수식을 부탁드립니다 아래 평균구하는 수식에서 변형을 하려고 하는데요 (현재봉 , 이전봉 둘다 포함시키려고 for 문에는 0 to (var1-var2) 로 해놨습니다, 틀렸으면 고쳐주세요) 만일 조건만족봉 사이 간격이 5봉 미만이라면 평균을 일단 구하지 않고, 새로운 만족봉이 나왔을때 간격이 5봉 이상이라면 모든 봉들을 이용해서 평균을 구하고 싶습니다 예를들어 a2,a1,a0 가 조건 만족했을때의 봉이라고 했을때 a2 와 a1 사이가 3봉이고 (조건만족봉 a2,a1 까지 포함해서 3개) 새로운 조건봉 a0 가 나타났을때 a1와 a0 사이가 10개봉 (a1,a0 까지 포함해서 10개)이라면 3봉+10봉 해서 13개봉의 평균을 구하고 싶습니다 var: cnt(0), sum1(0), sumi(0); if h>l*1.05 Then { TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); var1= Index; Var2=Index[1]; sum1=0; sumi=0; For cnt = 0 to (var1-Var2) { sum1=sum1+h[cnt]; sumi=sumi+1; } value1=sum1/sumi; Plot11(value1); } 3. 아래식을 작성해봤는데 맞는건지 한번 확인해주심 감사하겠습니다 원하는 조건: 만약 aa[2] > aa[1] and aa[1] < aa[0] 이라는 조건이 만족하면, aa[3]가 시작한 시점부터 aa[0]까지의 모든 봉의 평균을 구하고 싶습니다 var: cnt(0), sum1(0), sumi(0),period(0),sumsqrt(0),stdv(0),stand(0); var : sum2(0),sumi2(0),avg2(0); array: aa[50](0); if h>l*1.06 Then { TL_NEW(sDatE,sTimE,h*1.15,sDatE,sTimE,99999); var1= Index; Var2=Index[1]; sum1=0; sumi=0; For cnt = 0 to (var1-Var2) { sum1=sum1+h[cnt]; sumi=sumi+1; } value1=sum1/sumi; value12= ma(h,20); For cnt = 50 DownTo 1 { aa[cnt]=aa[cnt-1]; } aa[0]= value1; if aa[2] > aa[1] and aa[1] < aa[0] Then { Var3=Index; Var4=Index[3]; sum2=0; sumi2=0; For cnt = 0 to (var3-Var4) { sum2=sum2+h[cnt]; sumi2=sumi2+1; } avg2=sum2/sumi2; } Plot16(avg2,"aa",Orange,Def,1); }
프로필 이미지
yamu
2024-12-30
543
글번호 186719
지표
답변완료

검색식 부탁드립니다.

안녕하세요? 다음수식을 검색식으로 변환 부탁드립니다.. 항상 답변해주셔서 감사합니다.. ------------------------------------ 1번 a=avg(c,5); b=avg(c,20); d=avg(c,60); D1=(A+B+D)/3; A1=(highest(high,9)+lowest(low,9))/2; B1=(highest(high,26)+lowest(low,26))/2; B2=(A1+B1)/2; A3=RSI(9)-50; B3=CMO(12)*0.5; B4=A3+B3; B5=eavg(C,120); crossup(D1,B5) or crossup(B2,B5)) ------------- 2번 A = daylow()+(dayhigh()-daylow())/2; CrossUp(C,A) AND CrossUp(c,BBandsUp(20,2))
프로필 이미지
오말리
2024-12-30
631
글번호 186718
종목검색
답변완료

예스랭귀지 수식 요청합니다

<1번> R=RSI(14)>50 S=(highest(high,52)+lowest(low,52)); D=valuewhen(1,R,S); Z=crossup(C,D) && dayhigh()>daylow(); cnt=countsince(date!=date(1),Z); cnt==1 && cnt(1)==0 <2번> A=(highest(high,20)-lowest(low,20)); B=highest(high,20)-(A*0.2); C>B <3번> S=EAVG(C,5); L=EAVG(C,20); X=crossup(S,L) <4번> X = BBandsup(20,2); Y = MA(C,20,단순); IF CROSSUP(C, X),D,0) && CROSSUP(C, Y) <5번> R=RSI(14); E=EAVG(RSI(14),9); D=Crossup(R, E); sum(if(D, 1, 0), 10) >= 1 안녕하세요 위의 키움수식들을 예스랭귀지 변환 가능할까요? 감사합니다
프로필 이미지
당근인생
2024-12-29
600
글번호 186717
종목검색
답변완료

TradingView 지표인데 예스트레이더 형식으로 바꾸어 주시면...

Box가 나오니 어렵네요. 변환이 가능허면 부탁드릴께요. 미리 감사드립니다. //@version=6 // ★★★ Range Detector [LuxAlgo] ★★★ indicator('Range Detector [LuxAlgo]', '@Range Detector - LuxAlgo', overlay = true, max_boxes_count = 500, max_lines_count = 500) //------------------------------------------------------------------------------ //Settings //-----------------------------------------------------------------------------{ length = input.int(20, 'Minimum Range Length', minval = 2) mult = input.float(1., 'Range Width', minval = 0, step = 0.1) atrLen = input.int(500, 'ATR Length', minval = 1) //Style upCss = input(color.fuchsia, 'Broken Upward', group = 'Style') dnCss = input(color.teal, 'Broken Downward', group = 'Style') unbrokenCss = input(#5079f3, 'Unbroken', group = 'Style') //-----------------------------------------------------------------------------} //Detect and highlight ranges //-----------------------------------------------------------------------------{ //Ranges drawings var box bx = na var line lvl = na //Extensions var float max = na var float min = na var os = 0 color detect_css = na n = bar_index atr = ta.atr(atrLen) * mult ma = ta.sma(close, length) count = 0 for i = 0 to length - 1 by 1 count := count + (math.abs(close[i] - ma) > atr ? 1 : 0) count if count == 0 and count[1] != count //Test for overlap and change coordinates if n[length] <= bx.get_right() max := math.max(ma + atr, bx.get_top()) min := math.min(ma - atr, bx.get_bottom()) //Box new coordinates bx.set_top(max) bx.set_rightbottom(n, min) bx.set_bgcolor(color.new(unbrokenCss, 80)) //Line new coordinates avg = math.avg(max, min) lvl.set_y1(avg) lvl.set_xy2(n, avg) lvl.set_color(unbrokenCss) else max := ma + atr min := ma - atr //Set new box and level bx := box.new(n[length], ma + atr, n, ma - atr, na, bgcolor = color.new(unbrokenCss, 80)) lvl := line.new(n[length], ma, n, ma, color = unbrokenCss, style = line.style_dotted) detect_css := color.new(color.gray, 50) os := 0 os else if count == 0 bx.set_right(n) lvl.set_x2(n) //Set color if close > bx.get_top() bx.set_bgcolor(color.new(upCss, 80)) lvl.set_color(upCss) os := 1 os else if close < bx.get_bottom() bx.set_bgcolor(color.new(dnCss, 80)) lvl.set_color(dnCss) os := -1 os //-----------------------------------------------------------------------------} //Plots //-----------------------------------------------------------------------------{ //Range detection bgcolor bgcolor(detect_css) plot(max, 'Range Top', max != max[1] ? na : os == 0 ? unbrokenCss : os == 1 ? upCss : dnCss, 2) plot(min, 'Range Bottom', min != min[1] ? na : os == 0 ? unbrokenCss : os == 1 ? upCss : dnCss, 2) //-----------------------------------------------------------------------------} // my add longCond = ta.crossover(close, max) shortCond = ta.crossunder(close, min) //plot(longCond ? max : na, color=color.yellow, style = plot.style_cross, linewidth = 4, title="Cross+") //plot(shortCond ? min : na, color=color.yellow, style = plot.style_cross, linewidth = 4, title="Cross-") plotchar(longCond ? max : na, 'cross Up ↑', '△', location.absolute, #ffff00, size = size.small) plotchar(shortCond ? min : na, 'cross Dn ↓', '▽', location.absolute, #ffff00, size = size.small)
프로필 이미지
고도산
2024-12-29
680
글번호 186716
지표
답변완료

수식작성 부탁드립니다.

안녕하세요. 운영자님 구현하고자 하는 시스템 수식은, 매수조건 : 주가가 시가보다 아래에서 머물다가 일봉상 시가 또는 30분봉상 이전 직전봉 종가를 상향돌파시 매수진입하고, 손절 30틱, 익절 30틱 매도조건 : 주가가 시가보다 위에서 머물다가 일봉상 시가 또는 30분봉상 이전 직전봉 종가를 하향돌파시 매도진입하고, 손절 30틱, 익절 30틱 새해 복 많이 받으세요..
프로필 이미지
고박사122
2024-12-29
576
글번호 186715
시스템