커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
1507
글번호 230811
지표
답변완료

종목 검색 수식 검토 부탁드립니다.

input : 기간1(120);VAR : B1(0),B2(0),B3(0),B4(0),B5(0),B6(0),B7(0),BB(0),BB1(0),A0(0);VAR : A(0),A1(0),EQ(0),Z(0),Z1(0),MA20(0),MA60(0),MM20(0),MM60(0); B1=ifF(Ema(C,12)-Ema(C,26) > Ema(Ema(C,12)-Ema(C,26),9), 1,-1);B2=ifF(C > MA(C, 20), 1, -1);B3=ifF((C - C[12]) / C[12] * 100 > 0, 1, -1);B4=ifF(ema((C-lowest(L, 5)) / (highest(H, 5) - lowest(L, 5)) * 100, 3)>50, 1, -1);B5=IfF(CCI(20) > 0,1,-1);B6=IfF(C > SAR(0.02,0.2),1,-1);B7=IfF((ema(Accum(((C -L)-(H- C))/ (H-L)*V), 3)-ema(Accum(((C -L)-(H- C))/(H-L)*V), 10))>0,1,-1);A0=B1+B2+B3+B4+B5+B6+B7;BB=ema(A0,9);BB1=(BB-lowest(BB,기간1))/(highest(BB,기간1)-lowest(BB,기간1))*100; A=LRL(C,50);A1=LRL(A,50);eq= A-A1;z =A+eq;Z1=(Z-lowest(Z,기간1))/(highest(Z,기간1)-lowest(Z,기간1))*100; MA20 = (C - EmA(C, 20)) / EMA(C, 20) * 100;MM20=(MA20-lowest(MA20,기간1))/(highest(MA20,기간1)-lowest(MA20,기간1))*100; MA60 = (C - EMA(C, 60)) / EMA(C, 60) * 100;MM60=(MA60-lowest(MA60,기간1))/(highest(MA60,기간1)-lowest(MA60,기간1))*100; 조건= (BB1>Z1 && BB1>MM20 && BB1>MM60) OR (BB1<Z1 && BB1<MM20 && BB1<MM60) OR BB1<1 OR BB1>99; IF 조건==TRUE TheNFind(1);윗 식으로 는 지표간 비교가 가능한지 검토 부탁드립니다
프로필 이미지
hoon
2025-12-22
189
글번호 229239
종목검색
답변완료

수식작성부탁드립니다

1. 분봉사용 전략2. open의 -2%이면 매수 진입. (가격이 오면 바로 매수 진입)3. 2번의 매수 진입시 open 을 baseopen으로 두고 -3%되면 1번더 매수 진입 4. 마찬가지로 baseopen 에서 -4%되면 추가로 한번더 매수 진입 5. 2번 시점에서 10봉 후 1,2,3번 매수 전체 한번에 청산 6. 그후 다시 단순 open 가격에서 부터 시작.
프로필 이미지
소드노
2025-12-21
173
글번호 229238
시스템
답변완료

종목검색식 부탁드립니다.

S=Sum(1);기준선=Valuewhen(1,제한일수-S==20,(종가+시가)/2);CrossUp(C,기준선)위 수식을 예스랭귀지로 변환 부탁드립니다.
프로필 이미지
지구소방대
2025-12-21
139
글번호 229237
종목검색
답변완료

지표문의

1.아래는 수식 검색하다 찾은 지표인데 TX = Text_New(sDate,sTime,L,"▲"); Text_SetStyle(tx,2,0); Text_SetSize(tx,20); Text_SetColor(tx,Red); 표시중 화살표시를 수평선(좌봉3개,우봉3개 총6개)길이로바꾸고 굵기두 조정 할수있게하고 ,"▲" 생길때 해당값 출력되도록 해 주세요. 아래는 반대로 TX = Text_New(sDate,sTime,H,"▼"); Text_SetStyle(tx,2,1); Text_SetSize(tx,20); Text_SetColor(tx,Blue); Else { if var4 > 0 and Index < var4+5 Then { TL_SetEnd(TL1,NextBarSdate,NextBarStime,var1); TL_SetEnd(TL2,NextBarSdate,NextBarStime,var2); TL_SetEnd(TL3,NextBarSdate,NextBarStime,var3); Box_SetEnd(box1,NextBarSdate,NextBarStime,var2); Box_SetEnd(box2,NextBarSdate,NextBarStime,var3); } } 위의 else 문장부분 무슨의미인가요? 설명두 부탁드릴께요. input : period1(10),multiplier1(3); input : period2(20),multiplier2(2); input : period3(30),multiplier3(3); var : src(0); var : AtrV1(0),upperBand1(0),lowerBand1(0), prevLowerBand1(0), prevUpperBand1(0); var : prevSuperTrend1(0), superTrend1(C), direction1(0),alpha1(0),source1(0); var : AtrV2(0),upperBand2(0),lowerBand2(0), prevLowerBand2(0), prevUpperBand2(0); var : prevSuperTrend2(0), superTrend2(C), direction2(0),alpha2(0),source2(0); var : AtrV3(0),upperBand3(0),lowerBand3(0), prevLowerBand3(0), prevUpperBand3(0); var : prevSuperTrend3(0), superTrend3(C), direction3(0),alpha3(0),source3(0); var : TL1(0),TL2(0),TL3(0),TL(0),box1(0),box2(0); src = (H+L)/2; if CurrentBar > 1 Then { alpha1 = 1 / period1; source1 = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV1 = alpha1 * source1 + (1 - alpha1) * ATrV1[1]; //지수가중이평방식 //ATrV = ma(source,AtrPeriod); //단순이평방식 upperBand1 = src + multiplier1 * AtrV1; lowerBand1 = src - multiplier1 * AtrV1; prevLowerBand1 = lowerBand1[1]; prevUpperBand1 = upperBand1[1]; if lowerBand1 > prevLowerBand1 or close[1] < prevLowerBand1 Then lowerBand1 = lowerBand1; Else lowerBand1 = prevLowerBand1; if upperBand1 < prevUpperBand1 or close[1] > prevUpperBand1 Then upperBand1 = upperBand1; Else upperBand1 = prevUpperBand1; if C > UpperBand1 Then direction1 = 1; if C < LowerBand1 Then direction1 = -1; if direction1 == 1 Then supertrend1 = lowerband1; Else supertrend1 = upperband1; alpha2 = 1 / period2; source2 = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV2 = alpha2 * source2 + (1 - alpha2) * ATrV2[1]; //지수가중이평방식 //ATrV = ma(source,AtrPeriod); //단순이평방식 upperBand2 = src + multiplier2 * AtrV2; lowerBand2 = src - multiplier2 * AtrV2; prevLowerBand2 = lowerBand2[1]; prevUpperBand2 = upperBand2[1]; if lowerBand2 > prevLowerBand2 or close[1] < prevLowerBand2 Then lowerBand2 = lowerBand2; Else lowerBand2 = prevLowerBand2; if upperBand2 < prevUpperBand2 or close[1] > prevUpperBand2 Then upperBand2 = upperBand2; Else upperBand2 = prevUpperBand2; if C > UpperBand2 Then direction2 = 1; if C < LowerBand2 Then direction2 = -1; if direction2 == 1 Then supertrend2 = lowerband2; Else supertrend2 = upperband2; alpha3 = 1 / period3; source3 = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV3 = alpha3 * source3 + (1 - alpha3) * ATrV3[1]; //지수가중이평방식 //ATrV = ma(source,AtrPeriod); //단순이평방식 upperBand3 = src + multiplier3 * AtrV3; lowerBand3 = src - multiplier3 * AtrV3; prevLowerBand3 = lowerBand3[1]; prevUpperBand3 = upperBand3[1]; if lowerBand3 > prevLowerBand3 or close[1] < prevLowerBand3 Then lowerBand3 = lowerBand3; Else lowerBand3 = prevLowerBand3; if upperBand3 < prevUpperBand3 or close[1] > prevUpperBand3 Then upperBand3 = upperBand3; Else upperBand3 = prevUpperBand3; if C > UpperBand3 Then direction3 = 1; if C < LowerBand3 Then direction3 = -1; if direction3 == 1 Then supertrend3 = lowerband3; Else supertrend3 = upperband3; if C > superTrend1 Then { Plot1(superTrend1,"매수1", rgb(247, 75, 201), 0, 1); NoPlot(2); } Else { Plot2(superTrend1,"매도1", Indigo, 0, 1); NoPlot(1); } if C > superTrend2 Then { Plot3(superTrend2,"매수2", rgb(247, 75, 201), 0, 2); NoPlot(4); } Else { Plot4(superTrend2,"매도2", Indigo, 0, 2); NoPlot(3); } if C > superTrend3 Then { Plot5(superTrend3,"매수3", rgb(247, 75, 201), 0, 7); NoPlot(6); } Else { Plot6(superTrend3,"매도3", Indigo, 0, 7); NoPlot(5); } } var : box(0),tx(0); if CrossUp(c,supertrend2) Then { TL = TL_New(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(TL,rgb(255, 215, 0)); TL_SetSize(TL,1); TL_SetStyle(TL,2); TX = Text_New(sDate,sTime,L,"▲"); Text_SetStyle(tx,2,0); Text_SetSize(tx,20); Text_SetColor(tx,Red); } Else if CrossDown(c,supertrend2) Then { TL = TL_New(sDate,sTime,0,sDate,sTime,999999999); TL_SetColor(TL, rgb(193, 216, 251)); TL_SetSize(TL,2); TL_SetStyle(TL,2); TX = Text_New(sDate,sTime,H,"▼"); Text_SetStyle(tx,2,1); Text_SetSize(tx,20); Text_SetColor(tx,Blue); } Else { if var4 > 0 and Index < var4+5 Then { TL_SetEnd(TL1,NextBarSdate,NextBarStime,var1); TL_SetEnd(TL2,NextBarSdate,NextBarStime,var2); TL_SetEnd(TL3,NextBarSdate,NextBarStime,var3); Box_SetEnd(box1,NextBarSdate,NextBarStime,var2); Box_SetEnd(box2,NextBarSdate,NextBarStime,var3); } } 2.그럼수고하세요
프로필 이미지
성공예견
2025-12-21
272
글번호 229236
지표
답변완료

시스템식 부탁드립니다

초보입니다. 잘 부탁합니다마이크로유로선물 5분봉 거래하고 있습니다. 일봉기준 전일봉이 양봉이면 시초가+5틱에서1계약매수진입,-15틱에서1개매수진입-30틱에서1개매수진입 총 3계약까지 진입합니다. 손절은 없고 시초가대비30틱이상 상승시 되돌림50프로에 청산,또는 06시에 청산전일봉이 음봉이면 +5틱에서 1개매도진입,-15틱,-30틱에서 1계약씩 추가매도진입,청산조건은 매수진입 반대로 부탁합니다.
프로필 이미지
김슌
2025-12-21
137
글번호 229235
시스템
답변완료

지표 부탁 드립니다

//@version=5indicator("7/19 EMA Crossover Alerts", overlay=true)// ==================== INPUTS ====================fastLen = input.int(7, "Fast EMA")slowLen = input.int(19, "Slow EMA")slCandles = input.int(4, "SL Candles Lookback", options=[3, 4])skipSaturday = input.bool(true, "Skip Saturday")showSLLevels = input.bool(true, "Show SL Levels on Signal")// ==================== EMAs ====================ema7 = ta.ema(close, fastLen)ema19 = ta.ema(close, slowLen)// ==================== SIGNALS ====================bullishCross = ta.crossover(ema7, ema19)bearishCross = ta.crossunder(ema7, ema19)// ==================== DAY FILTER ====================canTrade = skipSaturday ? dayofweek != dayofweek.saturday : true// ==================== STOP LOSS CALCULATIONS ====================lowestLow3 = math.min(low, math.min(low[1], low[2]))lowestLow4 = math.min(low, math.min(low[1], math.min(low[2], low[3])))highestHigh3 = math.max(high, math.max(high[1], high[2]))highestHigh4 = math.max(high, math.max(high[1], math.max(high[2], high[3])))longSL = slCandles == 3 ? lowestLow3 : lowestLow4shortSL = slCandles == 3 ? highestHigh3 : highestHigh4// ==================== ENTRY CONDITIONS ====================longSignal = bullishCross and canTradeshortSignal = bearishCross and canTradeskippedLong = bullishCross and not canTradeskippedShort = bearishCross and not canTrade// ==================== TRACK TREND ====================var int trend = 0if bullishCross trend := 1if bearishCross trend := -1// ==================== PLOTS ====================plot(ema7, "7 EMA", color.lime, 2)plot(ema19, "19 EMA", color.red, 2)// Signal markersplotshape(longSignal, "Long Signal", shape.triangleup, location.belowbar, color.lime, size=size.normal, text="LONG")plotshape(shortSignal, "Short Signal", shape.triangledown, location.abovebar, color.red, size=size.normal, text="SHORT")plotshape(skippedLong, "Skip Long", shape.xcross, location.belowbar, color.gray, size=size.small, text="SKIP")plotshape(skippedShort, "Skip Short", shape.xcross, location.abovebar, color.gray, size=size.small, text="SKIP")// SL level lines on signalsplot(showSLLevels and longSignal ? longSL : na, "Long SL", color.orange, 2, plot.style_circles)plot(showSLLevels and shortSignal ? shortSL : na, "Short SL", color.orange, 2, plot.style_circles)// Backgroundbgcolor(ema7 > ema19 ? color.new(color.green, 93) : color.new(color.red, 93))// ==================== INFO TABLE ====================var table t = table.new(position.top_right, 2, 6, bgcolor=color.new(color.black, 80))if barstate.islast table.cell(t, 0, 0, "7/19 EMA ALERTS", text_color=color.white, bgcolor=color.blue) table.cell(t, 1, 0, "", bgcolor=color.blue) table.cell(t, 0, 1, "Trend:", text_color=color.white, text_size=size.small) table.cell(t, 1, 1, ema7 > ema19 ? "BULLISH" : "BEARISH", text_color=ema7 > ema19 ? color.lime : color.red, text_size=size.small) table.cell(t, 0, 2, "EMA " + str.tostring(fastLen) + ":", text_color=color.white, text_size=size.small) table.cell(t, 1, 2, str.tostring(ema7, "#.##"), text_color=color.lime, text_size=size.small) table.cell(t, 0, 3, "EMA " + str.tostring(slowLen) + ":", text_color=color.white, text_size=size.small) table.cell(t, 1, 3, str.tostring(ema19, "#.##"), text_color=color.red, text_size=size.small) table.cell(t, 0, 4, "Long SL:", text_color=color.white, text_size=size.small) table.cell(t, 1, 4, str.tostring(longSL, "#.##"), text_color=color.orange, text_size=size.small) table.cell(t, 0, 5, "Short SL:", text_color=color.white, text_size=size.small) table.cell(t, 1, 5, str.tostring(shortSL, "#.##"), text_color=color.orange, text_size=size.small)// ==================== ALERTS ====================// Main entry alertsalertcondition(longSignal, "Long Entry", "7/19 EMA: LONG Signal")alertcondition(shortSignal, "Short Entry", "7/19 EMA: SHORT Signal")// Raw crossover alerts (ignore Saturday filter)alertcondition(bullishCross, "Bullish Crossover (Any)", "7/19 EMA: Bullish Crossover")alertcondition(bearishCross, "Bearish Crossover (Any)", "7/19 EMA: Bearish Crossover")// Any signal alert (for single alert setup)alertcondition(longSignal or shortSignal, "Any Signal", "7/19 EMA: Signal Triggered")
프로필 이미지
매치다2
2025-12-20
352
글번호 229234
지표
답변완료

지표 부탁 드립니다

// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/// © Uncle_the_shooter//@version=6indicator('Pivot Oscillator', overlay=false, max_lines_count=500, max_labels_count=500, precision=2)// PIVOT SETTINGS (user inputs) lenSwing = input.int(5, 'Pivot Length', minval=1, group='Pivot Settings')pivotLevel = input.float(0.5, 'Pivot Level', minval=0.0, maxval=1.0, step=0.01, group='Pivot Settings')lookback = input.int(5, 'Pivot Lookback', minval=1, group='Pivot Settings')// ATR SCALING atrLen = input.int(14, 'ATR Length', minval=1, group='ATR Settings')multUp = input.float(15.0, 'ATR Multiplier Up', minval=0.1, group='ATR Settings')multDown = input.float(15.0, 'ATR Multiplier Down', minval=0.1, group='ATR Settings')// THRESHOLD LEVELS obLevel = input.float(70, 'Overbought Level', minval=51, maxval=99, group='Threshold Levels')osLevel = input.float(30, 'Oversold Level', minval=1, maxval=49, group='Threshold Levels')maOverbought = input.float(60, 'MA Overbought Threshold', minval=51, maxval=99, group='Threshold Levels')maOversold = input.float(40, 'MA Oversold Threshold', minval=1, maxval=49, group='Threshold Levels')// SIGNAL SETTINGS signalLength = input.int(14, 'SMA Length for Signal', group='Signal Settings')extraSmooth = input.int(10, "SMA Smoothing", minval=1, group='Signal Settings')// COLORS bullColor = input.color(color.rgb(22,193,67), 'Bullish Color', group='Style Settings')bearColor = input.color(color.rgb(229,11,11), 'Bearish Color', group='Style Settings')signalColorBull = input.color(color.rgb(22,193,67), 'Signal SMA Bullish', group='Style Settings') signalColorBear = input.color(color.rgb(229,11,11), 'Signal SMA Bearish', group='Style Settings') obColor = input.color(color.red, 'Overbought Line Color', group='Style Settings')osColor = input.color(color.green, 'Oversold Line Color', group='Style Settings')midLineColor = input.color(color.gray, 'Midline 50 Color', group='Style Settings') // <--- nowy inputtextColor = input.color(color.white, 'Text Color', group='Style Settings')// GRADIENT SETTINGSshowOverboughtGradient = input.bool(true, 'Show Overbought Gradient', group='Gradient Settings')showOversoldGradient = input.bool(true, 'Show Oversold Gradient', group='Gradient Settings')showOscillatorGradient = input.bool(true, 'Show Oscillator Gradient', group='Gradient Settings')showMaGradient = input.bool(true, 'Show Moving Average Gradient', group='Gradient Settings')fillEnabled = input.bool(true, 'Enable Gradient Fill', group='Gradient Settings')fillTransparency = input.int(75, 'Gradient Fill Transparency', minval=0, maxval=100, group='Gradient Settings')bandTransparency = input.int(50, 'Band/Label Gradient Transparency', minval=0, maxval=100, group='Gradient Settings')// INTERNAL VARIABLES rangeUpper = 60rangeLower = 5var int gradientTransparency = 85// PIVOTS CALCULATIONph = ta.pivothigh(high, lenSwing, lenSwing)pl = ta.pivotlow(low, lenSwing, lenSwing)var float[] phArray = array.new_float()var float[] plArray = array.new_float()if not na(ph) array.push(phArray, ph) if array.size(phArray) > lookback array.shift(phArray)if not na(pl) array.push(plArray, pl) if array.size(plArray) > lookback array.shift(plArray)avgPH = array.size(phArray) > 0 ? array.avg(phArray) : naavgPL = array.size(plArray) > 0 ? array.avg(plArray) : napivotLine = not na(avgPH) and not na(avgPL) ? avgPL + (avgPH - avgPL) * pivotLevel : naosc_raw = close - nz(pivotLine)// ATR SCALINGatr = ta.atr(atrLen)atr_safe = atr > 0 ? atr : 1upper_bound = atr_safe * multUplower_bound = atr_safe * multDownfloat osc_scaled = 50.0if osc_raw > 0 osc_scaled := 50.0 + 50.0 * (osc_raw / upper_bound)else if osc_raw < 0 osc_scaled := 50.0 + 50.0 * (osc_raw / lower_bound)else osc_scaled := 50.0osc_scaled := math.max(1.0, math.min(100.0, osc_scaled))oscSignal = ta.sma(osc_scaled, signalLength)// DYNAMIC COLORS FOR OB/OS ob_gradient_color = oscSignal >= maOverbought ? obColor : color.grayos_gradient_color = oscSignal <= maOversold ? osColor : color.gray// PLOTTING hline(obLevel, 'Overbought', color=obColor, linestyle=hline.style_dashed, linewidth=1)plot(showOverboughtGradient ? obLevel : na, 'OB Gradient', color=color.new(ob_gradient_color, bandTransparency), linewidth=8, editable=false)hline(osLevel, 'Oversold', color=osColor, linestyle=hline.style_dashed, linewidth=1)plot(showOversoldGradient ? osLevel : na, 'OS Gradient', color=color.new(os_gradient_color, bandTransparency), linewidth=8, editable=false)// MIDLINE 50hline(50, 'Midline 50', color=midLineColor, linestyle=hline.style_dashed, linewidth=1)hline(1, 'Min', color=color.new(color.gray, 80), linestyle=hline.style_dotted)hline(100, 'Max', color=color.new(color.gray, 80), linestyle=hline.style_dotted)lineColor = osc_raw > 0 ? bullColor : bearColorpOsc = plot(osc_scaled, 'Oscillator 1–100', color=lineColor, linewidth=2)plot(showOscillatorGradient ? osc_scaled : na, 'Osc Gradient', color=color.new(lineColor, gradientTransparency), linewidth=10)// SMA SMOOTHED + DYNAMIC COLOR + GRADIENTsmoothSignal = ta.sma(oscSignal, extraSmooth) dynSignalColor = smoothSignal > smoothSignal[1] ? signalColorBull : smoothSignal < smoothSignal[1] ? signalColorBear : color.gray // SMA PLOTpSignal = plot(showMaGradient ? smoothSignal : smoothSignal, "Signal SMA", dynSignalColor, 2)// SMA GRADIENT – 3 layersplot(showMaGradient ? smoothSignal : na, "", color.new(dynSignalColor, 60), 5)plot(showMaGradient ? smoothSignal : na, "", color.new(dynSignalColor, 35), 3)plot(showMaGradient ? smoothSignal : na, "", color.new(dynSignalColor, 0), 1)// GRADIENT FILL pMid1 = plot(osc_scaled * 0.8 + 50 * 0.2, color=na, display=display.none)pMid2 = plot(osc_scaled * 0.6 + 50 * 0.4, color=na, display=display.none)pMid3 = plot(osc_scaled * 0.4 + 50 * 0.6, color=na, display=display.none)pMid4 = plot(osc_scaled * 0.2 + 50 * 0.8, color=na, display=display.none)fill(pOsc, pMid1, color=fillEnabled ? color.new(lineColor, fillTransparency) : na)fill(pMid1, pMid2, color=fillEnabled ? color.new(lineColor, fillTransparency + 5) : na)fill(pMid2, pMid3, color=fillEnabled ? color.new(lineColor, fillTransparency + 10) : na)fill(pMid3, pMid4, color=fillEnabled ? color.new(lineColor, fillTransparency + 15) : na)// SIGNALSlongSignalObos = ta.crossover(osc_scaled, osLevel)shortSignalObos = ta.crossunder(osc_scaled, obLevel)// plotshapeplotshape(longSignalObos ? osc_scaled : na, location=location.bottom, color=osColor, style=shape.triangleup, size=size.tiny, title='Buy (OS)')plotshape(shortSignalObos ? osc_scaled : na, location=location.top, color=obColor, style=shape.triangledown, size=size.tiny, title='Sell (OB)')// ALERTS alertcondition(longSignalObos, 'Buy (Oversold)', 'Oscillator crossed above oversold.')alertcondition(shortSignalObos, 'Sell (Overbought)', 'Oscillator crossed below overbought.')
프로필 이미지
매치다2
2025-12-20
1520
글번호 229233
지표
답변완료

수식 검토요청드립니다.

input : P(20),dv(2); var : bbup(0),bbdn(0), A(0); bbup = BollBandUp(P,dv); bbdn = BollBandDown(P,dv);A=(bbup[2]-bbdn[2])/bbdn[2]*100;if CrossUp(C[1], bbup[1]) && A>0 && A<1.0 && C[1]>C[2]*1.03 && C[1]<C[2]*1.15 && O[1]<=C[2]*1.05 Then Find(1);볼밴이 극도로 스퀴즈되었다가 갑자기 가격상승하는 종목을 검색하는 수식으로 위와같이 작성해보았읍니다. 검증에서는 문제없는 것으로 나오는데, 맞는건지 모르겠읍니다.문제는 A값이 1%이고 볼밴돌파봉이 3%상승으로하니 단가가 낮은종목, 높은 종목을 동시에 잡기가 어려운거 같습니다. 그래서 혹시 단가가 3만원미만은 A를 2%, 볼밴돌파 봉의 상승을 5%로 하고 3만원 이상은 A를 1%, 볼밴돌파 봉의 상승을 3%로 이원화할 수 할 수 없는지 검토해주세요.
프로필 이미지
ksks
2025-12-20
285
글번호 229230
종목검색
답변완료

종목검색식 부탁드립니다

TR = max(max(H-L, abs(H-C(1))), abs(L-C(1)));ATR1 = eavg(TR, ATRperiod);BBU = eavg(C, BBperiod) + stdev(C, BBperiod) * BBdeviation;/* 신호 발생 조건: 종가가 볼린저밴드 상단을 상향 돌파할 때 */CrossUp(C, BBU)지표변수ATRperiod :14BBperiod :20BBdeviation :2종목검색식 부탇드립니다
프로필 이미지
골든도라도
2025-12-20
149
글번호 229229
종목검색