커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식전환

수고하십니다 아래수식을 예스수식으로 변혼부탁드립니다 a=avg(c,120); ㄱ=valuewhen(1,crossup(c,a)&&o<c,H); ㄴ=valuewhen(1,crossup(c,a)&&o<c,a); ㄱ+(ㄱ-ㄴ) a=avg(c,120); ㄱ=valuewhen(1,crossup(c,a)&&o<c,H); ㄴ=valuewhen(1,crossup(c,a)&&o<c,a); ㄱ+(ㄱ-ㄴ)*2
프로필 이미지
트라이
2025-07-13
210
글번호 192462
지표
답변완료

부탁드립니다.

도움에 감사 드립니다. 아래의 즉 일자가 바뀌면 새로 계산하는것을 주(week)가 바뀌면 새로 계산 하는것으로 수정 부탁 드립니다. 미리 감사 드립니다. If bdate != bdate[1] Then //break on session에 해당, 즉 일자가 바뀌면 새로 계산 { 수식) input:renkoSize(0.5),length(10), NumATRs(1.5); var:j(0),k(0),renkoCnt(0),gubun(0),Sum(0),mav(0); array:OO[50](0),HH[50](0),LL[50](0),CC[50](0); //이평선 If bdate != bdate[1] Then //break on session에 해당, 즉 일자가 바뀌면 새로 계산 { gubun = 0; //방향을 초기화한다. 이후 형성되는 가격에 의해 방향이 계산 For j = 49 DownTo 1 //금일 시가봉을 신규 추가 { OO[j] = OO[j-1]; HH[j] = HH[j-1]; LL[j] = LL[j-1]; CC[j] = CC[j-1]; } OO[0] = C; //분봉의 종가를 기반으로 계산하기 때문에 당일 시초가 아니다 HH[0] = C; LL[0] = C; CC[0] = C; } Else { If gubun == 0 and CC[0] > 0 Then //일 첫봉이 완성되지 않은 시점 { If OO[0] - renkoSize >= C Then { gubun = -1; //하락 방향 CC[0] = OO[0] - renkoSize; //음봉 HH[0] = OO[0]; LL[0] = CC[0]; j = 0; } Else If OO[0] + renkoSize <= C Then { gubun = 1; //상승 방향 CC[0] = OO[0] + renkoSize; //양봉 HH[0] = CC[0]; LL[0] = OO[0]; j = 0; } } If LL[0] - renkoSize >= C Then { gubun = -1; renkoCnt = Int(Round((LL[0]-C)/renkoSize,9)); if renkoCnt > 49 then renkoCnt = 49; For j = 49 DownTo renkoCnt { OO[j] = OO[j-renkoCnt]; HH[j] = HH[j-renkoCnt]; LL[j] = LL[j-renkoCnt]; CC[j] = CC[j-renkoCnt]; } For j = renkoCnt-1 DownTo 0 { OO[j] = LL[j+1]; CC[j] = LL[j+1] - renkoSize; HH[j] = OO[j]; LL[j] = CC[j]; } } Else If HH[0] + renkoSize <= C Then { gubun = 1; renkoCnt = Int(Round((C-HH[0])/renkoSize,9)); if renkoCnt > 49 then renkoCnt = 49; For j = 49 DownTo renkoCnt { OO[j] = OO[j-renkoCnt]; HH[j] = HH[j-renkoCnt]; LL[j] = LL[j-renkoCnt]; CC[j] = CC[j-renkoCnt]; } For j = renkoCnt-1 DownTo 0 { OO[j] = HH[j+1]; CC[j] = HH[j+1] + renkoSize; HH[j] = CC[j]; LL[j] = OO[j]; } } Else If (sdate != sdate[1] and nextbarStime >= 070000) or (sdate == sdate[1] and nextbarStime >= 070000 and stime < 070000) Then { //당일 종가봉에서 For j = 49 DownTo 1 { OO[j] = OO[j-1]; HH[j] = HH[j-1]; LL[j] = LL[j-1]; CC[j] = CC[j-1]; } If LL[1] > C Then { //종가가 이전 봉보다 아래 형성 OO[0] = LL[1]; CC[0] = C; HH[0] = OO[0]; LL[0] = CC[0]; } Else If HH[1] < C Then { //종가가 이전 봉보다 위에 형성 OO[0] = HH[1]; CC[0] = C; HH[0] = CC[0]; LL[0] = OO[0]; } Else { //종가가 이전 봉의 중간에 형성 OO[0] = C; CC[0] = C; HH[0] = C; LL[0] = C; } j = 0; //채널 값을 새로이 계산 } } if CC[length] > 0 then { sum = 0 ; for j = 0 to length - 1 { sum = sum + CC[j]; } mav = sum/length; plot5(maV,"MidLine"); }
프로필 이미지
yes
2025-07-13
189
글번호 192461
지표
답변완료

OpenPositionProfit

수고하십니다. OpenPositionProfit은 원화인가요? 포인트인가요? 원화로 생각하고 계산하니..자꾸 오작동해서요. 포인트로 생각하니 정상 작동하고.. 포인트 값인가요?
프로필 이미지
상수리나무
2025-07-12
168
글번호 192460
시스템
답변완료

문의드립니다

if data1(sTime >= StartTime) Then { if D1 > D2 Then Buy("b"); if D1 < D2 Then ExitLong("bx"); } SetStopEndofday(150000); ---------------------- 위식에서 3시 이후에는 신호가 안나오게 하려면 뭘 추가해줘야 하나요? 당일청산 3시에 했는데도 신호요건이 충족되면 또 신호가 나옵니다 감사합니다
프로필 이미지
러블리
2025-07-12
164
글번호 192459
시스템
답변완료

문의

늘 감사 드립니다 아래 수식에서 당일최고와 당일중심, 당일최저 3등분선을 5등분으로 만들고 싶습니다. 최고와 중심선 사이에 2/1선을 넣고 중심선과 최저 사이에 또 2/1선을 넣을 수 있게 중심선을 기준으로 위로 2칸, 아래로 2칸 부탁드립니다. 감사합니다. Input : Period(1); Var : value(0); value = ma(bids,period)-ma(asks,period);#호가잔량이동평균오실레이터 if date != date[1] Then{ value1 = value; value2 = value; } if value > value1 Then value1 = value; if value < value2 Then value2 = value; If value > value[35] Then Plot1(value, "호가잔량이평오실레이터",RED); Else Plot1(value, "호가잔량이평오실레이터",BLUE); plot2(value1,"당일최고"); plot3(value2,"당일최저"); plot4((value1+value2)/2,"당일중심"); PlotBaseLine1(0,"기준선");
프로필 이미지
타이밍승부사
2025-07-12
174
글번호 192458
지표
답변완료

예스종목검색으로 요청합니다..

요즘 많이 더운데 수고가 많으세요... ((종목 검색 조건)) 200일 신저가 발생하고 일목균형표 음운구름대 관통하는 장대양봉 캔들을 찾고 싶어요... 부탁드립니다...
프로필 이미지
서민순
2025-07-12
170
글번호 192457
종목검색
답변완료

부틱드립니다

수고하심니다 아래수식을 예스로 부탁드립니다 // This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ // &#169;LuxAlgo //@version=5 indicator("Inversion Fair Value Gaps (IFVG) [LuxAlgo]", "LuxAlgo - Inversion Fair Value Gaps (IFVG)", overlay = true, max_boxes_count = 500, max_lines_count = 500, max_labels_count = 500) //---------------------------------------------------------------------------------------------------------------------} //Settings //---------------------------------------------------------------------------------------------------------------------{ disp_num = input.int(5, maxval = 100, minval = 1, title = "Show Last", tooltip = "Specifies the amount of most recent inversion FVG to display in Bullish/Bearish pairs, starting at the current and looking back.") signal_pref = input.string("Close", title = "Signal Preference", options = ["Close","Wick"], tooltip = "Choose to send signals based on Wicks or Close Price.") wt = signal_pref == "Wick" atr_multi = input.float(0.25, step = 0.25,minval = 0, title = "ATR Multiplier", tooltip = "Filters FVGs based on ATR Width, Only displays Inversions that are Greater-Than the ATR*Multiplier.") //Colors green = input.color(color.new(#089981, 80), title = "Bull Color", group = "Colors") red = input.color(color.new(#f23645, 80), title = "Bear Color", group = "Colors") gray = input.color(#787b86, title = "Midline Color", group = "Colors") invis = color.rgb(0,0,0,100) //---------------------------------------------------------------------------------------------------------------------} //UDT's //---------------------------------------------------------------------------------------------------------------------{ type lab //Contains Necessary Label Data to Send to Label Function int x float y int dir type fvg //Contains Necessary FVG Data to Send to Chart. int left = na float top = na int right = na float bot = na float mid = na int dir = na int state = na array<lab> labs = na int x_val = na //---------------------------------------------------------------------------------------------------------------------} //Functions //---------------------------------------------------------------------------------------------------------------------{ //Basic Calcs buffer = 100 //How many FVGs to keep in memory. c_top = math.max(open,close) c_bot = math.min(open,close) label_maker(_x,_y,_dir) => //Used for making Labels switch _dir == 1 => label.new(_x,_y,"₩n▲", style = label.style_text_outline, color = invis, textcolor = color.new(green,0), size = size.small, xloc = xloc.bar_time) _dir == -1 => label.new(_x,_y, "▼₩n", style = label.style_text_outline, color = invis, textcolor = color.new(red,0), size = size.small, xloc = xloc.bar_time) fvg_manage(_ary,_inv_ary) => //First step filtering of FVG data, Not all FVGs will be displayed, only inversions. if _ary.size() >= buffer _ary.shift() if _ary.size() > 0 for i = _ary.size()-1 to 0 value = _ary.get(i) _dir = value.dir if _dir == 1 and (c_bot < value.bot) value.x_val := time _inv_ary.push(_ary.remove(i)) if _dir == -1 and (c_top > value.top) value.x_val := time _inv_ary.push(_ary.remove(i)) inv_manage(_ary) => //All inversions will be displayed. fire = false if _ary.size() >= buffer _ary.shift() if _ary.size() > 0 for i = _ary.size()-1 to 0 value = _ary.get(i) bx_top = value.top bx_bot = value.bot _dir = value.dir st = value.state if (st == 0 and _dir == 1) value.state := 1 value.dir := -1 if (_dir == -1 and st == 0) value.state := 1 value.dir := 1 if st >= 1 value.right := time if (_dir == -1 and st == 1 and close < bx_bot and (wt?high:close[1]) >= bx_bot and (wt?high:close[1]) < bx_top) value.labs.push(lab.new(time,bx_top,-1)) fire := true if (_dir == 1 and st == 1 and close > bx_top and (wt?low:close[1]) <= bx_top and (wt?low:close[1]) > bx_bot) value.labs.push(lab.new(time,bx_bot,1)) fire := true if st >= 1 and ((_dir == -1 and c_top > bx_top) or (_dir == 1 and c_bot < bx_bot)) _ary.remove(i) fire send_it(_ary) => // Draws Everything on the Chart last_index = _ary.size()-1 for [index,value] in _ary bx_top = value.top bx_bot = value.bot bx_left = value.left xval = value.x_val mid = value.mid col = value.dir == -1 ? green : red o_col = value.dir == -1 ? red : green if index > last_index - disp_num box.new(bx_left,bx_top,xval,bx_bot,bgcolor = col, border_color = invis, xloc = xloc.bar_time) box.new(xval,bx_top,time,bx_bot, bgcolor = o_col, border_color = invis, xloc = xloc.bar_time) line.new(bx_left,mid,time,mid, color = gray, style = line.style_dashed, xloc = xloc.bar_time) box.new(bar_index,bx_top,bar_index+50,bx_bot, bgcolor = o_col, border_color = invis) line.new(bar_index,mid,bar_index+50,mid, color = gray, style = line.style_dashed) for stuff in value.labs label_maker(stuff.x,stuff.y,stuff.dir) //---------------------------------------------------------------------------------------------------------------------} //Delete drawings //---------------------------------------------------------------------------------------------------------------------{ for boxes in box.all box.delete(boxes) for lines in line.all line.delete(lines) for labels in label.all label.delete(labels) //---------------------------------------------------------------------------------------------------------------------} //Data Arrays //---------------------------------------------------------------------------------------------------------------------{ var bull_fvg_ary = array.new<fvg>(na) // FVG Data, Not all will be Drawn var bear_fvg_ary = array.new<fvg>(na) var bull_inv_ary = array.new<fvg>(na) // Inversion Data, All will be Drawn var bear_inv_ary = array.new<fvg>(na) //---------------------------------------------------------------------------------------------------------------------} //FVG Detection //---------------------------------------------------------------------------------------------------------------------{ atr = nz(ta.atr(200)*atr_multi, ta.cum(high - low) / (bar_index+1)) fvg_up = (low > high[2]) and (close[1] > high[2]) fvg_down = (high < low[2]) and (close[1] < low[2]) if fvg_up and math.abs(low-high[2]) > atr array.push(bull_fvg_ary,fvg.new(time[1], low, time, high[2], math.avg(low,high[2]), 1, 0,array.new<lab>(na),na)) if fvg_down and math.abs(low[2]-high) > atr array.push(bear_fvg_ary,fvg.new(time[1], low[2], time, high, math.avg(high,low[2]),-1 ,0,array.new<lab>(na),na)) //---------------------------------------------------------------------------------------------------------------------} //Running Functions //---------------------------------------------------------------------------------------------------------------------{ // FVG_Data -> Inversion_Data -> Chart fvg_manage(bull_fvg_ary,bull_inv_ary) fvg_manage(bear_fvg_ary,bear_inv_ary) bear_signal = inv_manage(bull_inv_ary) bull_signal = inv_manage(bear_inv_ary) if barstate.islast send_it(bull_inv_ary) send_it(bear_inv_ary) //Alert Options alertcondition(bull_signal, "Bullish Signal") alertcondition(bear_signal, "Bearish Signal") //---------------------------------------------------------------------------------------------------------------------}
프로필 이미지
파생돌이
2025-07-12
230
글번호 192456
지표
답변완료

검색식 부탁드립니다. _(_ _)_

항상 도와주심에 감사드립니다._(__)_ 모든 이동평균선(5,20,60,120,240,480)이 20프로이내에 모여 있고 배열은 상관없지만 단 최상단 이평선이 480선인 상태에서 480선을 돌파한 종목검색식과 역시 20프로 이내구간과 단 최하단이평선이 240 ,최상단이평선 480상태에서 480선을 돌파하는 종목 검색식을 부탁드립니다
프로필 이미지
한칼부르스
2025-07-12
147
글번호 192455
종목검색
답변완료

수정을 부탁 드립니다.

안녕하세요! 만들어주신 아래 수식에 수정을 부탁드립니다. 매수, 매도 , 청산 시 한글로 매수, 매도, 청산이라는 한글이 표시가 되도록 수정을 부탁 드립니다. 그리고 궁금한점이 있습니다. 만약 DATA1이 매수에 들어가면 동시에 DATA2는 매도에 들어가야 하는데 신호는 DATA1에서만 나타나고 DATA2에서는 나타나지 않습니다. 스프레드매매는 2종목이 동시에 매매에 들어가면 한종목은 수익, 한종목은 손실이 나타나서 청산시 한종목은 수익, 한종목은 손실로 마감이 되어야 되는거 아닌가요? 이때 손실보다 수익이 더 발생해서 차익만큼만 진짜 수익이 되는 걸 스프래드매매로 알고 있습니다. 그래서 스프레드매매를 수동으로 거래하시는 분들을 보면 매매창이 항상 매수, 매도창 2개가 떠 있습니다. input : 매수진입(-3),매수청산(-1); input : 매도진입(-1),매도청산(-3); var : diff(0,data1); diff = Data1(c)-Data2(c); if MarketPosition <= 0 and diff <= 매수진입 and diff[1] > 매수진입 Then Buy(); if MarketPosition == 1 and diff >= 매수청산 Then ExitLong(); if MarketPosition >= 0 and diff >= 매도진입 and diff[1] < 매도진입 Then Buy(); if MarketPosition == -1 and diff <= 매도청산 Then ExitShort();
프로필 이미지
qha71
2025-07-11
159
글번호 192454
시스템
답변완료

키움신호를 검색식으로 요청드려봅니다.

안녕하세요. 키움신호인데. 검색식으로 요청 드립니다. 감사합니다. 이 신호에 . 조건 2개를 더 추가 하고 싶습니다. 조건1 주가등락률 5%이상 조건2 거래대금 100억이상 A=avg(c,수치); B=A(1); K=A/B*100; Q=MA(K,기간,단순); D=avg(c,기간1); E=avg(c,기간2); CrossUp(K,Q) && K<=수치2 && 종가>=시가 && C<C(1)*수치3 && D<E && A<D 고맙습니다. 열공해보겠습니다.
프로필 이미지
제임스빈
2025-07-11
203
글번호 192452
종목검색