답변완료
예스랭귀지로 사용자함수 작성
안녕하세요.
아래 2개의 파인스크립트 함수 로직 그대로
예스랭귀지에서 myRSI, RMA 사용자 함수를 각각 만들어 사용하고 싶습니다.
예스랭귀지로 사용자함수 부탁드립니다.
//ta.rsi(src,length) same on pine, but less efficient
pine_rsi(x, y) =>
u = math.max(x - x[1], 0) // upward ta.change
d = math.max(x[1] - x, 0) // downward ta.change
rs = ta.rma(u, y) / ta.rma(d, y)
res = 100 - 100 / (1 + rs)
res
//ta.rma(src,length) the same on pine
pine_rma(src, length) =>
alpha = 1/length
sum = 0.0
sum := na(sum[1]) ? ta.sma(src, length) : alpha * src + (1 - alpha) * nz(sum[1])
2025-07-23
156
글번호 192706
지표
답변완료
부탁드립니다...
안녕하세요
예스스탁입니다.
1
for i = B - 10 to B - 1
현재 봉수가 30이면 20 to 29가 됩니다.
첫봉부터 10번째 봉까지이면 해당내용이 맞지만
최근봉 10봉이면 for i = 0 to 9로 지정하시면 됩니다.
종목검색시에 당일봉이 모두 포함되게 봉수를 넉넉히 지정해 주시고
검색하시기 바랍니다.
2
var : AA(False), BB(False), CC(False);
var : T(0), B(0), upperLimit(0), u(0), i(0);
var : VV(0);
var : DD(False), EE(False);
var1 = ma(C, 5);
if sDate != sDate[1] and sTime >= 90000 Then
{
T = 0;
B = 0;
VV = 0;
}
B = B + 1;
AA = DayOpen >= 5000 and DayOpen <= 15000;
BB = DayOpen >= DayClose[1] and DayOpen <= DayClose[1] * 1.1;
CC = sTime >= 90100 and sTime <= 91900;
upperLimit = DayClose[1] * 1.3;
if AA and BB Then
T = 1;
if T == 1 and CC and CrossUp(C, var1) Then
{
T = 2;
}
if T == 2 and C >= DayHigh*0.998 Then
{
VV = 0;
EE = False;
u = 0;
for i = 1 to B - 1
{
VV = VV + V[i];
if (Close[i] / Open[i]) < 0.99 Then //금일분봉상 -1%이하 종목 제외
EE = True;
if close[i] >= upperLimit * 0.95 Then // 상한에 5%이내 근접 제외
u = 1;
}
DD = False;
if B >= 10 Then
{
for i = 0 to 9
{
if (Close[i] / Open[i]) < 0.994 Then //10봉이내 -0.6%이하 종목 제외
DD = True;
}
}
if VV >= 100000 Then
{
T = 3;
}
}
if T == 3 and !EE and !DD and u==0 Then
find(1);
즐거운 하루되세요
문의드립니다...
1.
B = B + 1;
이렇게 하면, 분봉카운트가 1,2,3,4...이렇게 되는거죠?
그럼, B = B + 1; 이걸 제거하면, 분봉카운트가 0,1,2,3...이렇게 되는 건가요?
2.
for i = 1 to B - 1
그러면 만약에,"B = B + 1;"를 제거하면, 저 조건문은 분봉 첫번째0봉은 제외되는 건가요?
3.
if B >= 10 Then
{
for i = 0 to 9
이건 다른내용입니다.
만약에 위 수식에서 검색된 분봉을 제외하고 검색하고 싶으면,
for i = 1 to 10. 이렇게 하면 될까요? 아니면 for i = 10 to B-1. 이건가요?
부탁드립니다...
감사합니다...ㅎ
2025-07-23
162
글번호 192704
종목검색
답변완료
종목검색식 부탁드림니다.
다시문의 드림니다.
제가 요청드린 93627의
수식은 VWAP의 (Volume Weighted Average Price) 선으로서 B의 기간 120을 종가가 돌파하는 검색식을 부탁드림니다.
안녕하세요
예스스탁입니다.
CrossUp(C, A, B)
매개변수가 3개라 어떤 값 크로스인지 불명확합니다.
A,B크로스로 작성해 드립니다.
input : 기간1(60),기간2(120);
var : A(0),B(0);
A=AccumN((H+L+C)/3*V, 기간1)/AccumN(V, 기간1);
B=AccumN((H+L+C)/3*V, 기간2)/AccumN(V, 기간2);
if CrossUp(A, B) Then
Find(1);
즐거운 하루되세요
2025-07-23
165
글번호 192702
종목검색
답변완료
예스랭귀지로 변환 부탁드려요
A=avg(C,period);
B=V*C; //거래대금
M=Sum(B);
K=M-valuewhen(1,Crossup(C,A) OR Crossdown(C,A),M(1));
E=IF(C>=A,K,-K);
F=E>0;
F && !F(1)
period 20
-------------------------------
변환 부탁드립니다.
즐거운 하루 보내세요!
2025-07-23
177
글번호 192692
종목검색
답변완료
랭귀지 문의드립니다,
//아래 볼린저중첩 상단과 하단이 (C) 돌파할때...문의 드립니다.
// 기간 5
E5 = eavg(C,5); //지수이평
E10=eavg(C,10);
E20=eavg(C,20);
E60=eavg(C,60);
E120=eavg(C,120);
E240=eavg(C,240);
E480=eavg(C,480);
TT = BBandsUP(20,2);
BT = BBandsC(20,2);
평균 = ( ( E5*2) +(E10*2) +(E20*3)+ (E60*2)+ (E120*3)+(E240*2)+ (E480*2)+
(TT*1) + (BT*1) ) /18 ;
평균라인 = Tema(평균,기간,지수);
//볼린저 상단
평균라인 + D1*stdev(평균라인,기간)
//볼린저 하단
평균라인 - D1*stdev(평균라인,기간)
If CrossUP (((볼린저하단))) OR (((볼린저상단)))
Find(1) ;
2025-07-23
196
글번호 192688
종목검색