커뮤니티

예스랭귀지 Q&A

글쓰기

레전드 님에 의해서 삭제되었습니다.

프로필 이미지
레전드
2025-11-17
1
글번호 228070
지표
답변완료

부탁합니다.

트뷰 지표인데 예스로 부탁합니다.indicator( overlay = true, max_lines_count = 500, max_bars_back = 500)src = input(hlc3, title = 'source')len = input.int(88, title = 'lenght', maxval = 500)cr(x, y) => z = 0.0 weight = 0.0 for i = 0 to y - 1 by 1 z := z + x[i] * ((y - 1) / 2 + 1 - math.abs(i - (y - 1) / 2)) z z / ((y + 1) / 2 * (y + 1) / 2)cr = cr(src, 2 * len - 1)width = 2//plot(cr, color= #cf0202, linewidth=width,offset=-len+1)var dizii = array.new_float(500)for k = 0 to len - 1 by 1 sum = 0.0 for i = 0 to 2 * len - 2 - k by 1 sum := sum + (len - math.abs(len - 1 - k - i)) * src[i] / (len * len - k * (k + 1) / 2) sum array.set(dizii, k, sum)mult = input.float(2.0, minval = 0.001, maxval = 50, title = 'StdDev')dev = mult * ta.stdev(src, len)nmid = ta.wma(src, len)nupper = nmid + ta.wma(dev,len)nlower = nmid - ta.wma(dev,len)//plot(nmid)//plot(nlower)//plot(nupper)upper = cr + cr(dev, 2 * len - 1)lower = cr - cr(dev, 2 * len - 1)cu = input.color(color.rgb(255, 137, 137), 'upper band color')cl = input.color(color.rgb(137, 255, 97), 'lower band color')plot(lower, color = cl, offset = 1 - len, linewidth = 2, display = display.pane)plot(upper, color = cu, offset = 1 - len, linewidth = 2, display = display.pane)dashed = input.bool(false)transp = input.bool(true)d = dashed ? 2 : 1tra = transp ? 1 : 0// extrapolationvar diz = array.new_float(500)var lin = array.new_line()var diz2 = array.new_float(500)var lin2 = array.new_line(0)// Extrapolation - dynamic lines that redraw every barif bar_index > len // Önceki çizgileri sil (varsa) if array.size(lin) > 0 for i = 0 to array.size(lin) - 1 line.delete(array.get(lin, i)) array.clear(lin) if array.size(lin2) > 0 for i = 0 to array.size(lin2) - 1 line.delete(array.get(lin2, i)) array.clear(lin2) // Yeni extrapolation hesapla for k = 0 to len - 1 by 1 sum = 0.0 dv = 0.0 for i = 0 to 2 * len - 2 - k by 1 sum := sum + (len - math.abs(len - 1 - k - i)) * src[i] / (len * len - k * (k + 1) / 2) dv := dv + (len - math.abs(len - 1 - k - i)) * dev[i] / (len * len - k * (k + 1) / 2) array.set(diz, k, sum + dv) array.set(diz2, k, sum - dv) // Yeni çizgileri oluştur for i = 0 to len / d - 2 by 1 l1 = line.new( bar_index + i * d + 1 - len, array.get(diz, i * d), bar_index + i * d + 2 - len, array.get(diz, i * d + 1), width = width, color = color.new(cu, tra * i * 95 / (len / d - 1)) ) array.push(lin, l1) l2 = line.new( bar_index + i * d + 1 - len, array.get(diz2, i * d), bar_index + i * d + 2 - len, array.get(diz2, i * d + 1), width = width, color = color.new(cl, tra * i * 95 / (len / d - 1)) ) array.push(lin2, l2)plot(array.get(diz, len - 1), color = color.new(cu, 100))plot(array.get(diz2, len - 1), color = color.new(cl, 100))//plot(array.get(dizii, len - 1), color = color.new(cl, 10))alertcondition(ta.crossover(close, array.get(diz, len - 1)) or ta.crossunder(close, array.get(diz2, len - 1)), title = 'faytterro bands alert', message = 'warning! this is an early warning alert, not a buy or sell signal. Remember that the indicator repaints to a limited extent on the last bars.')
프로필 이미지
as8282
2025-11-16
64
글번호 228069
지표
답변완료

조건검색문의드립니다

아래수식을 적용하니 첨부에러메세지가 뜨는데 오류수정좀 부탁드립니다input : period(60), multiplier(2);var : CC(0), Mv(0), Ms(0), R(0), 조건(False);var : bs_C(9999), bs_M(9999), bs_S(9999), bs_R(9999);var : src(0), ATRV(0), upperBand(0), lowerBand(0), prevUpperBand(0), prevLowerBand(0), direction(0), S(0);if CurrentBar > 1 thenbegin src = (H + L) / 2; ATRV = MA(TrueRange, period); upperBand = src + multiplier * ATRV; lowerBand = src - multiplier * ATRV; prevUpperBand = upperBand[1]; prevLowerBand = lowerBand[1]; if not((lowerBand > prevLowerBand) or (C[1] < prevLowerBand)) then lowerBand = prevLowerBand; if not((upperBand < prevUpperBand) or (C[1] > prevUpperBand)) then upperBand = prevUpperBand; if C > upperBand then direction = 1 else if C < lowerBand then direction = -1 else direction = direction[1]; if direction = 1 then S = lowerBand else S = upperBand;end;CC = CCI(20);Mv = MACD(12, 26);Ms = EMA(Mv, 9);R = RSI(14);if CC < -100 then bs_C = 0else bs_C = bs_C + 1;if (Mv < 0) and (Mv > Ms) and (Mv[1] <= Ms[1]) then bs_M = 0else bs_M = bs_M + 1;if (C > S) and (C[1] <= S[1]) then bs_S = 0else bs_S = bs_S + 1;if R < 30 then bs_R = 0else bs_R = bs_R + 1;조건 = (bs_C >= 5 and bs_C <= 12) and (bs_M >= 5 and bs_M <= 12) and (bs_S >= 5 and bs_S <= 12) and (bs_R >= 5 and bs_R <= 12);if 조건 and (조건[1] = False) then Find(1);
프로필 이미지
해피럭키
2025-11-16
61
글번호 228068
종목검색
답변완료

수식 좀 부탁 드림니다.(2건)

ㅇ 좋은 한주 되십시요. ㅇ아래 수식 추세선 좀 안보이게 숨김 요청 드림니다. 즉 상하선은 굵게 하고 추세선은 안보이게 하고 싶습니다. ##아래 수식Input : length(5),종가사용여부(0),굵기(0),텍스트크기(12);Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL(0),Text1(0),TL1(0),TL2(0),TL11(0),TL21(0);Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTimevar : TL3(0),TL4(0),TX3(0),TX4(0);#==========================================#HH = IFF(종가사용여부==1,C,H);LL = IFF(종가사용여부==1,C,L);If Index == 0 Then{ 고[1,1] = HH; 저[1,1] = LL;}Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;처리구분 = "";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{ 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL1 = TL_New(고[1,3],고[1,4],고[1,1],NextBarSdate,NextBarStime,고[1,1]); // TL11 = TL1[1]; TL_SetSize(TL,굵기); TL_SetColor(TL,Red); TL_SetSize(TL1,굵기); TL_SetColor(TL1,Red); TL_SetSize(TL11,굵기); TL_SetColor(TL11,Red); // Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); Text_SetSize(text1,텍스트크기); // TL3 = TL_New(저[1,3],저[1,4],(고[1,1]+저[1,1])/2,고[1,3],고[1,4],(고[1,1]+저[1,1])/2); TL_SetSize(TL3,5); TL_SetColor(TL3,Red); Condition3 = False; /* if 고[1,1] > 고[2,1] Then { TX3 = Text_New(고[1,3],고[1,4],고[1,1],"상돌파"+NewLine); Text_SetStyle(TX3,2,1); Condition3 = true; }*/ } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL,고[1,3],고[1,4],고[1,1]); TL_SetEnd(TL11,고[1,3],고[1,4],고[2,1]); TL_SetBegin(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); TL_SetBegin(TL3,저[1,3],저[1,4],(고[1,1]+저[1,1])/2); TL_SetEnd(TL3,고[1,3],고[1,4],(고[1,1]+저[1,1])/2); if Condition3 == False Then { if 고[1,1] > 고[2,1] Then { // TX3 = Text_New(고[1,3],고[1,4],고[1,1],"상돌파"+NewLine);// Text_SetStyle(TX3,2,1);// Condition3 = true; } } Else { Text_SetLocation(TX3,고[1,3],고[1,4],고[1,1]); } } 최종꼭지점 = "고점";}#==========================================#If 처리구분 == "저점처리" Then{ 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL2 = TL_New(저[1,3],저[1,4],저[1,1],NextBarSdate,NextBarStime,저[1,1]); // TL21 = TL2[1]; TL_SetEnd(TL21,저[2,3],저[2,4],저[2,1]); TL_SetSize(TL,굵기); TL_SetColor(TL,Blue); TL_SetSize(TL2,굵기); TL_SetColor(TL2,Blue); TL_SetSize(TL21,굵기); TL_SetColor(TL21,Blue); // Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); Text_SetSize(text1,텍스트크기); // TL4 = TL_New(고[1,3],고[1,4],(고[1,1]+저[1,1])/2,저[1,3],저[1,4],(고[1,1]+저[1,1])/2); TL_SetSize(TL4,5); TL_SetColor(TL4,Blue); Condition4 = False; if 저[1,1] < 저[2,1] Then { // TX4 = Text_New(저[1,3],저[1,4],저[1,1],NewLine+"하돌파");// Text_SetStyle(TX4,2,0);// Condition4 = true; } } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL,저[1,3],저[1,4],저[1,1]); TL_SetEnd(TL21,저[1,3],저[1,4],저[2,1]); TL_SetBegin(TL2,저[1,3],저[1,4],저[1,1]); Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); //Text_SetString(Text1,NumToStr(저[1,1],2)); TL_SetBegin(TL4,고[1,3],고[1,4],(고[1,1]+저[1,1])/2); TL_SetEnd(TL4,저[1,3],저[1,4],(고[1,1]+저[1,1])/2); if Condition4 == False Then { if 저[1,1] < 저[2,1] Then { // TX4 = Text_New(저[1,3],저[1,4],저[1,1],NewLine+"하돌파");// Text_SetStyle(TX4,2,0);// Condition4 = true; } } Else { Text_SetLocation(TX4,저[1,3],저[1,4],저[1,1]); } } 최종꼭지점 = "저점";}TL_SetEnd(TL1,NextBarSdate,NextBarStime,고[1,1]);TL_SetEnd(TL2,NextBarSdate,NextBarStime,저[1,1]);고맙습니다.
프로필 이미지
요타
2025-11-16
97
글번호 228067
지표
답변완료

수정좀 부탁드립니다

구글 제미니에 제일아래의 rsi 다이버전스를 이용하여 mscd오실레이터 다이버전스와 파라볼릭과 종가의 차이가 얼마이상 차이나면 익절한다를 구현해 달라고 했더니 아래와 같이 만들어 준겁니다. 수고스러우시겠지만 파라볼릭과 종가의 차이가 얼마이상이면서 오실레이터 다이버전스 발생시 종가에 청산한다 식 좀 부탁드립니다.Input : af(0.02), maxAF(0.2); # PSAR 설정Input : MAX_PSAR_GAP_ATR(3.0); # PSAR과 종가 사이 허용 최대 이격 폭 (ATR 기준)var : PSAR(0), ATR(0), MACD_OSC(0);# 1. 지표 값 계산 및 정의PSAR = CSar(af, maxAF);ATR = ATR(14);MACD_OSC = MACD_Osc(12, 26, 9);C = Close;# 2. 리스크/불안정 조건 (PSAR과 종가차 활용)# : PSAR이 종가보다 위에 있지만, 그 차이가 MAX_PSAR_GAP_ATR 배의 ATR을 초과할 때# (혹은 C가 PSAR을 넘어섰을 때)PSAR_GAP_RISK = (PSAR > C) AND ((PSAR - C) > (ATR * MAX_PSAR_GAP_ATR));# OR PSAR이 이미 반전되었을 때 (가장 확실한 손절 신호)PSAR_REVERSAL = (C < PSAR);# 3. 다이버전스/모멘텀 조건# : 강세 다이버전스 확인 및 오실레이터 막대 감속BULLISH_DIVERGENCE_CONFIRMED = 1; # 외부 다이버전스 판별식 결과 가정MOMENTUM_DECELERATION_EXIT = (MACD_OSC < 0) AND (MACD_OSC > Ref(MACD_OSC, 1));# 4. 최종 결합 청산 명령 (청산은 총 2가지 시나리오로 발생)IF (Positions_Short > 0) THEN# ----------------------------------------------------# 시나리오 A: PSAR/종가차 리스크 + 다이버전스 익절 (하나의 결합된 조건)# ----------------------------------------------------IF ((PSAR_GAP_RISK) AND BULLISH_DIVERGENCE_CONFIRMED AND MOMENTUM_DECELERATION_EXIT) THEN# 위험한 이격 + 다이버전스/감속 신호 발생 시 청산ExitShort("COMPOSITE_EXIT");# ----------------------------------------------------# 시나리오 B: PSAR이 반전되어 버린 경우 (최종 손실/익절 확정)# ----------------------------------------------------ELSE IF (PSAR_REVERSAL) THEN# PSAR이 추세 반전을 확정하면 청산 (다이버전스 조건과 무관하게 발동)ExitShort("PSAR_STOP");END IFEND IF아래는 이전에 rsi 다이버전스 신호를 만들어 주신겁니다. input : P(9);var : RSIV(0),T(0),TL1(0),TL2(0);var : HIV(0),HIV1(0),HPV(0),HPV1(0);var : LIV(0),LIV1(0),LPV(0),LPV1(0);RSIv = RSI(P);Plot1(RSIV, "RSI");PlotBaseLine1(30, "기준선 30");PlotBaseLine2(70, "기준선 70");if RSIV > RSIV[1] Then T = 1;if rSIV < RSIV[1] Then T = -1;if T == 1 and T != T[1] Then{ HIV = RSIv; HIV1 = HIV[1]; HPV = H; HPV1 = HPV[1]; if LIV > LIV1 and LPV < LPV1 and LPV1 > 0 Then { TL1 = TL_New(sDate,sTime,0,sDate,sTime,99999999); TL2 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(TL1,RED); TL_SetColor(TL2,RED); }}if T == -1 and T != T[1] Then{ LIV = RSIv; LIV1 = LIV[1]; LPV = L; LPV1 = LPV[1]; if HIV < HIV1 and HPV > HPV1 and HPV1 > 0 Then { TL1 = TL_New(sDate,sTime,0,sDate,sTime,99999999); TL2 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(TL1,BLUE); TL_SetColor(TL2,BLUE); }}#RSI 상승구간 RSI최고와 가격최고 계산if T == 1 Then{ if RSIv > HIV Then { HIV = RSIv; } if H > HPV Then { RSIv = H; }}#RSI 하락구간 RSI최저와 가격최저 계산if T == -1 Then{ if RSIv < LIV Then { LIV = RSIv; } if L < LPV Then { LPV = L; }}
프로필 이미지
산수유
2025-11-16
77
글번호 228064
지표
답변완료

수식 부탁드립니다.

종목검색식으로 부탁드립니다.기준=(highest(high,26)+lowest(low,26))/2;A=eavg(C,448);wma1 = wavg(C, len);// TEMA 계산ema1_1 = eavg(wma1, len);ema1_2 = eavg(ema1_1, len); ema1_3 = eavg(ema1_2, len);TEWMA1 = 3 * ema1_1 - 3 * ema1_2 + ema1_3;len2 = len * multi;wma2 = wavg(C, len2);ema2_1 = eavg(wma2, len2);ema2_2 = eavg(ema2_1, len2);ema2_3 = eavg(ema2_2, len2);TEWMA2 = 3 * ema2_1 - 3 * ema2_2 + ema2_3;TEWMA = (TEWMA1 + TEWMA2) / 2;CrossUP(A,TEWMA) && C>기준len 120 multi 2.15늘 건강하십시요. 감사합니다. 선생님
프로필 이미지
잔차
2025-11-16
55
글번호 228063
종목검색
답변완료

수식 부탁드립니다

//@version=5indicator( title="#DEMA Adjusted Average True Range [BackQuant]", shorttitle = "DEMA ATR [BackQuant]", overlay=true)다음 TV 수식을 YT로 변환하고 싶습니다. 미리 감사드립니다.//@version=5indicator( title="DEMA Adjusted Average True Range [BackQuant]", shorttitle = "DEMA ATR [BackQuant]", overlay=true, timeframe="", timeframe_gaps=true )// Define User Inputssimple bool haCandles = input.bool(false, "Use HA Candles?")simple int periodDema = input.int(7, "Dema Period", group = "Dema Atr")series float sourceDema = input.source(close, "Calculation Source", group = "Dema Atr")simple int periodAtr = input.int(14, "Period", group = "Dema Atr")simple float factorAtr = input.float(1.7, "Factor", step = 0.01, group = "Dema Atr")simple bool paintCandles = input.bool(false, "Paint Candles According to trend?")string movingAverageType = input.string("Ema", title="MA Type", options=["SMA", "Hull", "Ema", "Wma", "Dema"],group = "Confluence")simple int movingAveragePeriod = input.int(50, "Moving Average Period", group = "Confluence")simple color longColour = #ff0000simple color shortColour = #00ff00/////////////////////////////////////////////////////////////// © BackQuant ///////////////////////////////////////////////////////////////// Function//DEMA//DEMA(src, dLen)=> e1 = ta.ema(src, dLen) e2 = ta.ema(e1, dLen) dema = 2 * e1 - e2 demaDemaAtrWithBands(periodDema, source, lookback, atrFactor)=> ema1 = ta.ema(source, periodDema) ema2 = ta.ema(ema1, periodDema) demaOut = 2 * ema1 - ema2 atr = ta.atr(lookback) trueRange = atr * atrFactor DemaAtr = demaOut DemaAtr := nz(DemaAtr[1], DemaAtr) trueRangeUpper = demaOut + trueRange trueRangeLower = demaOut - trueRange if trueRangeLower > DemaAtr DemaAtr := trueRangeLower if trueRangeUpper < DemaAtr DemaAtr := trueRangeUpper DemaAtr// Function OutDemaAtr = DemaAtrWithBands(periodDema, source, periodAtr, factorAtr)/////////////////////////////////////////////////////////////// © BackQuant ///////////////////////////////////////////////////////////////// Moving Average Switch TypemaOut = ta.ema(DemaAtr, movingAveragePeriod, movingAverageType)/////////////////////////////////////////////////////////////// © BackQuant ///////////////////////////////////////////////////////////////// ConditionsDemaAtrLong = ta.crossover(DemaAtr, DemaAtr[1])DemaAtrShort = ta.crossunder(DemaAtr, DemaAtr[1])// Colour Condtionsvar color Trend = #ffffffif DemaAtrLong Trend := longColourif DemaAtrShort Trend := shortColour// Plottingplot( DemaAtr, "ATR", color=Trend, linewidth = 2 )plot(maOut, "Moving Average", color.white, 2, plot.style_line)
프로필 이미지
고도산
2025-11-16
67
글번호 228062
지표
답변완료

종목검색식 부탁드립니다

1. 거래량 에서 (일봉기준) 종목의 유통주식수 대비 , 일봉 거래량이 10%이상 넘은 종목검색식 부탁드려요. (변수로부탁드립니다) 예시) 종목의 유통 주식수 20,000,000주 발행 주식수 30,000,000주 일때, 일봉거래량 2,000,000주 (10%)이상인 종목 검색식임2. 주봉 시가선이 월봉 시가선을 돌파할때 종목검색식 부탁드립니다 3. 월봉과 주봉 시가선이 0.1% 이하로 수렴할때 종목검색식 부탁드립니다.(수렴 )4. 주봉시가선과 월봉시가선을 양봉캔들 이 동시에 돌파하는 종목검색식 부탁드립니다.
프로필 이미지
일지매7
2025-11-16
74
글번호 228061
종목검색
답변완료

갭 발생시 시초가 매수

아래 사진을 기준으로 하면 갭이 뜨자마자 매수를 하고 싶어요. 가장 빠르게 하려고 1분봉 기준으로 하면 1분이 마감된 뒤에 매수를 하게 되는데 어떻게 해야 시초가에 바로 시장가매수를 할 수 있을까요?감사합니다.
NextBarOpen NextBarbdate
프로필 이미지
illilili
2025-11-16
49
글번호 228060
시스템
답변완료

고점 대비 하락

1. (시스템) 고점이 최근 3개봉의 고점 평균을 갱신 하면 상승추세로 보고 고점을 계속 hh 변수에 갱신, 이후 hh 변수 대비 x% 이상 하락하면 매수, 이후 5개봉 종가 청산, 또는 진입가 대비 y% 이상 하락시 손절2. (지표) 2-1. hh 를 선으로 표시하는 지표 수식과 2-2. hh를 대비 하락률을 나타내는 지표 수식도 부탁합니다.예스스탁 감사합니다.
프로필 이미지
sjpapa
2025-11-16
55
글번호 228059
시스템