커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식문의드립니다.

안녕하세요, 아래 분할 청산 수식에 더해서 if marketposition == 1 and c > DayOpen and c > o Then { if Value6 > 0.02 Then Buy("S1_upb"); } 이걸 추가하고 싶은데, 이때 Buy 수량을 분할청산으로 나간 수량 만큼만 매수하고 싶습니다. 수식 부탁드립니다. input : txratio(0.3),txa(3),txam(5),txb(8),txn(2); var : trXcond1(false),trXcond2(false),trXcond3(false),ii(0); if MarketPosition == 1 Then { if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "trx1" Then trXcond1 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "trx2" Then trXcond2 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "trx3" Then trXcond3 = true; var1 = highest(H,BarsSinceEntry); if trXcond1 == false and var1 >= EntryPrice*(txa/100+1) and var1 < EntryPrice*(((txa+txam)/100)+1) Then { ExitLong("trx1",AtStop,var1*(1-txn/100),"",currentContracts*txratio,1); } if trXcond2 == false and var1 >= EntryPrice*(txb/100+1) and var1 < EntryPrice*(((txb+txam)/100)+1) Then ExitLong("trx2",AtStop,var1*(1-txn/100),"",currentContracts*txratio,1); #청산발생하면 ii는 0 if CurrentContracts < CurrentContracts[1] Then ii = 0; else { #청산발생 후 1씩 증가 if ii >= 0 Then ii = ii +1; } if (ii > 96) and trXcond3 == false and var1 >= EntryPrice*(txa/100+1) and var1 < EntryPrice*(((txa+txam)/100)+1) Then { ExitLong("trx3",AtStop,var1*(1-(txn+1)/100),"",currentContracts*txratio,1); } } Else { #매수포지션이 아니면 -1로 초기화 ii = -1; trXcond1 = false; trXcond2 = false; trXcond3 = false; }
프로필 이미지
김예스
2025-03-03
329
글번호 188706
시스템
답변완료

수식 변환 좀 부탁드립니다

안녕하세요 종목검색식 작성 부탁드립니다 A input : N(9),MM(14); var1 = iff((ma(iff(c<c[n],(c[n]-c),0),mm))<=0,100, (100-(100/(1+((ma(iff(c>c[n],(c-c[n]),0),mm))/ (ma(iff(c<c[n],(c[n]-c),0),mm))))))); plot1(var1); B Input : Period(9); var : Relative(0); Relative = RSI(Period); Plot1(Relative, "RSI"); PlotBaseLine1(30, "기준선 30"); PlotBaseLine2(70, "기준선 70"); B가 A를 골든크로스시 검색식 부탁드립니다
프로필 이미지
신의천기사
2025-03-04
392
글번호 188705
종목검색
답변완료

TradingView의 수식을 yestrader로 변환을 했는데 수정을 부탁합니다

첨부와 같이 변환을 했는데 만족스럽지 못합니다. 수정을 부탁합니다. // &#169; BigBeluga //@version=6 indicator('Range Breakout [BigBeluga]', overlay = true, max_lines_count = 4, max_labels_count = 500) // INPUTS ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ int length = 100 // Length of the line extension float multi = input.float(4, 'Channel Width', step = 0.1) // Multiplier for channel width bool show_x = input.bool(false, "Show X signals") bool filter_sig = input.bool(false, "Filter Signals by Trends", "If True indicator filters ▲▼ based on channels breakout condition. If channel is bullish with green circle only ▲ displayed if bearish with red only ▼ signals displayed") color color1 = input.color(#ffff00, "", inline = "col", group = "OB/OS") color color3 = input.color(color.lime, "", inline = "col", group = "OB/OS") bool gradient = input.bool(true, "Gradient", inline = "ll", group = "OB/OS") int transp = input.int(80, "", inline = "ll", group = "OB/OS") color color2 = chart.fg_color // Mid line color // Initialize Variables var float value = na var float value_upper = na var float value_lower = na var float value_upper_mid = na var float value_lower_mid = na var bool trend = false var count = 0 // } // CALCULATIONS――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ float atr = ta.sma(ta.atr(200), 100) * multi // ATR-based channel width // Initialize channel values if bar_index == 301 value := hl2 value_upper := hl2 + atr value_lower := hl2 - atr value_upper_mid := math.avg(value, value_upper) value_lower_mid := math.avg(value, value_lower) value_lower_mid // Check for crossovers bool cross_upper = ta.crossover(low, value_upper) and barstate.isconfirmed bool cross_lower = ta.crossunder(high, value_lower) and barstate.isconfirmed // Count bars outside the channel if low > value_upper or high < value_lower count := count + 1 count // Reset channel values on crossover or after 100 bars if cross_upper or cross_lower or count == 100 count := 0 value := hl2 value_upper := hl2 + atr value_lower := hl2 - atr value_upper_mid := math.avg(value, value_upper) value_lower_mid := math.avg(value, value_lower) value_lower_mid bool chage = not(value != value[1]) bool buy_ = ta.crossover(low, value_lower_mid) and low[10] > value_lower_mid and barstate.isconfirmed and chage bool sell_ = ta.crossunder(high, value_upper_mid) and high[10] < value_upper_mid and barstate.isconfirmed and chage bool fakeout_up = ta.crossunder(high, value_upper) and barstate.isconfirmed and chage bool fakeout_dn = ta.crossover(low, value_lower) and barstate.isconfirmed and chage // } // PLOT ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ // Plot and fill lines p1 = plot(value_upper != value_upper[1] ? na : value_upper, color = color1, linewidth = 1, style = plot.style_linebr) p0 = plot(bar_index % 2 == 0 ? value : na, color = color2, style = plot.style_linebr) p2 = plot(value_lower != value_lower[1] ? na : value_lower, color = color3, linewidth = 1, style = plot.style_linebr) upper_mid = math.avg(value_upper, value) lower_mid = math.avg(value_lower, value) p01 = plot(upper_mid != upper_mid[1] ? na : upper_mid, color = color.new(color2, 50), style = plot.style_linebr) p02 = plot(lower_mid != lower_mid[1] ? na : lower_mid, color = color.new(color2, 50), style = plot.style_linebr) fill(p1, p01, value_upper, value, color.new(value_upper != value_upper[1] ? na : color1, transp), color.new(value_upper != value_upper[1] ? na : color1, gradient ? 100 : transp)) fill(p2, p02, value, value_lower, color.new(value_upper != value_upper[1] ? na : color3, gradient ? 100 : transp), color.new(value_upper != value_upper[1] ? na : color3, transp)) // Plot cross signals if cross_upper trend := true label.new(bar_index - 1, value_upper[1], text = '▲', textcolor = color1, style = label.style_label_center, color = color(na), size = size.large, tooltip = "Bullish Break") if cross_lower trend := false label.new(bar_index - 1, value_lower[1], text = '▼', textcolor = color3, style = label.style_label_center, color = color(na), size = size.large, tooltip = "Bearish Break") if buy_ and (filter_sig ? trend : true) label.new(bar_index - 1, low[1], text = '▲', textcolor = color1, style = label.style_label_up, color = color(na), size = size.normal) if sell_ and (filter_sig ? not trend : true) label.new(bar_index - 1, high[1], text = '▼', textcolor = color3, style = label.style_label_down, color = color(na), size = size.normal) if fakeout_up and show_x label.new(bar_index - 1, high[1], text = 'X', textcolor = color3, style = label.style_label_down, color = color(na), size = size.normal) if fakeout_dn and show_x label.new(bar_index - 1, low[1], text = 'X', textcolor = color1, style = label.style_label_up, color = color(na), size = size.normal) // }
프로필 이미지
고도산
2025-03-02
525
글번호 188704
지표
답변완료

수식좀 요청 드립니다.

* 항상 많은 도움에 고맙습니다. * 아래 수식 중 다이버젼스 안나오는데 제가 잘못한부분이 어디죠? (다이버젼스 안나오는부분이 더많음) 수식 수정 좀 요청 드립니다. ## 아래수식 input : sto1(20),sto2(20),sto3(9); var : Stochasticsfast(0),Stochasticsslow(0),StochasticssOsc(0); StochasticsFast = (C-lowest(L,sto1))/(highest(H,sto1)-lowest(L,sto1))*100; Stochasticsslow = AccumN(C-lowest(L,sto1),sto2)/AccumN((highest(H,sto1)-lowest(L,sto1)),sto2)* 100; StochasticssOsc = ema(Stochasticsfast,sto2)-ema(Stochasticsslow,sto3); var99 = ma(StochasticssOsc,5) ; if var99 > var99[1] and var99[1] < var99[2] and var99 < -10 then { //스토캐스틱 상승반전 Input : Period(20), Period1(20), Period2(9); var : StoK(0),StoD(0), TL1(0), TL2(0), TLi1(0), TLi2(0), TX1(0), TX2(0), TX3(0), TX4(0), TX5(0), TX6(0); var : TXi1(0),TXi2(0),TXi3(0),TXi4(0); var1 = var99[1]; var2 = var1[1]; var3 = C[1]; var4 = var3[1]; var5 = sdate[1]; var6 = var5[1]; var7 = stime[1]; var8 = var7[1]; if var1 > var2 and var3 < var4 then //지표값은 높아지고 종가는 낮아지고 var9 = 1; } else var9 = 0; if var9 == 1 then { TL1 = TL_New(var6,var8,var4,var5,var7,var3); TL_SetSize(TL1, 5); TL_SetColor(TL1, Red); } if var99 < var99[1] and var99[1] > var99[2] and var99 > 40 then {//스토캐스틱 하락반전 var11 = var99[1]; var12 = var11[1]; var13 = C[1]; var14 = var13[1]; var15 = sdate[1]; var16 = var15[1]; var17 = stime[1]; var18 = var17[1]; if var11 < var12 and var13 > var14 then //지표값은 낮아지고 종가는 높아지고 var19 = 1; } else var19 = 0; if var19 == 1 then { TL2 = TL_New(var16,var18,var14,var15,var17,var13); TL_SetSize(TL2, 5); TL_SetColor(TL2, Black); } * 매번 많은 도움에 고맙습니다. 수고하십시요.
프로필 이미지
요타
2025-03-03
388
글번호 188703
지표
답변완료

문의드립니다

안녕하세요? 아래수식에서 if src > lvl and src[1] < lvl Then strength = strength + 1; if src < lvl and src[1] > lvl Then strength = strength + 1; } col2 = iff(src > level[1] , Red, Blue); col3 = iff(src > level[2] , Red, Blue); col4 = iff(src > level[3] , Red, Blue); col5 = iff(src > level[4] , Red, Blue); col6 = iff(src > level[5] , Red, Blue); plot2(level[1],"2",col2); plot3(level[2],"3",col3); plot4(level[3],"4",col4); plot5(level[4],"5",col5); plot6(level[5],"6",col6); 모두양선인곳마다매수 모두음선인곳마다 매도부탁드립니다 감사합니다
프로필 이미지
占쏙옙占쏙옙占쏙옙
2025-03-04
341
글번호 188702
시스템
답변완료

수식변환요청드립니다

수고많습니다 키움수식을 검색식으로 부탁드립니다 m5=ma(c,5); m20=ma(c,20); cu=crossup(m5,m20); hh=highestsince(1,cu,h); h_high= valuewhen(1,hh==hh(1) && hh>h,hh); ll=if(m20)>l,1,0); l_sum=sum(ll); ls= l_sum-valuewhen(1,cu,l_sum(1)); 조건=crossup(c,h_hugh) && ls>0; cnt=countsince(cu,조건)==1; cnt=!cnt(1)
프로필 이미지
달오
2025-03-02
418
글번호 188701
종목검색
답변완료

수식의뢰 드립니다.

안녕하세요! 거래의 도움을 받고자 수식 의뢰를 드립니다! 데이터1= 선물 현재가 데이터2 = 코스피200 현재가 두 상품가격 차트를 하나로 합쳐서 두 상품가격의 차이(베이시스)가 실시간으로 계속 표시되는 수식을 만들고 싶습니다. -------------------------------------- 특정 조건에 충족하면 봉색상이 특정색으로 변화되는 강조식을 만들고 싶습니다 키움식 참조 1. 분봉에서 봉의 크기가 6틱 이하인 봉 강조식 크기=h-l; 크기(1)<=틱*0.05 2.도지 강조식 o==c (조건:상하 꼬리가 같은 크기인 도지 이면서 크기가 5틱 이하인 도지) --------------------------------------- 아래식을 예스로 변환 부탁드립니다. (predayhigh()-predaylow())*0.5+predaylow() 부탁드립니다.
프로필 이미지
qha71
2025-03-02
373
글번호 188700
지표
답변완료

검색식부탁드립니다

수고많습니다 피봇1차저항과전일고점이 1%이내에있는 검색식을 부탁드립니다
프로필 이미지
달오
2025-03-02
340
글번호 188699
종목검색
답변완료

함수 문의드립니다.

영웅문에서 '최근진입가'를 나타내는 함수 문의드립니다. 예스트레이더에서는 entryprice() 로 알고있는데 영웅문 변경 시 종가 = C 당일시가 = DayOpen() 최근진입가 = ?? 영웅문에서 최근에 들어간 '진입가격' 함수가 궁금합니다. 문의드려요.
프로필 이미지
happy7
2025-03-01
323
글번호 188698
사용자 함수
답변완료

수식 변환 부탁드립니다.

안녕하세요? 수고 많으십니다. 트레이딩뷰 아래 지표를 수식변환 부탁드리겠습니다. 감사합니다. // 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("Range Sentiment Profile [LuxAlgo]", overlay = true, max_boxes_count = 500) //------------------------------------------------------------------------------ //Tooltips //-----------------------------------------------------------------------------{ widthTooltip = "Bin width percentage. Determine the length of the returned profile bin as a percentage of the Length setting" offsetTooltip = "Determine the amount of bars each graphical elements are shifted by" //-----------------------------------------------------------------------------} //Settings //-----------------------------------------------------------------------------{ length = input.int(80, minval = 2) rows = input.int(20, minval = 2) useIb = input(false, 'Use Intrabar', inline = 'intrabar') tf = input.timeframe('1', '' , inline = 'intrabar') //Style width = input.float(20, 'Width %', minval = 0, maxval = 100, group = 'Style', tooltip = widthTooltip) showRange = input(true, 'Show Range Levels', inline = 'range', group = 'Style') rangeCss = input(color.gray, '' , inline = 'range', group = 'Style') bullBin = input(#2157f3, 'Bullish Bin', inline = 'bull', group = 'Style') bullMax = input(true, 'Maximum' , inline = 'bull', group = 'Style') bearBin = input(#ff5d00, 'Bearish Bin', inline = 'bear', group = 'Style') bearMax = input(true, 'Minimum' , inline = 'bear', group = 'Style') showFill = input(true, 'Show Fill' , inline = 'fill', group = 'Style') bullFill = input(color.new(#2157f3, 90), '' , inline = 'fill', group = 'Style') bearFill = input(color.new(#ff5d00, 90), '' , inline = 'fill', group = 'Style') offset = input.int(8, group = 'Style', tooltip = offsetTooltip) //-----------------------------------------------------------------------------} //Function //-----------------------------------------------------------------------------{ get_data() => [close, open] //-----------------------------------------------------------------------------} //Main variables //-----------------------------------------------------------------------------{ var boxes = array.new<box>(0) //Populate bins array if barstate.isfirst for i = 0 to rows-1 boxes.push(box.new(na,na,na,na,na , text_valign = text.align_center , text_color = color.white)) n = bar_index upper = ta.highest(length) lower = ta.lowest(length) sumad = math.sum(math.abs(close - open), length) //Get intrabar data [get_close, get_open] = request.security_lower_tf(syminfo.tickerid, tf, get_data()) //-----------------------------------------------------------------------------} //Set profile //-----------------------------------------------------------------------------{ //Range levels var ltop = line.new(na,na,na,na, color = rangeCss) var l75 = line.new(na,na,na,na, color = rangeCss, style = line.style_dashed) var l50 = line.new(na,na,na,na, color = rangeCss) var l25 = line.new(na,na,na,na, color = rangeCss, style = line.style_dashed) var lbtm = line.new(na,na,na,na, color = rangeCss) var fill = linefill.new(ltop, lbtm, na) //Max / Min levels var bull_max = line.new(na,na,na,na, color = bullBin) var bear_min = line.new(na,na,na,na, color = bearBin) //Set profile if barstate.islast avg = math.avg(upper, lower) avg75 = math.avg(upper, avg) avg25 = math.avg(lower, avg) //Set lines coordinates ltop.set_xy1(n - length, upper), ltop.set_xy2(n + offset, upper) lbtm.set_xy1(n - length, lower), lbtm.set_xy2(n + offset, lower) //Display range levels if showRange l75.set_xy1(n - length, avg75) , l75.set_xy2(n + offset, avg75) l50.set_xy1(n - length, avg) , l50.set_xy2(n + offset, avg) l25.set_xy1(n - length, avg25) , l25.set_xy2(n + offset, avg25) else ltop.set_color(na) lbtm.set_color(na) //Get bullish/absolute delta sums for each row up = upper dn = upper sums = array.new_float(0) sums_abs = array.new_float(0) //Loop trough each rows for i = 0 to rows-1 dn -= (upper - lower) / rows sum = 0. den = 0. //Loop trough most recent bars for j = 0 to length-1 if useIb //Loop trough intrabar prices for k = 0 to (get_close[j]).size()-1 c = (get_close[j]).get(k) o = (get_open[j]).get(k) sum += math.max(c, o) <= up and math.min(c, o) >= dn ? c - o : 0 else sum += high[j] > dn and low[j] < up ? close[j] - open[j] : 0 sums.push(sum) sums_abs.push(math.abs(sum)) up := dn //Set profile bins max = sums_abs.max() up := upper dn := upper for [index, element] in sums dn -= (upper - lower) / rows x2 = n + int(element / max * length * (width / 100)) css = element > 0 ? color.new(bullBin, 50) : color.new(bearBin, 50) //Set box coordinates get_bx = boxes.get(index) get_bx.set_lefttop(n + offset, .9 * up + .1 * dn) get_bx.set_rightbottom(x2 + offset, .9 * dn + .1 * up) get_bx.set_bgcolor(css) get_bx.set_text(str.tostring(element / sumad * 100, format.percent)) //Set area MAX/MIN levels if element == sums.max() and bullMax bull_max_val = math.avg(up, dn) bull_max.set_xy1(n + offset, bull_max_val) bull_max.set_xy2(n - length, bull_max_val) if element == sums.min() and bearMax bear_min_val = math.avg(up, dn) bear_min.set_xy1(x2 + offset, bear_min_val) bear_min.set_xy2(n - length, bear_min_val) up := dn //Fill Area if showFill fill.set_color(sums.sum() > 0 ? color.new(bullBin, 90) : color.new(bearBin, 90)) //-----------------------------------------------------------------------------}
프로필 이미지
주식남
2025-03-01
489
글번호 188697
지표