커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7249
글번호 230811
매치다는 님에 의해서 삭제되었습니다.
2018-04-09
0
글번호 118062
답변완료
수식작성 부탁드립니다.
틱봉에서 n일전의 봉갯수를 구하는 식을 알고싶습니다.
500틱봉이라면
오늘 기준으로 볼때
전일의 봉갯수 bong1 , 2일전의 봉갯수 bong2 ........ n일전의 봉갯수 bongN ...
이런식으로...
부탁드립니다.
항상 건강하시고
좋은 하루 되세요. ^^
2018-04-09
182
글번호 118061
답변완료
수식 변환 부탁드립니다.
안녕하세요?
아래 다른 언어의 코드를 예스랭귀지로 코딩 변환 부탁합니다.
감사합니다.
--------------
//Sharing ProRealTime knowledge
// --- settings
//multiplier=2.236
//period=66
//type=1 //1 = use ATR , 2 = Use standard deviation , 3 = Use standard error
//midperiod=10
// --- end of settings
type=max(1,type)
if type=1 then
moy=averagetruerange[period](close)
elsif type=2 then
moy=std[period](close)
elsif type=3 then
moy=ste[period](close)
endif
price=(highest[midperiod](high)+lowest[midperiod](low))/2
up=price+multiplier*moy
dn=price-multiplier*moy
once trend=1
if close>up[1] then
trend=1
elsif close<dn[1] then
trend=-1
endif
if trend<0 and trend[1]>0 then
flag=1
else
flag=0
endif
if trend>0 and trend[1]<0 then
flagh=1
else
flagh=0
endif
if trend>0 and dn<dn[1] then
dn=dn[1]
endif
if trend<0 and up>up[1] then
up=up[1]
endif
if flag=1 then
up=price+multiplier*moy
endif
if flagh=1 then
dn=price-multiplier*moy
endif
if trend=1 then
mysupertrend=dn
offset=moy
color1=0
color2=191
color3=255
else
mysupertrend=up
offset=-moy
color1=255
color2=69
color3=0
endif
drawcandle(mysupertrend,mysupertrend+offset,mysupertrend,mysupertrend+offset) coloured(color1,color2,color3,50)bordercolor(100,100,100,0)
if trend=1 and trend[1]<>1 then
drawarrowup(barindex,mysupertrend) coloured(color1,color2,color3)
endif
if trend=-1 and trend[1]<>-1 then
drawarrowdown(barindex,mysupertrend) coloured(color1,color2,color3)
endif
return mysupertrend coloured (color1,color2,color3) as "SuperTrend Extended 1", mysupertrend+offset coloured (color1,color2,color3) as "SuperTrend Extended 2"
2018-04-09
279
글번호 118060
답변완료
함수 에러 수정 부탁드립니다.
안녕하세요.
함수 에러 수정 부탁드립니다.
Input : dCNT(2);
Vars : dTT(0);
Vars : SP(0);
Vars : oDayHigh(0), oDayLow(0), H_Time(0), H_date(0), L_time(0), L_date(0);
Vars : blCOND(False);
If IsExitName("ProfitTarget", 1) And ExitDate(1) == Date Then blCOND = True
Else blCOND = False;
If Date[1] <> Date Then dTT = 0;
SP = MarketPosition;
If SP[1] <> SP Then dTT = dTT + 1;
oDayHigh = dayhigh(0);
oDayLow = daylow(0);
// 당일 고가와 현재 고가가 동일할 때의 시간 저장
// 즉, 당일 고가 갱신할 때, 시간 저장
If H == oDayHigh then begin
H_time = time;
H_date = date;
end;
If L == oDayLow then begin
L_time = time;
L_date = date;
end;
If dTT < dCNT Then
Begin
If blCOND Then
Begin
If MarketPosition(1) <> 1 And H_date == date and time >= H_time and H > odayhigh[1] then ;
If MarketPosition(1) <> -1 And L_date == date and time >= L_time and L < odaylow[1] then sell("NSELL");
End
Else
Begin
// 당일 고점이 발생한 시간보다 60분후 이상 경과 했다면
// 고점 갱신 할 때 매수
If H_date == date and time >= H_time and H > odayhigh[1] then buy("BUY");
// 당일 저점이 발생한 시간보다 60분후 이상 경과 했다면
// 저점 갱신 할 때 매도
If L_date == date and time >= L_time and L < odaylow[1] then sell("SELL");
End;
End;
감사합니다.
2018-04-09
170
글번호 118059
답변완료
안녕하세요......
안녕하세요.
수고 많으 십니다.
1).2). 시스템식 입니다.
1),위 파일처럼 상승 과 하락 할 때 틱 수를 구현 하고싶습니다.
단 5 이평선이 200 이평선 관통하고 상승 할 때와 하락 할 때
10틱씩 구현 하고 싶습니다.
2),아래 수식에서 상승 과 할 때 틱 수를 10틱씩 구현 하고 싶습니다.
감사 합니다. 수고 하세요.......
Input:n(10);
Var:j(0),고가기울기(0),고가절편(0),고가예상치(0),고가표준오차(0),
저가기울기(0),저가절편(0),저가예상치(0),저가표준오차(0),trend(0),
sumOH(0),sumOL(0),sumO(0),sumH(0),sumL(0),sumO²(0),sumH²(0),sumL²(0);
if bDate[1] < bDate then {
sumOH = 0; sumOL = 0; sumO = 0; sumH = 0; sumL = 0; sumO² = 0; sumH² = 0; sumL² = 0;
for j = 1 to n {
sumOH = sumOH + DayOpen(j)*DayHigh(j);
sumOL = sumOL + DayOpen(j)*DayLow(j);
sumO = sumO + DayOpen(j);
sumH = sumH + DayHigh(j);
sumL = sumL + DayLow(j);
sumO² = sumO² + DayOpen(j)^2;
sumH² = sumH² + DayHigh(j)^2;
sumL² = sumL² + DayLow(j)^2;
}
#==========================================================================#
# 선형회귀방정식 #
#==========================================================================#
# nΣxy - (Σx)(Σy) #
# 기울기 a = --------------------- #
# nΣx²- (Σx)² #
# #
# = (n*sum(xy) - sum(x)*sum(y)) / (n*sum(x^2) - sum(x)^2) #
# #
# (Σy)(Σx²)-(Σx)(Σxy) #
# 절편 b = --------------------------- #
# nΣx²- (Σx)² #
# #
# = (sum(y)*sum(x^2) - sum(x)*sum(xy)) / (n*sum(x^2) - sum(x)^2) #
#==========================================================================#
고가기울기 = (n*sumOH - sumO*sumH) / (n*sumO²- sumO^2);
고가절편 = (sumH*sumO² - sumO*sumOH) / (n*sumO² - sumO^2);
저가기울기 = (n*sumOL - sumO*sumL) / (n*sumO² - sumO^2);
저가절편 = (sumL*sumO² - sumO*sumOL) / (n*sumO² - sumO^2);
고가예상치 = 고가기울기 * DayOpen() + 고가절편;
저가예상치 = 저가기울기 * DayOpen() + 저가절편;
#==========================================================================#
# 표준오차 공식 #
#==========================================================================#
# _______________________________________________________ #
# / 1 [nΣxy - (Σx)(Σy)]² #
# Sxy = / [ ------- ][nΣy²- (Σy)²- ----------------------- ] #
# √ n(n-2) nΣx²- (Σx)² #
# #
# = sqrt((1/(n*(n-2))) * (n*sum(y^2) - sum(y)^2 - #
# ((n*sum(x*y) - sum(x)*sum(y))^2 / (n*sum(x^2) - sum(x)^2)))) #
#==========================================================================#
고가표준오차 = sqrt((1/(n*(n-2))) * (n*sumH² - sumH^2 -
((n*sumOH - sumO*sumH)^2 / (n*sumO² - sumO^2))));
저가표준오차 = sqrt((1/(n*(n-2))) * (n*sumL² - sumL^2 -
((n*sumOL - sumO*sumL)^2 / (n*sumO² - sumO^2))));
}
var1 = ema(h,10);
var2= ema(l,10);
var7=var1+(var1-ema(var1,10));
var8=var2+(var2-ema(var2,10));
if var7[2] > var7[1] and var7[1] < var7 then trend=1;
if var7[2] < var7[1] and var7[1] > var7 then trend=0;
if trend == 1 and trend[1] != 1 Then
buy();
if trend == 0 and trend[1] != 0 Then
sell();
2018-04-10
270
글번호 118058
답변완료
에러 문의
스팟으로
var 현재가 = a1.Balance.current
위와 같이 설정하여 현재가를
확인(엑셀)하고 있는데요
현재가가 0 으로 표시되는 경우가 있는데
왜 그런가요 ?
2018-04-09
214
글번호 118057
답변완료
함수 변환 부탁드립니다.
안녕하세요.
Input: pLeng(2), pAtrVal(0.6);
Vars : SP(0), TickValue(0);
Vars : TT(0), dTT(0), v0(0), v1(0), v2(0), v3(0), v4(0), v5(0);
SP = MarketPosition;
v0 = AvgFast(C, pLeng); 이 함수를 변환 부탁드립니다.
v1 = pAtrVal * ATR(pLeng);
v2 = v0 + v1;
감사합니다.
2018-04-09
191
글번호 118051
붉도치 님에 의해서 삭제되었습니다.
2018-04-09
42
글번호 118039
답변완료
수식 부탁드립니다...
수고 많으십니다.
틱차트에서 틱의 고가가 (전일고가 / 피봇2차저항선) 두가지를 돌파하는 순간을 표시하고 싶습니다.
돌파하는 수식을 알려 주시면 감사하겠습니다.
그리고 검색뿐 아니라 화살표나 강세약세등으로 나타낼 수있나요?
2018-04-09
185
글번호 118038