커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

ReReReRe분봉 누적거래량과 20일 평균누적거래량

작성해 주신 수식을 돌려보니 당일 누적 거래량이 나오네요. 제가 원하는 수식은 당일 누적 거래량과 20일 평균 누적거래량입니다. 5분봉을 기준으로 예를 들자면 9:10분에 경과된 두개봉의 누적거래량(plot1)과 두개봉 누적거래량 20일 평균(plot2)을 비교하고자 함입니다. if Bdate != Bdate[1] Then var1 = 0; var1 = var1+vol; plot1(var1,"누적거래량"); 간단하게 당일 누적거래량이 산출되는데 20일 평균의 누적거래량을 표현하고 싶은겁니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : Re : 분봉 누적거래량과 20일 평균누적거래량 지표 > 안녕하세요 예스스탁입니다. 1 차트에 20일치의 데이터가 최소 있어야 합니다. 모든 변수나 데이터는 이전봉참조는 1024전봉까지만 가능하여 단순 루프로 과거로 가면서 동시간 20일 누적거래량은 계산이 불가능하여 매봉 값을 그시점의 당일누적거래량을 배열변수에 저장하고 계산하게 작성해 드립니다. 루프가 많이 수행되어 적용시 시간이 많이 걸릴 수 있습니다. 2 아래는 당일 봉수는 최대 1천개로 잡고 과거 30일간까지 저장하게 작성했습니다. 사용하시는 분봉주기, 선물 주/야/복합, 주식 KRX/NXT/통합 차트에 따라 당일발생하는 봉수가 다르므로 환경에 맞게 조절하셔야 합니다. 3 input : N(20); var : x(0),y(0),b(0),i(0),sum(0),mav(0); Array : VV[1000,30](0); //당일 천번째봉까지 저장하고 이값을 이전 30일치를 보관 if Bdate != Bdate[1] Then { //새로운 영업일이 시작하면 //배열값을 다음방으로 이동 b = 0; For x = 29 DownTo 1 //이전일수 { For y = 999 DownTo 1 //당일봉수 { VV[y,x] = VV[y,x-1]; } } } Else b = b+1; VV[b,0] = DayVolume; if vv[b,N] > 0 Then { sum = 0; For i = 1 to N { sum = sum + vv[b,i]; } mav = sum/N; Plot1(vv[b,0]); } plot1(DayVolume); 즐거운 하루되세요 > eel 님이 쓴 글입니다. > 제목 : Re : Re : 분봉 누적거래량과 20일 평균누적거래량 지표 > 전일시간대의 누적거래량이 아닌 20일 평균누적거래량 구하는 로직 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 분봉 누적거래량과 20일 평균누적거래량 지표 > 안녕하세요 예스스탁입니다. var : f1(0),f2(0),e2(0); var : StartBar(0),EndBar(0),i(0),PredayV(0); if Bdate != Bdate[1] Then { f1 = Index; f2 = f1[1]; e2 = Index[1]; } if f2 > 0 Then { StartBar = Index-e2; EndBar = Index-f2; for i = StartBar to EndBar { if stime[i] <= stime and sdate[i] < sdate then { PredayV = DayVolume[i]; i = EndBar+1; //for문을 중지 } } } plot1(DayVolume,"당일 누적거래량"); plot2(PredayV,"전일동시간대 누적거래량"); 즐거운 하루되세요 > eel 님이 쓴 글입니다. > 제목 : 분봉 누적거래량과 20일 평균누적거래량 지표 > 5분봉에서 개장 후 현재 바까지의 누적 거래량과 동일 시각 기준 최근 20일 평균 누적 거래량을 나타내는 지표식 부탁드립니다.
프로필 이미지
eel
2025-09-03
270
글번호 193714
지표

2wnwn 님에 의해서 삭제되었습니다.

프로필 이미지
2wnwn
2025-09-03
64
글번호 193713
지표
답변완료

당일 60분봉 최고가격

당일 60분봉 종가가 당일 최고가격 일 때 종목검색식 부탁드려요 건강하세요
프로필 이미지
뽀스뽀스
2025-09-03
132
글번호 193712
종목검색
답변완료

지표문의

1.아래지표 수정 좀해주세요 검증이안됨 INPUT: len(300), // 분석할 봉 수 priceStep(100), // 가격 구간 크기 topN(3); // 상위 HVN/LVN 개수 VAR: i(0), j(0), priceMin(0), priceMax(0), level(0), maxVol(0), minVol(999999999), pocLevel(0), pocPrice(0); ARRAY: vap , // 가격대별 거래량 hvnLevel , hvnVol , lvnLevel , lvnVol ; { 1. 최소, 최대 가격 찾기 } priceMin = Low; priceMax = High; FOR i = 1 TO len BEGIN IF Low[i] < priceMin THEN priceMin = Low[i]; IF High[i] > priceMax THEN priceMax = High[i]; END; { 2. vap 배열 초기화 } FOR j = 0 TO 999 BEGIN vap[j] = 0; END; { 3. 거래량 누적 } FOR i = 0 TO len-1 BEGIN level = INTPART( (Close[i] - priceMin) / priceStep ); IF level >= 0 AND level < 1000 THEN vap[level] = vap[level] + Volume[i]; END; { 4. Top N HVN 찾기 } FOR j = 1 TO topN BEGIN maxVol = 0; pocLevel = 0; FOR i = 0 TO 999 BEGIN IF vap[i] > maxVol THEN BEGIN maxVol = vap[i]; pocLevel = i; END; END; hvnLevel[j] = pocLevel; hvnVol[j] = maxVol; vap[pocLevel] = 0; END; { 5. Top N LVN 찾기 } FOR j = 1 TO topN BEGIN minVol = 999999999; pocLevel = 0; FOR i = 0 TO 999 BEGIN IF vap[i] > 0 AND vap[i] < minVol THEN BEGIN minVol = vap[i]; pocLevel = i; END; END; lvnLevel[j] = pocLevel; lvnVol[j] = minVol; vap[pocLevel] = 999999999; END; { 6. HVN / LVN 출력 ? Plot 이름 고정 } IF topN >= 1 THEN BEGIN pocPrice = priceMin + hvnLevel[1] * priceStep; PLOT(pocPrice, "HVN1", RED); pocPrice = priceMin + lvnLevel[1] * priceStep; PLOT(pocPrice, "LVN1", BLUE); END; IF topN >= 2 THEN BEGIN pocPrice = priceMin + hvnLevel[2] * priceStep; PLOT(pocPrice, "HVN2", RED); pocPrice = priceMin + lvnLevel[2] * priceStep; PLOT(pocPrice, "LVN2", BLUE); END; IF topN >= 3 THEN BEGIN pocPrice = priceMin + hvnLevel[3] * priceStep; PLOT(pocPrice, "HVN3", RED); pocPrice = priceMin + lvnLevel[3] * priceStep; PLOT(pocPrice, "LVN3", BLUE); END; 그럼 수고하세요
프로필 이미지
성공예견
2025-09-03
217
글번호 193701
지표

2wnwn 님에 의해서 삭제되었습니다.

프로필 이미지
2wnwn
2025-09-03
37
글번호 193700
지표
답변완료

n일동안 캔들(고가,저가)가격이 n개 이상 겹치는 최저가를 이은선

n일동안 캔들(고가,저가)가격이 n개 이상 겹치는 가격에서 최저가를 이은선 수식 부탁드립니다
프로필 이미지
팔보채
2025-09-03
185
글번호 193696
지표
답변완료

부틱드립니다

수고하십니다 아래수식을 예스 화살표신호수식 부탁드립니다 a = eavg(c,10); a1 = eavg(c,34); b = rsi(14); crossup(a,a1) && b>=55 && c> o
프로필 이미지
파생돌이
2025-09-03
188
글번호 193695
지표
답변완료

문의드립니다.

다시 한번 문의드립니다. 아래 답변대로 적용하면 신호발생후부터 양봉 3개, 음봉 3개가 연속해 나올 때 청산이 됩니다. 제가 만들고자 하는 청산식은 "매수신호 발생후부터가 아니라 매수신호 발생전에 신호가 나온 봉을 포함해 3양봉이 나오고(신호봉은 반드시 3개 양봉중 마지막 양봉이라야 합니다) 그 직후 3음봉이 연달아서 나올 때 청산입니다" 제 표현력의 한계가 이정도이니 양해바랍니다. ----------------------------------------------------------------------------- if MarketPosition == 1 and BarsSinceEntry == 3 and #매수진입 이후 3봉 경과 CountIf(C > O,3)[BarsSinceEntry] == 3 and #진입봉기준 3연속 양봉 CountIf(C < O,3) == 3 Then #현재 3연속 음봉 ExitLong(); 즐거운 하루되세요 > 카르마다 님이 쓴 글입니다. > 제목 : 문의드립니다. > 제가 질문하는 능력이 많이 떨어져서 전달이 제대로 안되는 거 같아 한번 더 질문드립니다. 아래는 제 질문에 대한 예스스탁의 답변입니다. ---------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. if CountIf(C>O,3) == 3 and C[3] <= O[3] Then Buy(); if MarketPosition == 1 and BarsSinceEntry == 3 and CountIf(C<O,3) == 3 Then ExitLong(); 즐거운 하루되세요 > 카르마다 님이 쓴 글입니다. 연속 2양봉후 3번째 양봉에서 매수(즉, 진입봉 포함 연속 3양봉시 매수)진입후 이어서 연속 3음봉일 때 청산하는 식도 구하고 싶습니다. 즉, 3양봉이라서 매수신호가 나왔는데 바로 3음봉으로 꺽이면 청산하는 식입니다. 결국 양봉, 양봉, 양봉(매수신호 발생)후 이어서 음봉, 음봉, 음봉이 연달아 나오면 청산입니다. ---------------------------------------------------------------------------- 1. 매수신호가 필요한게 아니라 청산식만 필요합니다. 2. 우선 연속으로 양봉 2개가 나옵니다. 그리고 3번째 양봉이 나오고나서부터 연속해 3음봉이 나오면 청산하는 청산식입니다. 간단히 말하자면 3개의 양봉 후 3개의 음봉이 나오면 청산하느 식입니다. 즉, 진입봉을 포함해 연속 3양봉이 나온후(마지막 봉이 양봉이라야 합니다) 바로 연속해서 3음봉이 나오면 청산하는 식입니다. 미리 노고에 감사드립니다.
프로필 이미지
카르마다
2025-09-02
157
글번호 193694
시스템

님이랑 님에 의해서 삭제되었습니다.

프로필 이미지
님이랑
2025-09-02
21
글번호 193693
종목검색
답변완료

변환을 부탁드립니다.

트레이딩뷰의 Squeeze Momentum 입니다. 수고스럽겠지만 예스랭귀지로 변환을 부탁드립니다. // // @author LazyBear // List of all my indicators: https://www.tradingview.com/v/4IneGo8h/ // study(shorttitle = "SQZMOM_LB", title="Squeeze Momentum Indicator [LazyBear]", overlay=false) length = input(20, title="BB Length") mult = input(2.0,title="BB MultFactor") lengthKC=input(20, title="KC Length") multKC = input(1.5, title="KC MultFactor") useTrueRange = input(true, title="Use TrueRange (KC)", type=bool) // Calculate BB source = close basis = sma(source, length) dev = multKC * stdev(source, length) upperBB = basis + dev lowerBB = basis - dev // Calculate KC ma = sma(source, lengthKC) range = useTrueRange ? tr : (high - low) rangema = sma(range, lengthKC) upperKC = ma + rangema * multKC lowerKC = ma - rangema * multKC sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC) sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC) noSqz = (sqzOn == false) and (sqzOff == false) val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),sma(close,lengthKC)), lengthKC,0) bcolor = iff( val > 0, iff( val > nz(val[1]), lime, green), iff( val < nz(val[1]), red, maroon)) scolor = noSqz ? blue : sqzOn ? black : gray plot(val, color=bcolor, style=histogram, linewidth=4) plot(0, color=scolor, style=cross, linewidth=2)
프로필 이미지
하날랑
2025-09-02
265
글번호 193692
시스템