커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5430
글번호 230811
답변완료
수식문의
5일선을 분봉에서 추세선을 사용하여 그렸는데 마지막날을 기준으로 추세라인이 그려집니다. 챠트를 뒤로 돌려서 볼때 날이 바뀌면 그 날 기준으로 5일선을 그렸으면 합니다.
가령 오늘이 5분봉 챠트 기준으로 12/8일이면 이날 기준으로 5일선을 그리고 만약 12/6일 챠트를 보게 되면 그 날 기준으로 5일선을 그려주었으면 합니다.
수식 부탁드려요..
sumV1 = 0;
for count = 0 to 5{
if count < 5 Then
sumV1 = sumV1+DayClose(count);
}
maV1 = sumV1 / P1;
//일이평선
TL_Delete(TL1);
TL1 = TL_New(sdate[1],stime[1],maV1,sdate,stime,maV1);
TL_SetColor(TL1,RED);
TL_SetSize(TL1,0);
TL_SetExtLeft(TL1,true);
2019-12-08
279
글번호 134220
답변완료
문의드립니다
안녕하세요~
1) 10 이평을 하향돌파 했을때 첨부파일 그림처럼 수렴확산 지표에서 다이버가 있으면 매도하는 수식을 알고 싶습니다. 수렴확산은 50 이평과 80 이평으로 부탁드려요. 혹시 가능하다면 설명 달아주시면 감사하겠습니다
반대의 경우엔 매수 입니다
2) 그림 2번의 내용도 부탁드립니다
3) 손절 수식. 매수 진입했다면 신호의 이전 5캔들 이내의 저점-1틱에 손절. 매도 진입했다면 신호의 이전 5캔들 이내의 고점+1틱에 손절 / 익절은 5틱
늘 감사드립니다. 즐거운 하루 되세요~
2019-12-09
395
글번호 134219
답변완료
시스템 문의 드립니다.
항상 도움 주셔서 감사합니다.
종목 : 국선
질문사항 : 2개의 자동매매 시스템을 운영하고자 합니다.
1개의 계좌를 사용시
1개의 시스템에서는 매수이고
또다른 1개의 시스템에서는 매도일때
실제 매매시 먼저 진입한 매수 포지션이
다른 시스템에서의 매도에 의해
기존 매수 포지션이 청산이 될것 같은데요.
[실제 프로그램 작성은 매수후 청산은 종가에 청산하게 되어 있습니다]
이럴때는 어떻게 해야 하는지요?
계좌를 2개을 운영해야 하나요?
아니면
1개의 계좌를 가지고 2개의 시스템을 운영할수 있는 방법은 없나요?
만약에 2개의 계좌를 이용한다면
시스템에서 각각의 계좌 지정은 어떻게 하나요?
문2)
그리고 한번에 2계약씩 매수하려면 어떻게 해야 하나요?
문3)
만약 문1)과 같이 맨 처음 진입한 매수 포지션이 다른 시스템 매도에 의해
청산이 되지 않게 하는 방법이 있는지요.
도움 부탁드립니다.
감사합니다.
2019-12-10
274
글번호 134218
답변완료
복합 분봉에서 일봉 ADX 지표 계산
복합 분봉에 일봉의 ADX를 표시하기 위해 다음과 같이 식을 짜 보았으나 첨부파일과 같이 매우 다른 결과를 얻게 되었습니다.
문제점이 무엇인지 수정 부탁드립니다.
감사합니다.
# ===<<< 분봉 차트에서 일봉 시고저종 계산 >>>===========================================
Arrays : 일봉_시가[20](0), 일봉_고가[20](0), 일봉_저가[20](0), 일봉_종가[20](0);
Variable : cnt(0);
If sTime[1] < 080000 And 080000 <= sTime Then Begin
일봉_시가[0] = Open; 일봉_고가[0] = High;
일봉_저가[0] = Low; 일봉_종가[0] = Close;
End;
If sTime[1] < 170000 And 170000 <= sTime Then Begin
For cnt = 19 DownTo 1 Begin
일봉_시가[cnt] = 일봉_시가[cnt-1]; 일봉_고가[cnt] = 일봉_고가[cnt-1];
일봉_저가[cnt] = 일봉_저가[cnt-1]; 일봉_종가[cnt] = 일봉_종가[cnt-1];
End;
일봉_시가[0] = Open; 일봉_고가[0] = High;
일봉_저가[0] = Low; 일봉_종가[0] = Close;
End;
If 일봉_고가[0] < High Then 일봉_고가[0] = High;
If 일봉_저가[0] > Low Then 일봉_저가[0] = Low;
일봉_종가[0] = Close;
# ===<<< 분봉 차트에서 일봉 DMI와 ADX 계산 >>>===========================================
Arrays : Positive_DM[14](0), Negative_DM[14](0), True_Range[14](0);
Arrays : Positive_DI[14](0), Negative_DI[14](0), DX[14](0), Average_DX[14](0);
Variables : Positive_DM14(0), Negative_DM14(0), True_Range14(0);
Arrays : Positive_DI14[14](0), Negative_DI14[14](0);
Variables : ADX_var1(0), ADX_var2(0), ADX_var3(0);
Variables : sum1(0), sum2(0), sum3(0), sum4(0), len(14);
If 일봉_고가[1] > 일봉_고가[0] Then Positive_DM[0] = 0;
Else Positive_DM[0] = 일봉_고가[0] - 일봉_저가[1];
If 일봉_저가[1] < 일봉_저가[0] Then Positive_DM[0] = 0;
Else Positive_DM[0] = 일봉_저가[1] - 일봉_저가[0];
ADX_var1 = Abs(일봉_고가[0]-일봉_저가[0]);
ADX_var2 = Abs(일봉_고가[0]-일봉_종가[1]);
ADX_var3 = Abs(일봉_저가[0]-일봉_종가[1]);
True_Range[0] = Max(ADX_var1, ADX_var2, ADX_var3);
Positive_DI[0] = Positive_DM[0] / True_Range[0];
Negative_DI[0] = Negative_DM[0] / True_Range[0];
sum1 = 0; # 단순이동평균
sum2 = 0;
sum3 = 0;
For cnt = 0 to len-1 Begin
sum1 = sum1 + Positive_DM[cnt];
sum2 = sum2 + Negative_DM[cnt];
sum3 = sum3 + True_Range[cnt];
End;
Positive_DM14 = sum1 / len;
Negative_DM14 = sum2 / len;
True_Range14 = sum3 / len;
Positive_DI14[0] = Positive_DM14 / True_Range14;
Negative_DI14[0] = Negative_DM14 / True_Range14;
DX[0] = Abs(Positive_DI[0]-Negative_DI[0]) / (Positive_DI[0]+Negative_DI[0]) * 100;
sum4 = 0; # 단순이동평균
For cnt = 0 to len-1 Begin
sum4 = sum4 + DX[cnt];
End;
Average_DX[0] = sum4 /len;
If sTime[1] < 170000 And 170000 <= sTime Then Begin
For cnt = 14 DownTo 1 Begin # 배열 이동
Positive_DM[cnt] = Positive_DM[cnt-1];
Negative_DM[cnt] = Negative_DM[cnt-1];
True_Range[cnt] = True_Range[cnt-1];
Positive_DI[cnt] = Positive_DI[cnt-1];
Negative_DI[cnt] = Negative_DI[cnt-1];
Positive_DI14[cnt] = Positive_DI14[cnt-1];
Negative_DI14[cnt] = Negative_DI14[cnt-1];
DX[cnt] = DX[cnt-1];
Average_DX[cnt] = Average_DX[cnt-1];
End;
End;
# ===<<< 분봉 차트에서 화면 출력 >>>========================================
If Positive_DI[1] < Positive_DI[0] Then Plot1(Positive_DI[0],"Positive_DI", RED);
Else If Positive_DI[1] > Positive_DI[0] Then Plot1(Positive_DI[0],"Positive_DI", BLUE);
If Negative_DI[1] < Negative_DI[0] Then Plot2(Negative_DI[0],"Negative_DI", RED);
Else If Negative_DI[1] > Negative_DI[0] Then Plot2(Negative_DI[0],"Negative_DI", BLUE);
If Average_DX[1] < Average_DX[0] Then Plot3(Average_DX[0],"Average_DX", RED);
Else If Average_DX[1] > Average_DX[0] Then Plot3(Average_DX[0],"Average_DX", BLUE);
# ===<<< 기준선 화면 출력 >>>========================================
PlotBaseLine1(20,"20",Gray);
2019-12-08
498
글번호 134217
답변완료
선물신호를 옵션 신호로 부탁드립니다.
안녕하세요.
항상 수고가 많으십니다.
질문드립니다 -----------------------------------------------------------------------
(예제 전략식은 c > 20이평 : 매수, c < 20이평 : 매도)
이해를 돕기위해
선물신호에서 보통 5번의 매수신호와 5번의 매도신호가 발생한다고 가정하겠습니다.
신호발생시 진입수량은 1개씩입니다.
이것을 옵션신호로 바꾸려고합니다.
즉, 매수신호 발생시 -> 콜매수 1개
매도신호 발생시 -> 풋매수 1개
나중에는 결국, 콜매수 5개 풋매수 5개 양매수 상태가 되겠지요.
이 상태에서 장종료 무렵 콜과 풋을 동시에 전부 청산하려합니다.
참조데이타를 이용해서 해보려는데 잘 되지를 않는군요.
도움 부탁드립니다.
-------------------------------------------------------------------------------------
항상 감사드립니다.
좋은 일만 많이 생기시기를 ......
2019-12-09
295
글번호 134216
답변완료
부탁드리겠습니다
다른 분봉의 볼린저를 넣을 수 있게 만들수 있는지요 만들 수 있음 고맙겠습니다
2019-12-08
246
글번호 134215
답변완료
문의 드립니다.
변환좀 부탁드립니다.
(log(sum(c,m)/m)-log(sum(c,m,22*n)/m))*1000/n
지표조건
m 15
n 1
2019-12-08
235
글번호 134214
용인테니스왕자 님에 의해서 삭제되었습니다.
2019-12-07
0
글번호 134213
답변완료
안녕하세요.
안녕하세요.
input : N(1);
Plot1(((dayHigh(N)-dayLow(N))*0.618)+dayHigh(N), "목표1");
Plot2(((dayHigh(N)-dayLow(N))*0.382)+dayHigh(N), "목표2");
Plot3((dayLow(N)-(dayHigh(N)-dayLow(N))*0.618), "-목표1");
Plot4((dayLow(N)-(dayHigh(N)-dayLow(N))*0.382), "-목표2");
지표선 위에 가격수치를 텍스트로 나타내고 싶습니다.
선 윗쪽 중앙에 초록색으로 부탁드립니다.
감사합니다.
2019-12-07
233
글번호 134212