커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6142
글번호 230811
답변완료
수식 수정 의뢰드립니다.
안녕하세요! 아래의 수식을 당일에만 적용이 되게 수정을 부탁드립니다!
Input:length(6),종가사용여부(0),파동선두께(1),수치표시(1);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),tl2(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = IFF(종가사용여부==1,C,H);
LL = IFF(종가사용여부==1,C,L);
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
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
{
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
If 수치표시 == -1 Then
{
Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2));
Text_SetStyle(Text1, 2, 1);
Text_SetColor(Text1,BLACK);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,GREEn);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
TL_SetEnd(TL2,고[1,3],고[1,4],고[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == -1 Then
{
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,NumToStr(고[1,1],2));
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
If 수치표시 == -1 Then
{
Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2));
Text_SetStyle(Text1, 2, 0);
Text_SetColor(Text1,BLACK);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,green);
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
TL_SetEnd(TL2,저[1,3],저[1,4],저[1,1]);
If 수치표시 == -1 Then
{
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,NumToStr(저[1,1],2));
}
}
최종꼭지점 = "저점";
}
#===============피보나치 되돌림=======================#
Array: fr[15,4](0); // 1:비율, 2:값, 3:라인번호, 4:텍스트번호 <= 2차원 배열입니다.
If Index == 0 Then // 첫번째 칼럼에는 피보나치 비율을
{
fr[1,1] = 0;
fr[2,1] = 0.236;
fr[3,1] = 0.382;
fr[4,1] = 0.50;
fr[5,1] = 0.618;
fr[6,1] = 0.764;
fr[7,1] = 1;
fr[8,1] = 1.236;
fr[9,1] = 1.382;
fr[10,1] = 1.50;
fr[11,1] = 1.618;
fr[12,1] = 2;
fr[13,1] = 2.618;
fr[14,1] = 4.236;
fr[15,1] = 6.845;
}
If 최종꼭지점[1] == "고점" and 최종꼭지점 == "저점" Then // 추세가 바뀔 때 피보나치 라인을 계산
{
for j = 1 to 15
{
If fr[j,3] > 0 Then TL_Delete(fr[j,3]); // 기존의 라인은 지우고
fr[j,2] = 고[1,1] - ((고[1,1] - 저[2,1]) * fr[j,1]); // 피보나치 비율을 곱해서 계산
fr[j,3] = TL_New(고[1,3],고[1,4],fr[j,2],sDate,sTime,fr[j,2]); // 라인을 생성
TL_SetExtRight(fr[j,3],true);
TL_SetColor(fr[j,3],blue);
}
}
Else If 최종꼭지점[1] == "저점" and 최종꼭지점 == "고점" Then
{
for j = 1 to 15
{
If fr[j,3] > 0 Then TL_Delete(fr[j,3]);
fr[j,2] = 저[1,1] + ((고[2,1] - 저[1,1]) * fr[j,1]);
fr[j,3] = TL_New(저[1,3],저[1,4],fr[j,2],sDate,sTime,fr[j,2]);
TL_SetExtRight(fr[j,3],true);
TL_SetColor(fr[j,3],red);
}
}
Else // 추세변동이 없으면 기존 피보나치 라인을 연장한다.
{
for j = 1 to 15
{
TL_SetEnd(fr[j,3],sDate,sTime,fr[j,2]);
}
}
for j = 1 to 15 {
If 수치표시 == 1 Then
{
If fr[j,4] > 0 Then Text_Delete(fr[j,4]);
fr[j,4] = Text_New(고[1,3],고[1,4],fr[j,2],"(" + NumToStr(fr[j,1]*100,1) + "%) " + NumToStr(fr[j,2],2));
Text_SetStyle(fr[j,4], 0, 1);
Text_SetColor(fr[j,4], Lgreen);
Text_SetLocation(fr[j,4], sdate, stime, fr[j,2]);
}
If 수치표시 == 1 Then
{
If fr[j,4] > 0 Then Text_Delete(fr[j,4]);
fr[j,4] = Text_New(저[1,3],저[1,4],fr[j,2],"(" + NumToStr(fr[j,1]*100,1) + "%) " + NumToStr(fr[j,2],2));
Text_SetStyle(fr[j,4], 0, 1);
Text_SetColor(fr[j,4], Lgreen);
Text_SetLocation(fr[j,4], sdate, stime, fr[j,2]);
}
}
2022-04-01
968
글번호 157659
답변완료
수식
안녕하세요. 항상 감사드립니다.
1.종가 파라볼릭 차트 (연결)
파라볼릭 양전환 이후 최고가, 최저가 표시
파라볼릭 음전환 이후 최고가, 최저가 표시
2.종가 파라볼릭 차트 (당일)
파라볼릭 양전환 이후 최고가, 최저가 표시
파라볼릭 음전환 이후 최고가, 최저가 표시
감사합니다.
2022-04-01
827
글번호 157658
베어샘 님에 의해서 삭제되었습니다.
2022-04-01
7
글번호 157657
답변완료
수식문의합니다~~
안녕하세요~
아래 두 함수는 기능이 같은거 아닌가요?
SetStopProfitTarget
OpenPositionProfit
2022-04-01
865
글번호 157649
답변완료
안녕하세요
이평선5가이평선20골드매수
이평선5가이평선20골드매도
매매시간09시부터15시
당일손실 100틱이나면 강제청산후매매정지
당일이익 100틱이나면 강제청산후매매정지
매매횟수3회후강제청산후매매정지
부탁드려요
2022-04-01
871
글번호 157647
답변완료
시스템 트레이딩 수식 부탁 드립니다.
당일 시가 보다 -8% 빠지면 매수 당일 최저가 +8% 상승하면 매도
수식 부탁 드립니다.
2022-03-31
1122
글번호 157646
답변완료
시스템 트레이딩 수식 부탁 드립니다.
30봉 종가 평균 보다 -5% 떨어지면 매수
30봉 종가 평균 보다 +5% 오르면 매도 수식 부탁 드립니다.
2022-03-31
918
글번호 157645
답변완료
이런거 가능할까요?
10 에 매수진입했을때
상승했을 경우 10.5 에 스탑로스
이후 x 만큼 상승했을 경우 전저점으로 스탑로스 변경
조건식으로 스탑로스나 스탑프로핏 능동적 변경이 가능한가요 ?
2022-03-31
769
글번호 157643
답변완료
문의
3분봉 기준 스톡캐스틱 지표를 1분봉에 적용하게 부탁드립니다. 외부변수로 해서 분봉기준을 자유롭게 바꿀수 잇어면 더 좋겠습니다
2022-03-31
956
글번호 157634