커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

부탁드립니다 항상 감사합니다

//@version=6 indicator(title="Multiple Moving Averages & 3 Bollinger Bands", shorttitle="Multi MA & 3 BB", overlay=true) &#8203; // Function to calculate different types of Moving Averages ma(source, length, type) => float result = na switch type "SMA" => result = ta.sma(source, length) "EMA" => result = ta.ema(source, length) "WMA" => result = ta.wma(source, length) "RMA" => result = ta.rma(source, length) "VWMA" => result = ta.vwma(source, length) result &#8203; // --- Moving Average Settings --- GRP_MA1 = "Moving Average 1" ma1_enable = input.bool(true, "Enable MA 1", group=GRP_MA1) ma1_type = input.string("SMA", "Type", options=["SMA", "EMA", "WMA", "RMA", "VWMA"], group=GRP_MA1) ma1_length = input.int(20, "Length", minval=1, group=GRP_MA1) ma1_color = input.color(color.blue, "Color", group=GRP_MA1) ma1 = ma(close, ma1_length, ma1_type) plot(ma1_enable ? ma1 : na, title="MA 1", color=ma1_color, linewidth=2, display=display.all) &#8203; GRP_MA2 = "Moving Average 2" ma2_enable = input.bool(true, "Enable MA 2", group=GRP_MA2) ma2_type = input.string("SMA", "Type", options=["SMA", "EMA", "WMA", "RMA", "VWMA"], group=GRP_MA2) ma2_length = input.int(30, "Length", minval=1, group=GRP_MA2) ma2_color = input.color(color.orange, "Color", group=GRP_MA2) ma2 = ma(close, ma2_length, ma2_type) plot(ma2_enable ? ma2 : na, title="MA 2", color=ma2_color, linewidth=2, display=display.all) &#8203; GRP_MA3 = "Moving Average 3" ma3_enable = input.bool(true, "Enable MA 3", group=GRP_MA3) ma3_type = input.string("SMA", "Type", options=["SMA", "EMA", "WMA", "RMA", "VWMA"], group=GRP_MA3) ma3_length = input.int(60, "Length", minval=1, group=GRP_MA3) ma3_color = input.color(color.purple, "Color", group=GRP_MA3) ma3 = ma(close, ma3_length, ma3_type) plot(ma3_enable ? ma3 : na, title="MA 3", color=ma3_color, linewidth=2, display=display.all) &#8203; GRP_MA4 = "Moving Average 4" ma4_enable = input.bool(false, "Enable MA 4", group=GRP_MA4) ma4_type = input.string("SMA", "Type", options=["SMA", "EMA", "WMA", "RMA", "VWMA"], group=GRP_MA4) ma4_length = input.int(120, "Length", minval=1, group=GRP_MA4) ma4_color = input.color(color.black, "Color", group=GRP_MA4) ma4 = ma(close, ma4_length, ma4_type) plot(ma4_enable ? ma4 : na, title="MA 4", color=ma4_color, linewidth=2, display=display.all) &#8203; GRP_MA5 = "Moving Average 5" ma5_enable = input.bool(false, "Enable MA 5", group=GRP_MA5) ma5_type = input.string("SMA", "Type", options=["SMA", "EMA", "WMA", "RMA", "VWMA"], group=GRP_MA5) ma5_length = input.int(240, "Length", minval=1, group=GRP_MA5) ma5_color = input.color(color.new(color.green, 20), "Color", group=GRP_MA5) ma5 = ma(close, ma5_length, ma5_type) plot(ma5_enable ? ma5 : na, title="MA 5", color=ma5_color, linewidth=1, display=display.all) &#8203; GRP_MA6 = "Moving Average 6" ma6_enable = input.bool(false, "Enable MA 6", group=GRP_MA6) ma6_type = input.string("SMA", "Type", options=["SMA", "EMA", "WMA", "RMA", "VWMA"], group=GRP_MA6) ma6_length = input.int(400, "Length", minval=1, group=GRP_MA6) ma6_color = input.color(color.new(color.red, 20), "Color", group=GRP_MA6) ma6 = ma(close, ma6_length, ma6_type) plot(ma6_enable ? ma6 : na, title="MA 6", color=ma6_color, linewidth=1, display=display.all) &#8203; GRP_MA7 = "Moving Average 7" ma7_enable = input.bool(false, "Enable MA 7", group=GRP_MA7) ma7_type = input.string("SMA", "Type", options=["SMA", "EMA", "WMA", "RMA", "VWMA"], group=GRP_MA7) ma7_length = input.int(600, "Length", minval=1, group=GRP_MA7) ma7_color = input.color(color.new(color.teal, 20), "Color", group=GRP_MA7) ma7 = ma(close, ma7_length, ma7_type) plot(ma7_enable ? ma7 : na, title="MA 7", color=ma7_color, linewidth=1, display=display.all) &#8203; // --- Bollinger Bands Settings --- // Bollinger Band 1 GRP_BB1 = "Bollinger Band 1" bb1_enable = input.bool(true, "Enable BB 1", group=GRP_BB1) bb1_source = input.source(close, "Source", group=GRP_BB1) bb1_length = input.int(20, "Length", minval=1, group=GRP_BB1) bb1_mult = input.float(2.0, "StdDev Mult", minval=0.001, maxval=50, step=0.1, group=GRP_BB1) bb1_basis_color = input.color(color.aqua, "Basis Color", group=GRP_BB1) // Basis line color bb1_upper_color = input.color(color.aqua, "Upper Color", group=GRP_BB1) // Upper line color bb1_lower_color = input.color(color.aqua, "Lower Color", group=GRP_BB1) // Lower line color bb1_linewidth = input.int(1, "Line Width", minval=1, maxval=4, group=GRP_BB1) // Line width for all BB lines bb1_fill_color = input.color(color.new(color.aqua, 90), "Fill Color", group=GRP_BB1) // Fill color bb1_hit_enable = input.bool(true, "Enable Hit Marks", group=GRP_BB1) // Enable/disable hit marks bb1_hit_color_upper = input.color(color.red, "Upper Hit Color", group=GRP_BB1) // Color for upper band hit bb1_hit_color_lower = input.color(color.green, "Lower Hit Color", group=GRP_BB1) // Color for lower band hit &#8203; bb1_basis = ta.sma(bb1_source, bb1_length) bb1_dev = bb1_mult * ta.stdev(bb1_source, bb1_length) bb1_upper = bb1_basis + bb1_dev bb1_lower = bb1_basis - bb1_dev &#8203; plot(bb1_enable ? bb1_basis : na, "BB1 Basis", color=bb1_basis_color, linewidth=bb1_linewidth) p1_bb1 = plot(bb1_enable ? bb1_upper : na, "BB1 Upper", color=bb1_upper_color, linewidth=bb1_linewidth) p2_bb1 = plot(bb1_enable ? bb1_lower : na, "BB1 Lower", color=bb1_lower_color, linewidth=bb1_linewidth) fill(p1_bb1, p2_bb1, color=bb1_enable ? bb1_fill_color : na, title="BB1 Fill") &#8203; // Plot shapes when candle hits BB1 (modified conditions to include equality) plotshape(bb1_hit_enable and high >= bb1_upper, style=shape.triangledown, location=location.abovebar, color=bb1_hit_color_upper, size=size.small, title="BB1 Upper Hit") plotshape(bb1_hit_enable and low <= bb1_lower, style=shape.triangleup, location=location.belowbar, color=bb1_hit_color_lower, size=size.small, title="BB1 Lower Hit") &#8203; &#8203; // Bollinger Band 2 GRP_BB2 = "Bollinger Band 2" bb2_enable = input.bool(false, "Enable BB 2", group=GRP_BB2) bb2_source = input.source(open, "Source", group=GRP_BB2) bb2_length = input.int(4, "Length", minval=1, group=GRP_BB2) bb2_mult = input.float(4.0, "StdDev Mult", minval=0.001, maxval=50, step=0.1, group=GRP_BB2) bb2_basis_color = input.color(color.fuchsia, "Basis Color", group=GRP_BB2) // Basis line color bb2_upper_color = input.color(color.fuchsia, "Upper Color", group=GRP_BB2) // Upper line color bb2_lower_color = input.color(color.fuchsia, "Lower Color", group=GRP_BB2) // Lower line color bb2_linewidth = input.int(1, "Line Width", minval=1, maxval=4, group=GRP_BB2) // Line width for all BB lines bb2_fill_color = input.color(color.new(color.fuchsia, 90), "Fill Color", group=GRP_BB2) // Fill color bb2_hit_enable = input.bool(false, "Enable Hit Marks", group=GRP_BB2) // Enable/disable hit marks bb2_hit_color_upper = input.color(color.red, "Upper Hit Color", group=GRP_BB2) // Color for upper band hit bb2_hit_color_lower = input.color(color.green, "Lower Hit Color", group=GRP_BB2) // Color for lower band hit &#8203; bb2_basis = ta.sma(bb2_source, bb2_length) bb2_dev = bb2_mult * ta.stdev(bb2_source, bb2_length) bb2_upper = bb2_basis + bb2_dev bb2_lower = bb2_basis - bb2_dev &#8203; plot(bb2_enable ? bb2_basis : na, "BB2 Basis", color=bb2_basis_color, linewidth=bb2_linewidth) p1_bb2 = plot(bb2_enable ? bb2_upper : na, "BB2 Upper", color=bb2_upper_color, linewidth=bb2_linewidth) p2_bb2 = plot(bb2_enable ? bb2_lower : na, "BB2 Lower", color=bb2_lower_color, linewidth=bb2_linewidth) fill(p1_bb2, p2_bb2, color=bb2_enable ? bb2_fill_color : na, title="BB2 Fill") &#8203; // Plot shapes when candle hits BB2 (modified conditions to include equality) plotshape(bb2_hit_enable and high >= bb2_upper, style=shape.triangledown, location=location.abovebar, color=bb2_hit_color_upper, size=size.small, title="BB2 Upper Hit") plotshape(bb2_hit_enable and low <= bb2_lower, style=shape.triangleup, location=location.belowbar, color=bb2_hit_color_lower, size=size.small, title="BB2 Lower Hit") &#8203; // Bollinger Band 3 GRP_BB3 = "Bollinger Band 3" bb3_enable = input.bool(false, "Enable BB 3", group=GRP_BB3) bb3_source = input.source(open, "Source", group=GRP_BB3) bb3_length = input.int(3, "Length", minval=1, group=GRP_BB3) bb3_mult = input.float(3.0, "StdDev Mult", minval=0.001, maxval=50, step=0.1, group=GRP_BB3) bb3_basis_color = input.color(color.lime, "Basis Color", group=GRP_BB3) // Basis line color bb3_upper_color = input.color(color.lime, "Upper Color", group=GRP_BB3) // Upper line color bb3_lower_color = input.color(color.lime, "Lower Color", group=GRP_BB3) // Lower line color bb3_linewidth = input.int(1, "Line Width", minval=1, maxval=4, group=GRP_BB3) // Line width for all BB lines bb3_fill_color = input.color(color.new(color.lime, 90), "Fill Color", group=GRP_BB3) // Fill color bb3_hit_enable = input.bool(false, "Enable Hit Marks", group=GRP_BB3) // Enable/disable hit marks bb3_hit_color_upper = input.color(color.red, "Upper Hit Color", group=GRP_BB3) // Color for upper band hit bb3_hit_color_lower = input.color(color.green, "Lower Hit Color", group=GRP_BB3) // Color for lower band hit &#8203; bb3_basis = ta.sma(bb3_source, bb3_length) bb3_dev = bb3_mult * ta.stdev(bb3_source, bb3_length) bb3_upper = bb3_basis + bb3_dev bb3_lower = bb3_basis - bb3_dev &#8203; plot(bb3_enable ? bb3_basis : na, "BB3 Basis", color=bb3_basis_color, linewidth=bb3_linewidth) p1_bb3 = plot(bb3_enable ? bb3_upper : na, "BB3 Upper", color=bb3_upper_color, linewidth=bb3_linewidth) p2_bb3 = plot(bb3_enable ? bb3_lower : na, "BB3 Lower", color=bb3_lower_color, linewidth=bb3_linewidth) fill(p1_bb3, p2_bb3, color=bb3_enable ? bb3_fill_color : na, title="BB3 Fill") &#8203; // Plot shapes when candle hits BB3 (modified conditions to include equality) plotshape(bb3_hit_enable and high >= bb3_upper, style=shape.triangledown, location=location.abovebar, color=bb3_hit_color_upper, size=size.small, title="BB3 Upper Hit") plotshape(bb3_hit_enable and low <= bb3_lower, style=shape.triangleup, location=location.belowbar, color=bb3_hit_color_lower, size=size.small, title="BB3 Lower Hit") 수정부탁드립니다
프로필 이미지
윤호석
88
글번호 193981
지표
답변완료

부탁드립니다 항상 감사합니다

{========================================== Disparity Index + RSI (YesLanguage ver.) - DI = 100 * (src - SMA(src,L)) / SMA - scaledDI = 20*DI + 50 (RSI 스케일과 유사) - RSI = Wilder's RMA 방식 - RSI MA 옵션: None/SMA/BB/EMA/RMA/WMA/VWMA - Regular Bullish/Bearish Divergence 라벨 ==========================================} {----------- Inputs -----------} input : DI_Length(14); input : RSI_Length(14); input : MA_Type(1); { 0=None, 1=SMA, 2=SMA+BB, 3=EMA, 4=RMA, 5=WMA, 6=VWMA } input : MA_Len(14); input : BB_Mult(2.0); input : CalcDivergence(true); { 색상(플랫폼 팔레트에 맞게 필요 시 바꾸세요) } input : DiUpColor(Green), DiDnColor(Red); input : RsiColor(Magenta); input : BBColor(Green); input : LevelColor(Gray); {----------- Vars -----------} var : src(0), di(0), scaledDi(0), smaDI(0); var : rsi(0), chg(0), up(0), dn(0), upRMA(0), dnRMA(0); var : rsiMA(0), rsiBB_up(0), rsiBB_dn(0), rsiStDev(0); { 다이버전스용 } input : LB_Left(5), LB_Right(5); var : rsiPivotLow(0), rsiPivL_Bars(0), rsiPrevPivotLow(0); var : rsiPivotHigh(0), rsiPivH_Bars(0), rsiPrevPivotHigh(0); var : pxPivotLow(0), pxPrevPivotLow(0); var : pxPivotHigh(0), pxPrevPivotHigh(0); var : bullCond(false), bearCond(false); var : txBull(0), txBear(0); {----------- Source -----------} src = Close; { 필요 시 Open/High/Low 등으로 변경 가능 } {----------- Disparity Index -----------} smaDI = Average(src, DI_Length); if smaDI <> 0 then di = 100 * (src - smaDI) / smaDI else di = 0; scaledDi = 20 * di + 50; { 색상 선택 } var : diColor(0); diColor = IFF(scaledDi >= 50, DiUpColor, DiDnColor); Plot1(scaledDi, "Scaled DI", diColor); { DI(스케일드) } Plot2(50, "DI 50", LevelColor); { Pine의 hline(50) 대체 } {----------- RSI (Wilder RMA) -----------} chg = Close - Close[1]; up = MaxList(chg, 0); dn = MaxList(-chg, 0); /* RMA 구현: prev*(Len-1)/Len + x/Len */ if CurrentBar = 1 then begin upRMA = up; dnRMA = dn; end else begin upRMA = (upRMA[1] * (RSI_Length - 1) + up) / RSI_Length; dnRMA = (dnRMA[1] * (RSI_Length - 1) + dn) / RSI_Length; end; if dnRMA = 0 then rsi = 100 else if upRMA = 0 then rsi = 0 else rsi = 100 - (100 / (1 + upRMA / dnRMA)); Plot3(rsi, "RSI", RsiColor); /* RSI 레벨 라인 (70/60/50/40/30) */ Plot4(70, "RSI 70", LevelColor); Plot5(60, "RSI 60", LevelColor); Plot6(50, "RSI 50", LevelColor); Plot7(40, "RSI 40", LevelColor); Plot8(30, "RSI 30", LevelColor); {----------- RSI Smoothing MA / BB -----------} /* MA 선택 함수 대체: 플랫폼 내장 MA가 다르면 Average/EMA/WMA 등으로 매핑하세요 */ { SMA } if MA_Type = 1 or MA_Type = 2 then rsiMA = Average(rsi, MA_Len) else if MA_Type = 3 then { EMA } rsiMA = XAverage(rsi, MA_Len) else if MA_Type = 4 then { RMA(=SMMA) } begin if CurrentBar = 1 then rsiMA = rsi else rsiMA = (rsiMA[1] * (MA_Len - 1) + rsi) / MA_Len; end else if MA_Type = 5 then { WMA } rsiMA = WAverage(rsi, MA_Len) else if MA_Type = 6 then { VWMA (가중=거래량) } rsiMA = Summation(rsi * Volume, MA_Len) / Summation(Volume, MA_Len) else rsiMA = NaN; { MA 표시 } if MA_Type >= 1 then Plot9(rsiMA, "RSI_MA", Yellow); { BB (SMA + Bollinger Bands) } if MA_Type = 2 then begin rsiStDev = StandardDev(rsi, MA_Len, 1); { 1 = 표본/모수 선택은 환경 따라 조정 } rsiBB_up = rsiMA + rs_ 수정부탁드려요
프로필 이미지
윤호석
67
글번호 193980
지표
답변완료

전략실행과 시뮬레이션의 차이?

변수값 최적화를 위해서 5분봉 챠트로 2/24~9/13일까지 시뮬레이션 챠트를 돌려보니 9/8~9/12일까지의 거래 내역이 전략실행 챠트에서는 있었으나 시뮬레이션 챠트에서는 나타나지 않는데 왜 그럴까요? 비교를 위해 두가지의 시스템 성능 보고서 캡쳐사진을 올립니다. 하나는 시뮬레이션 보고서이고 하나는 전략실행 보고서 입니다. 차이가 나는 이유를 설명해 주시면 고맙겠습니다.
프로필 이미지
하날랑
61
글번호 193979
시스템
답변완료

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

대금조건=거래대금>=10000;//기준봉의 거래대금은 100억 조건=Sum(대금조건,3)==3 && Sum(대금조건(3),20)==0; 가격라인=Valuewhen(1,조건,저가); V라인=Valuewhen(1,조건,V); CrossUp(C,가격라인) && CrossUp(V,V라인) 위의 수식을 예스랭귀지로 변환 부탁드립니다.
프로필 이미지
지구소방대
86
글번호 193978
종목검색
답변완료

수식 부탁합니다

분봉에서 9시 장시작 부터 특정시간(예: 10시 까지) 동안 스토캐스틱(10,5,5) 골든크로스가 발생했는데 이번 봉 포함 5봉 이내에 골든크로스가 발생되어 있어 이번이 두번째 발생되는 골든크로스 검색식 부탁합니다.
프로필 이미지
미래테크
72
글번호 193977
종목검색
답변완료

수식 부탁드립니다

1계약을 기준으로 최초에 진입수량을 맞추고 수익의 최고점대비 5000$씩 떨어지면 +1계약을 추가하는 수식 가능할까요?? 그리고 이게 2계약이 되면 10,000$, 3계약이면 15,000$ 이런식으로 자동 변경되도록 부탁드립니다. 고맙습니다
프로필 이미지
소드노
61
글번호 193972
시스템
답변완료

망치+역망치캔들(HA)

좋은 답 주시니 감사드립니다. 이유는 모르겠지만 하이킨아시 차트에서 * -1봉:음봉(시가>종가, 2봉전 종가대비 -1봉종가: -2%이하,윗꼬리 없음(시가=고가), 아래꼬리 있음) (즉, 망치형태) * 0봉 ;양봉(시가<종가, 1봉전 종가대비 0봉종가: +2%이상,윗꼬리 있음, 아래꼬리 없음(시가=저가)) (즉,역망치형태) 일 경우, 이후 가격이 급상승하는 경향을 보이는데, 하이킨아시 차트에서 검색하는 수식을 요청드립니다.
프로필 이미지
ksks
76
글번호 193971
종목검색
답변완료

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

키움증권 신호 수식입니다. A=ma(C,20); 고점= H<H(1) && H(1)>H(2); 저점= L>L(1) && L(1)<L(2); 상승중= A>A(기간); 눌림목조건=저점 && 상승중 && L(1)>A(1); 눌림목선=Valuewhen(1,눌림목조건,L(1)); 평균거래량= MA(V,20); 눌림시거래량감소=V< 평균거래량*0.8; 돌파시거래량증가= V>평균거래량*1.5; 돌파=Crossup(C,눌림목선); 거래량조건= 돌파시거래량증가 && SUM(눌림시거래량감소,5)>=3; 돌파 && 거래량조건 종목검색식 부탁드립니다. 수고하세요
프로필 이미지
이승현
77
글번호 193970
종목검색
답변완료

문의 드립니다.

안녕하세요 항산 친절한 답변에 깊은 감사를 드립니다. 아래의 서식에서 진입 조건 추가 사항을 넣어주시면 고맙겠습니다. *진입조건 추가 1. INPUT: 단순이동평균(200일선) 2. INPUT: 단순이동평균(50일선) -매수 진입조건 추가: 가격이 1번과 2번 위에 있고, 아래의 서식에 만족했을때 매수 진입 -매도 진입조건 추가: 가격이 1번과 2번 아래에 있고, 아래의 서식에 만족했을때 매도 진입 **최적화가 가능하도록 INPUT으로 넣어주세요 Input : shortPeriod(12), longPeriod(26), Period(6); input : 손절(600); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } SetStopLoss(손절,PointStop);
프로필 이미지
가자아이
64
글번호 193969
지표
답변완료

검색식 부탁 드립니다

종목을 제외하고 싶어요 종목제외 검색식 부탁 드립니다 예 제외 종목이 삼성전자 라면 종목을 지정해 제외시키는 검색식 부탁드립니다
프로필 이미지
님이랑
64
글번호 193968
종목검색