답변완료
지표작성부탁드립니다
사용지표: 붙임1과 붙임 2지표
지표식 : 붙임1(트렌드)지표 상단선이 붙임2(박스권)지표 상단선 보다 위에 있으면
차트바탕이 노란색으로 표시되는 지표식 부탁합니다
붙임: 1. 트렌드지표
input : period(10),multiplier(3);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), direction(0),alpha(0),source(0),SuperTrend(C);
if CurrentBar > 1 Then
{
src = (H+L)/2;
alpha = 1 / period ;
source = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식
//ATrV = ma(source,AtrPeriod); //단순이평방식
upperBand = src + multiplier * AtrV;
lowerBand = src - multiplier * AtrV;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if lowerBand > prevLowerBand or close[1] < prevLowerBand Then
lowerBand = lowerBand;
Else
lowerBand = prevLowerBand;
if upperBand < prevUpperBand or close[1] > prevUpperBand Then
upperBand = upperBand;
Else
upperBand = prevUpperBand;
if C > UpperBand Then
direction = 1;
if C < LowerBand Then
direction = -1;
if direction == 1 Then
SuperTrend = lowerband;
Else
SuperTrend = upperband;
Plot1(SuperTrend,"SuperTrend",IFF(direction==1,Red,Blue));
}
2. 박스권 지표
input : 기간(45),R(2);
var : TOP(0),LO(0),DOUBLE(0),idx(0);
TOP = HIGHEST(H,기간);
LO = LOWEST(L,기간);
if H > TOP[1] Then
{
DOUBLE = H;
idx = 0;
}
Else
{
if DOUBLE > 0 Then
idx = idx+1;
}
if idx == 기간-R Then
{
var1 = DOUBLE;
Var2 = LO;
}
Plot1(var1);
plot2(Var2);
2025-09-11
128
글번호 193940
지표
답변완료
수정부탁드립니다.
안녕하세요
아래 수식은 0.02 를 넘기게 되면 색상이 기존의 색상과 반대가 되게 수정부탁 드린 수식인데
챠트에 대입하여보니 기존의 수식과 똑같이 나오고 있습니다.
다시한번 확인 부탁드립니다.(94235 번 참조)
var :macdv(0),macdsig(0),macdosc(0),매수신호(False),매도신호(False),value(0.02);
var : t(0),p0(0),q0(0),r(0);
MACDv = MACD(12,26);
MACDsig = ema(MACDv,9);
macdosc = MACDv-ema(MACDv,9);
매수신호 = MACDv > 0 && macdosc > macdosc[1];
매도신호 = MACDv < 0 && macdosc < macdosc[1];
if 매수신호 Then
{
t = 1;
p0 = c;
r = 0;
}
Else if 매도신호 Then
{
t = -1;
q0 = c;
r = 0;
}
Else
{
if t == 1 Then
r = (c-p0)/p0*100;
if t == -1 Then
r = (c-q0)/q0*100;
}
Plot1(r,"r",IFf(t==1,iff(r<= value,Red,blue),iff(r >= -value,Blue,Red)));
2025-09-11
128
글번호 193938
지표
답변완료
조건검색 도와주세요~
항상 빠르고 정확한 답변 감사드립니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
안녕하세요
예스스탁입니다.
올리신 내용은 키움수식 내용을 예스랭귀지 종목검색식으로 변환하고
해당 조건이 30일 이내 1회이상 발생한 종목을 찾게 변환해 드립니다.
var :a(0),b(0),a1(False),a2(False),a3(False),d(False);
A=ma(c,5);
B=A[1];
a1 = A/B*100 < 100 ;
a2 = c < ma(c,5) and c > ma(c,20) and o > c ;
Condition1 = c[3]*1.29 < c[2] and c[2] > c and o[2] < c and Money[2] > 5500000000;
a3 = CountIf(Condition1==true,15) >= 1;
d = a1 and a2 and a3 ;
if CountIf(d==true,30) >= 1 Then
Find(1);
즐거운 하루되세요
> 마을 님이 쓴 글입니다.
> 제목 : 수식변경 부탁드립니다.
> 아래 수식을 한번에 30일치를 종목검색 할 수 있게 변경 부탁드립니다.
*** 8봉내에서 상한가가 발생한 종목 중(a3) 에서 a1 과 a2 조건을 동시에 만족하는 첫번째 조건만을 찾는 검색입니다. (즉, 상한가 발생후 a1 과 a2를 만족하는 것이 4봉째, 5번째, 6번째 봉에서 발생하더라도 첫번째 만족한 4봉째만 검색이 되도록 하고 싶습니다.
countsince 함수를 사용하였는데, 수식에 문제가 있다면 변경해주세요.)
A=avg(c,5);
B=A(1);
a1 = A/B*100 < 100 ;
a2 = c < ma(c,5,단순) and c > ma(c,20,단순) and o > c ;
a3 = (c(3)*1.29 < c(2) and c(2) > c and o(2) < c and 거래대금(2) > 5500) or
(c(4)*1.29 < c(3) and c(3) > c and o(3) < c and 거래대금(3) > 5500 ) or
(c(5)*1.29 < c(4) and c(4) > c and o(4) < c and 거래대금(4) > 5500 ) or
(c(6)*1.29 < c(5) and c(5) > c and o(5) < c and 거래대금(5) > 5500 ) or
(c(7)*1.29 < c(6) and c(6) > c and o(6) < c and 거래대금(6) > 5500 ) or
(c(8)*1.29 < c(7) and c(7) > c and o(7) < c and 거래대금(7) > 5500 ) or
(c(9)*1.29 < c(8) and c(8) > c and o(8) < c and 거래대금(8) > 5500 ) or
(c(10)*1.29 < c(9) and c(9) > c and o(9) < c and 거래대금(9) > 5500) or
(c(11)*1.29 < c(10) and c(10) > c and o(10) < c and 거래대금(10) > 5500) or
(c(12)*1.29 < c(11) and c(11) > c and o(11) < c and 거래대금(11) > 5500) or
(c(13)*1.29 < c(12) and c(12) > c and o(12) < c and 거래대금(12) > 5500) or
(c(14)*1.29 < c(13) and c(13) > c and o(13) < c and 거래대금(13) > 5500) or
(c(15)*1.29 < c(14) and c(14) > c and o(14) < c and 거래대금(14) > 5500) ;
d = a1 and a2 and a3 ;
cnt = countsince(date!=date(1), d)==1 ;
cnt && !cnt(1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
위와 같은 답변을 받았습니다.
해당 조건이 30일 이내 1회이상 발생한 종목을 찾게 변환해 드립니다.
---> 이 부분이 의미가 전달이 잘 못 된 것 같습니다.
30일 이내에서 가장 처음 조건을 만족한 조건을 찾는 것으로 변경하고 싶습니다.
예를 들어 9월 1일 , 9월 4일, 9월 8일 이렇게 3번 조건을 만족했다면, 가장 처음 만족한 9월 1일 조건만 찾으면 됩니다.
그래서 아래 부분을
a3 = CountIf(Condition1==true,15) == 1;
로 수정을 하면 되는 것이죠??
여기서 3가지 질문이 있습니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
질문1 ) 수식을 보면, 29%이상 상승한 봉 (이하 '기준봉'이라 부르겠습니다.) 기준봉의 시가와 종가의 범위내에 오늘 종가가 형성된 것을 찾도록 되어 있습니다.
그런데, 기준봉의 종가 위나 시가 이하에 있는 것이 검색이 됩니다.
예를 들어, 7월 2일에 스튜디오드래곤 이라는 종목이 검색이 되는데, 이는 6월 19일 기준봉의 시가보다 아래에 있는 종목이라 검색이 되면 안됩니다.
어느 부분을 수정을 하면 될까요?
질문2 ) 7월 2일 롯데이노베이트 종목이 검색됩니다.
해당 종목도 조건에는 만족하지만, 기준봉이 뜨고 가장처음 조건을 만족한 것이 아닙니다.
해당 종목은 6월 28일에 처음 조건을 만족한 것입니다.
처음 문의드린 키움조거식을 수식으로 그대로 복사해서 만들면 6월 28일에 화살표가 뜨는데, 조건식으로 만들면 6월 28일에는 검색이 안되고 7월 2일에 검색이 됩니다.
어디서 잘못된 것일까요?
질무3) 시가총액 3천억 이상이라는 조건도 추가 가능할까요?
혹시 제 문의사항이 두서가 없으면 다시 정리해서 올리겠습니다.
2025-09-11
136
글번호 193936
종목검색
답변완료
종목 검색 부탁드립니다.
smoothADD = ma_length + if(smoothingBool, ma_lengthSmoothing, 0);
MS = if(ma_type == 1, ma(C, smoothADD),
if(ma_type == 2, eavg(C, smoothADD),
if(ma_type == 3, ma(C, smoothADD,가중), eavg(C, smoothADD))));
tolerance_R = MS * toleranceInputR;
PREV_BELOW = C(1) <= MS(1) + tolerance_R;
CURR_ABOVE = C > MS + tolerance_R;
PREV_BELOW AND CURR_ABOVE
지표조건
ma_length : 120
ma_lengthSmoothing : 25
smoothingBool : 0
ma_type : 2
toleranceInputR : 0.0025
위라인 돌파 종목 검색식 부탁드립니다
답변완료
지표식 변환 부탁드려요 항상 감사합니다.
키움에서 사용하는 지표식 입니다. 예스로 변환 부탁드립니다.
PI=3.14159;
M=avg(c,period);
ST=Stdev(c,period); //표준편차 시그마
e=2.718;
분모1=sqrt(2*pi*st*st); //sqrt 루트
분모2=2*st*st;
분자2=-(c-m)*(c-m);
Y=1/분모1*pow(e,분자2/분모2)*100; //pow승수
S=eavg(Y,signal);
valuewhen(1,S<S(1) && S(1)>S(2), C(1))
예스로 변환시 지표가 그냥 일자로 그려지는 현상이 있을때 대응 방법도 알려주시면 감사하겠습니다.
2025-09-11
114
글번호 193923
지표