커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
2538
글번호 230811
답변완료
부탁드려요~
A= (C-2+C-1)/2 <- 2봉전 종가 더하기 1봉전 종가 나누기 2
B= A - (최소값 ( A, A-1, A-2, A-3, A-4 ) <- A 빼기 (A: A 다섯봉전 까지의 최소값)
C=(최대값( A~A-4)) - (최소값 (A~A-4) <-최근 다섯봉의 최대값 빼기 최소값
D=(B/C) * 100
E= ((B+(B-1)+(B-2)) / (C+(C-1)+(C-2)) *100
F= (E+(E-1)+(E-2)) / 3
D+E+F >=300 시초가 매수 진입
안녕하세요 위 내용을 하나는 매수시스템으로
하나는 지표로 바 상단에 D+E+F 값을 표시 할 수 있을까요?
부탁드리겠습니다
2020-10-27
748
글번호 143428
답변완료
식 부탁드립니다.
안녕하세요? 식 부탁드립니다.
시스템 적용 직전 외부변수 "매도한계가"와 "매수한계가"와 "격차틱"을 입력해 놓고서
60봉이평선 위에서는
직전 봉의 20봉이평선이 "매도한계가"보다 큰 상태에서
현재가가 직전 봉의 20봉이평선보다 한 틱 아래에 닿았을 때
만일 이미 매수포지션이 있다면 한 틱 아래의 바로 그 가격에 전량 청산하고
그 가격에 한 계약 매도
만일 무포거나 이미 매도포지션이 있다면
그 가격에 한 계약씩 추가 누적 매도(다만 추가매도는 직전 추가 매도시보다 적어도
격차틱수만큼 크거나 작아야 함. <시스템을 껏다가 다시 켜도 직전 추가 매도가를
기억해야 할텐데..방법을 좀 강구해 주세요..>)
60봉이평선 밑에서는
직전 봉의 20봉이평선이 "매수한계가"보다 작은 상태에서
현재가가 직전 봉의 20봉이평선보다 한 틱 위에 닿았을 때
만일 이미 매도포지션이 있다면 한 틱 위의 바로 그 가격에 전량 청산하고
그 가격에 한 계약 매수
만일 무포거나 이미 매수포지션이 있다면
그 가격에 한 계약씩 추가 누적 매수(다만 추가매수는 직전 추가 매수시보다
적어도 "격차틱"수만큼 크거나 작아야 함).
감사합니다.
2020-10-27
721
글번호 143427
답변완료
어제 질문 드렸던 사람입니다
여기 검색식에서 추가로 전전저점 보다 전 저점이 높은 조건이 들어갈수 있을까요?
현재 전 저점보다 현재 낮아진 값이 전보다 높은 것을 찾는 것인데 전전 저점 보다 전 저점이 높은 조건이 추가가 되었으면 합니다. 감사합니다
input : P(20);
var : mav(0),T(0),LL(0);
mav = ma(C,P);
if mav > mav[1] Then
T = 1;
if mav < mav[1] Then
T = -1;
#상승반전(전저점)
if T == 1 and T != T[1] Then
LL = mav[1];
if T == -1 and #현재 하락중
mav > LL Then #현재 이평값이 직전 상승반전지점보다 높음
Find(1);
2020-10-27
852
글번호 143426
2wnwn 님에 의해서 삭제되었습니다.
2020-10-27
22
글번호 143425
답변완료
거래량 평균값 검색이 잘 안됩니다
안녕하세요,
전일부터 30일간 거래량의 평균값이 1000000(백만) 이상인 종목을 검색하려 하는데요,
검색 결과가 안나옵니다..
차트에 시스템이나 강조수식에 디버그 메세지를 찍어보면
의도한 거래량 계산을 잘 하는데요, 검색에서 결과가 안나오는게 잘 이해가 안가서요.
도움 부탁드립니다.
Var : VolumeCondition(0);
Var : Cnt(0);
Var : AvgVol(0);
For Cnt = 1 to 30
{
AvgVol = AvgVol + DayVolume[Cnt];
}
AvgVol = AvgVol/30;
if(AvgVol >= 1000000) Then
{
VolumeCondition = 1;
}
Else
{
VolumeCondition = 0;
}
if(VolumeCondition == 1) Then
{
Find(1);
}
2020-10-26
779
글번호 143424
답변완료
샛별형 로직
시스템 매매로직 중에
샛별형 매매로직 식이 잘못 만져서
삭제되었네요..
로직좀 알려주세요^^
2020-10-26
804
글번호 143423
답변완료
문의
안녕하세요
Volume Power OBV의 시그널선을 만들면은 선이2줄이나와야 되는것아닌가요
주신수식은 그냥Volume Power OBV지표입니다 다시부탁드립니다 Volume Power OBV지표에시그널선을만들어서 macd처럼두줄이되게부탁합니다 감사합니다
2020-10-26
753
글번호 143422
답변완료
69686 재질문입니다.
안녕하세요?
69686 수정요청 드립니다.
hl :
그림1에 A 지점의 변수(hl= DayLow) 11575.50
hl 변수는 dayhigh,DayLow 가 갱신전까지는 11575.50 저장됨.
B 부분처럼 DayLow가 갱신되면 갱신된 가격이 hl(11543.00)에 저장.
현재가가 D부분 당일고가(DayHigh) 돌파후에는 파동의 저점중 작은가격을 hl변수에저장
lh :
그림1에 C 지점처럼 DayLow 가 갱신하면 초기화후 lh변수가격은 고점중에 높은 가격을저장.
D 지점을 돌파한시점은 lh는 DayHigh가격이 저장.
hl변수는 DayHigh이후의 파동의 저점중 작은값을 저장.
글로 설명하기가 쉽지가 않네요
최대한 설명했는데 이해가 가는지 모르겠습니다.
수식작성 감사합니다.
2020-10-26
855
글번호 143421
답변완료
부탁 드립니다.
도움에 감사 드립니다.
타주기 수식 부탁 드립니다.
예를 들어
1)10분봉차트에서 60분봉 지표
2)60분봉차트에서 일봉지표
3)일봉차트에서 주봉 지표
참고로 전에 작성 해주신
유사한 타주기 수식 첨부 합니다.
미리 경배로 감사 인사 올립니다.
input :sig(5);
var1 = accum(iff(C>O,C*V,0));
var2 = var1/accum(iff(C>O,1,0));
var11 = accum(iff(C<O,C*V,0));
var12 = var11/accum(iff(C<O,1,0));
var3=var2-var12;
var31=ma(var3,sig);
참고수식)
input : ntime(30),P1(20),sig(5);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),sum(0);
Array : OO[81](0),CC[81](0),VV[81](0),diff[81](0),idx[81](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
OO[0] = O;
VV[0] = V;
for cnt = 1 to 80
{
OO[cnt] = OO[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
VV[cnt] = VV[cnt-1][1];
diff[cnt] = diff[cnt-1][1];
idx[cnt] = idx[cnt-1][1];
}
}
CC[0] = C;
VV[0] = VV[0]+V;
if VV[P1-1] > 0 then
{
var1 = 0;
value1 = 0;
var11 = 0;
value11 = 0;
for cnt = 0 to P1-1
{
if CC[cnt] > OO[cnt] then
{
var1 = var1 + (CC[cnt]*VV[cnt]);
value1 = value1 + 1;
}
if CC[cnt] < OO[cnt] then
{
var11 = var11 + (CC[cnt]*VV[cnt]);
value11 = value11 + 1;
}
}
var2 = var1/value1;
var12 = var11/value11;
diff[0] = var2-var12;
idx[0] = 1;
}
if idx[sig-1] > 0 then
{
sum = 0;
for cnt = 0 to sig-1
{
sum = sum + diff[cnt];
}
var31 = sum/sig;
plot2(var31);
}
}
2020-10-26
766
글번호 143420