커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1581
글번호 230811
답변완료
부탁드립니다.
1. 보조차트1(1.00-1.30 사이 일때),보조차트2(1.70-2.00 사이 일때),보조차트3(2.60-3.00 사이 일때),보조차트4(3.60-4.00 사이 일때),보조차트5(4.50-5.10 사이 일때) 중에 2개 이상 양봉일 때에는 주차트에 매수표시를 그 반대이면 매도표시를 해 주세요
고맙습니다.
2023-02-09
745
글번호 166165
답변완료
청산봉과 재진입
1)청산봉과 스토캐스틱의 골드 크로스가 동시에 발생할때
골드에 진입하려면 산식을 어떻게 해야 하나요?
또한 실전에서 과연 체결이 다른경우와 비교시 효과적일까요?
차라리 골드 확인후 다음봉에서 진입하는것이 더 나을까요?
2)골드크로스가 0900에 발생할때 와
어제 마지막 발생한 스토캐스틱의 crossup과 그 전에 발생한 crossdown사이의 봉수를 count하는 방법은???
2023-02-10
981
글번호 166164
답변완료
문의
이동평균선 5. 10. 20 일 선이 상승추세인 종목을 검색하고 싶습니다.
2023-02-09
960
글번호 166163
답변완료
행복; 지표식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
지표식 관련입니다
<질문>
- 2023년 1월 25일부터 바뀌는 호가체계로 인하여
상한가를 어떻게 표시해야 하는가에 대한 질문과 답변을 보았습니다
- 2023년 1월 19일에 있는 답변이 <아래>와 같습니다
- 근데 오류가 있는 것 같습니다
- if close == 상한가 then
plot1(close); // 막대그래프로 표시
- 이 때 2023년 2월 8일의 상한가 종목인 케이피엠테크(487원), 한일진공(550원), 텔콘RF제약(1,544원)과 2023년 2월 9일의 상한가 종목인 웅진(1898원)에서는 표시가 되지 않고 있습니다
- 확인 부탁드립니다
- 수고하십시요^^
###################< 아래 >##############################
============<변경된 상한가 시작>====================================
var : 상한가(0), UpLimit(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0);
if date >= 19981207 then
{
if date < 20050328 && CodeCategory() == 2 then
UpLimit = (BP[0] * 1.12);
Else if date >= 20050328 and date < 20150615 Then
UpLimit = (BP[0] * 1.15);
Else
UpLimit = (BP[0] * 1.30);
if date >= 20230125 Then
{
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
Else
{
if CodeCategory() == 2 then
{
if date >= 20030721 then
{
up1 = int(UpLimit/100+0.00001)*100;
up2 = int(UpLimit/100+0.00001)*100;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
else
{
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/10+0.00001)*10;
up7 = int(UpLimit/1+0.00001)*1;
}
}
Else
{
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
}
if CodeCategory() == 1 || CodeCategory() == 2 then
{
if date >= 20230125 Then
{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 200000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=200000, up2, up3);
Else If BP >= 20000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=20000, up4, up5);
Else If BP >= 2000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=2000, up6, up6);
}
Else
{
if sdate < 20101004 Then
{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 100000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=100000, up2, up3);
Else If BP >= 10000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=10000, up4, up5);
Else If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up6);
}
Else
{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 100000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=100000, up2, up3);
Else If BP >= 10000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=10000, up4, up5);
Else If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up7);
}
}
}
else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF
상한가 = up6;
}
}
============<변경된 상한가 끝>====================================
2023-02-09
1385
글번호 166162
답변완료
문의드립니다.
지그재그차트에서 상단고점 꼭지점 수평라인은 유지하고
하단 저점 변곡점 수평라인은 삭제 요청합니다.
Input:전환비율(5);
Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),ADXV1(0);
Array:고[10,4](0),저[10,4](0);
HH = H;
LL = L;
If Index == 0 Then
{
고[1,1] = HH;
고[1,2] = 0;
고[1,3] = sDate;
고[1,4] = sTime;
저[1,1] = LL;
저[1,2] = 0;
저[1,3] = sDate;
저[1,4] = sTime;
}
If Index > 0 Then
{
hiBar = hiBar + 1;
loBar = loBar + 1;
}
If HH[hiBar] < HH Then hiBar = 0;
If LL[loBar] > LL Then loBar = 0;
Condition1 = 저[1,1] * (1 + (전환비율/100)) < HH and hiBar == 0;
Condition2 = 고[1,1] * (1 - (전환비율/100)) > LL and loBar == 0;
처리구분 = "";
If Condition1 and Condition2 Then // 고점과 저점 조건 동시 만족
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar= -1;
loBar= -1;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,RED);
}
Else If 고[1,1] < HH[hiBar] Then// 1번 고점보다 높은 고가 출현
{
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar= -1;
loBar= -1;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
}
If 처리구분 == "저점처리" Then
{
If 최종꼭지점 == "고점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar= -1;
loBar= -1;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,BLUE);
}
Else If 저[1,1] > LL[loBar] Then
{
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar= -1;
loBar= -1;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
}
최종꼭지점 = "저점";
}
2023-02-10
1307
글번호 166161
답변완료
문의드립니다
30일 기준 각각
기하이동평균, 삼각이동평균, 평탄화 이동평균 의 수식을 구하고 싶습니다
2023-02-09
988
글번호 166160
답변완료
문의드립니다
30일 기준 각각
기하이동평균, 삼각이동평균, 평탄화 이동평균 의 수식을 구하고 싶습니다
2023-02-09
754
글번호 166159
답변완료
지표식 문의드립니다.
매번 성실한 답변 감사드립니다.
분봉기준입니다.
당일 최고가가 전일종가 대비 15% 이상이고 슬로우 스톡캐스틱이 20 이상일때
스톡캐스틱 슬로우가 20 이하가 되기 위해 필요한 현재가 라인을 긋고 싶습니다.
당일 최고가가 15%가 안될때는 전일 종가를, 스톡캐스틱이 20 이하일때는 직전 값을
사용합니다.
스톡캐스틱 수식을 역산하여 현재가 값을 구하는게 어려워서 도움을 청합니다.
감사합니다.
2023-02-09
842
글번호 166158
답변완료
문의드립니다~
일차트나 분차트에 주봉 기준으로 계산된 디마크선이 나오게 하고 싶습니다~
화면에 수치도 보이게 하고 싶습니다~ 감사합니다~
2023-02-09
817
글번호 166157