커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7775
글번호 230811
답변완료
수식문의 드립니다.
안녕하세요
항상 친절한 답변 감사드립니다.
문의 사항은
5분차트에서 일봉의 5이평선을 출력할때
var : sumV(0), maV(0), count(0);
sumV = 0;
for count = 0 to 5-1 {
sumV = sumV+DayClose(count);
}
maV = sumV / 5;
plot1(mav);
이렇게 하는것과
plot1(MA(data2(C),5));
이렇게 하는것이
지표값이 다르게 출력됩니다.
전자는 원래 일봉의 지표값과 거의 같으나
후자는 많이 다름니다.
타주기의 일봉 이평값을 정확히 불러올려면 어떻게 해야 하는지
알려 주시면 감사하겠습니다.
미리 감사드립니다.
2009-03-26
684
글번호 21199
답변완료
1분챠트서 보는 5분챠트실시간ma 수정 부탁드립니다.,
1분챠트서 보는 5분챠트실시간ma 수식입니다.
밑에 식이 60ma까지는 잘나오는데요 120ma가 안나오네요
수정 좀 부탁드릴게요~
감사합니다.
input : Atime(5),ma505(5),ma520(20),ma560(60),ma5120(120);
var : cnt5분ma(0),count5분ma(0),sum1(0),mav505(0),sum2(0),mav520(0),sum3(0),sum4(0),mav560(0),mav5120(0);
Array : CC[100](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or var1 <= var1[1] Then{
CC[1] = C[1];
for cnt5분ma = 2 to 99{
CC[cnt5분ma] = CC[cnt5분ma-1][1];
}
}
sum1 = 0;
sum2 = 0;
sum3 = 0;
sum4 = 0;
for count5분ma = 1 to ma5120-1{
if count5분ma < ma505 Then
sum1 = sum1+CC[count5분ma];
if count5분ma < ma520 Then
sum2 = sum2+CC[count5분ma];
if count5분ma < ma560 Then
sum3 = sum3+CC[count5분ma];
if count5분ma < ma5120 Then
sum4 = sum4+CC[count5분ma];
}
mav505 = (C+sum1)/ma505;
mav520 = (C+sum2)/ma520;
mav560 = (C+sum3)/ma560;
mav5120 = (C+sum4)/ma5120;
plot1(mav505);
plot2(mav520);
plot3(mav560);
plot4(mav5120);
2009-03-26
638
글번호 21198
답변완료
전환식
메일로 질문 합니다
2009-03-26
671
글번호 21197
답변완료
시스템식 부탁.
옵션 분봉 매수및매수청산식(매수전용)인데요. 아래와 같은 두가지 방법으로 매매가능할 지 간단한 적용 로직 부탁드립니다.
메일(aceace77@hanmail.net)로 답변부탁드립니다.
(1) 첫번째 매매방법
매수 - 첫봉에 1개 매수('첫봉매수'라 함), 둘째봉에 1개 매수('둘째봉매수'라
함).
매수청산 - '첫봉매수'분이 진입가 대비 15% 이상 상승(최고가)후 최고가 대비 5%
이상 하락시 매수청산.
'둘째봉매수'분이 진입가 대비 15% 이상 상승(최고가)후 최고가 대비
5%이상 하락시 매수청산.
'첫봉매수'분이 진입가 대비 10% 이상 하락하면 손절매.
'둘째봉매수'분이 진입가 대비 10% 이상 하락하면 손절매.
즉, 각 매수분마다 각각 매수청산(손절매포함)식을 적용코자 합니다.
(2) 두번째 매매방법
매수 - 첫봉에 2개 매수('첫봉매수'라 함), 둘째봉에 2개 매수('둘째봉매수'라
함).
매수청산 - '첫봉매수'분이 진입가 대비 15% 이상 20%미만 상승(최고가)후 최고가
대비 5%이상 하락시 1개 매수청산.
'첫봉매수'분이 진입가 대비 20% 이상 25%미만 상승(최고가)후 최고가
대비 5%이상 하락시 나머지 1개 매수청산.
'둘째봉매수'분이 진입가 대비 15% 이상 20%미만 상승(최고가)후 최고
가 대비 5%이상 하락시 1개 매수청산.
'둘째봉매수'분이 진입가 대비 20% 이상 25%미만 상승(최고가)후 최고
가 대비 5%이상 하락시 나머지 1개 매수청산.
'첫봉매수'분이 진입가 대비 10% 이상 하락하면 1개 손절매.
'첫봉매수'분이 진입가 대비 15% 이상 하락하면 나머지 1개 손절매.
'둘째봉매수'분이 진입가 대비 10% 이상 하락하면 1개 손절매.
'둘째봉매수'분이 진입가 대비 15% 이상 하락하면 나머지 1개 손절매.
즉, 각 매수분중 개수마다 각각 매수청산(손절매포함)식을 적용코자 합
니다.
2009-03-26
541
글번호 21194
회원 님에 의해서 삭제되었습니다.
2009-03-26
184
글번호 21193
답변완료
재 검증
메일로 보냅읍니다
2009-03-25
727
글번호 21192
답변완료
첫봉만
분봉5분.60분에서첫봉만의 시가,고가 저가,종가만 표시하는식을 부탁드립니다
즉 계속이어지는선이 아니고,일직선으로만 표시(두번째봉부터는 안나타나도록 첫봉만)
2009-03-25
820
글번호 21183
답변완료
Playsound 관련 문의
Playsound를 이용하여 소리발생시 아래와 같은 수식을 사용할 경우 현재봉에서 조건이 만족되는 경우 현재봉이 유지되는 동안 현재봉의 현재가가 변할때마다 반복해서 소리를 실행하던데 현재봉에서 한번만 소리 실행하게 할 수 없나요.
아래 수식처럼 사용하니 10분봉 등 장기봉에서 'var1 !=var1[1]'을 만족시키면 현재가가 달라질때마다 10분동안 계속 소리가 발생하게되니 너무 시끄럽군요.
현재봉에서도 한번만 소리가 재생되도록 수식 좀 고쳐주세요.
if var1 != var1[1] Then
PlaySound("C:₩WINDOWS₩Media₩notify.wav");
2009-03-25
905
글번호 21182
답변완료
N일전 조건만족 횟수
1. data2 는 60분봉이고 본챠트 1초 챠트 입니다.
2. 조건1은 openD(0) > CloseD(1) 입니다.
3. 조건2는 openD(0) > CloseD(0) 입니다.
4. 오늘부터 N일까지 조건1을 만족하는 일수를 messagelog로 표시하고 싶습니다.
5. 오늘부터 N일까지 조건1과 조건2을 만족하는 일수를 messagelog로 표시하고 싶습니다.
수식을 아래와 같이 수식을 많들어 봤는데 debug 제대로 나오지 않습니다.
############################################################################
input : N(90);
Var : 날짜count(0), 조건만족횟수(0), 양봉갯수(0);
Condition1 = Data2(OpenD(0)) > Data2(CloseD(1));
Condition2 = Data2(CloseD(0)) > Data2(OpenD(0));
Cleardebug();
For 날짜count = 0 To N
{
If Data2(Date[날짜count]) <= Data2(Date[0]) And Condition1 Then
{
조건만족횟수 = 조건만족횟수 + 1;
MessageLog("조건만족횟수=%0.f", 조건만족횟수);
If Data2(Date[날짜count]) <= Data2(Date[0]) And Condition1 And Condition2 Then
{
양봉갯수 = 양봉갯수 + 1;
MessageLog("양봉갯수=%0.f", 양봉갯수);
}
}
}
If OpenD(0) > CloseD(1) Then
{
buy("매수");
}
SetStopEndofday(145000);
2009-03-25
863
글번호 21178