커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1777
글번호 230811
답변완료
수식 문의
안녕하세요?
data2의 분봉에서, 어제의 종가에서부터 오늘의 값들이 시작되도록,
즉, 그림의 갭을 없애도록 수식 부탁드립니다.
감사합니다.
2020-11-24
562
글번호 144171
답변완료
70019번 답변부탁드립니다.
바쁘시겠지만
검증에서 오류가 나왔습니다.
꼭 좀 부탁합니다.
2020-11-24
536
글번호 144170
답변완료
수식문의
안녕하세요, 아래와 같은 2가지 고저 라인 지표 구현을 문의 드립니다
1. 봉기준 고저라인(1)
-고점 라인: 현재 봉을 제외한 "A" 기간 중 양봉의 종가라인. 해당 양봉 발생 후 "n" 봉 이내에 양봉의 종가가 "m"틱 이내에 있을때 라인 형성
-저점 라인: 현재 봉을 제외한 "A" 기간 중 음봉의 종가라인. 해당 음봉 발생 후 "n" 봉 이내에 음봉의 종가가 "m"틱 이내에 있을때 라인 형성
-두개의 라인은 차트 우측 끝까지 표시되고 가격이 표시됨
(ex) 저점경우: 현재봉 기준 "20"봉 이내의 최저가 음봉 발생 후 해당 최저가 음봉 "5"봉 중 하나의 음봉이 최저가 종가의 "10" 틱이내 "2'회 발생시 라인 형성
2. 봉기준 고저라인(2)
-고점 라인: 현재 봉을 제외한 "A" 기간 중 양봉의 종가라인. 해당 양봉은 직전과 직후의 "B" 갯수 봉보다 종가가 높아야 함
-저점 라인: 현재 봉을 제외한 "A" 기간 중 음봉의 종가라인. 해당 음봉은 직전과 직후의 "B" 갯수 봉보다 종가가 낮아야 함
(ex) 저점경우: 현재봉 기준 "20"봉 이내의 최저가 음봉 발생 후 . 해당 봉 직전, 직후 "2" 봉 중 최저 종가에 해당할 경우 라인 형성
항상 많은 도움이 되고 있습니다. 감사합니다
2020-11-24
585
글번호 144169
답변완료
문의 드립니다.
아래 내용을 강조나 시스템에서 사용할 때는 어떤 식으로 표현해야 하나요?
안녕하세요
예스스탁입니다.
후행스팬은 종가를 과거 N봉전으로 이동한 선입니다.
FixPlotShift함수로 이동하시면 됩니다.
Plot1(C,"종가");
FixPlotShift(1,-26);
즐거운 하루되세요
> alltoone 님이 쓴 글입니다.
> 제목 : 질문 드립니다.
> 일목균형표 지표를 차트에 표현할 때,
선행스팬은 [26]으로 표현할 수 있는데,
후행스팬은 어떻게 표현할 방법이 없나요?
지표 속성 - 차트 표시 말구요,
선행스팬처럼 수식에서 알고 싶습니다.
답변 감사드립니다.
2020-11-24
2159
글번호 144158
답변완료
69922번 질문에 대한 답변 주셨는데.. 수식 적용이 안되네요
69922번 질문에 대한 답변을 올려 주셨는데
수정해 주신 수식을 적용해보니
신호가 발생되지 않습니다
확인 부탁 드립니다.
2020-11-24
607
글번호 144157
답변완료
일봉차트에서 월봉 시가, 종가, 저가, 고가 표현
월봉 관련 Q&A를 모두 살펴봤는데,
일봉차트에서 시가, 저가, 고가를 그리는 것은 잘 참고 하고 있습니다.
그런데 월봉 종가를 그리는 것은 올라와 있지 않아서 문의드립니다~
2020-11-24
917
글번호 144156
답변완료
매매금액 고정시 설정창의 수량
안녕하세요
고생이 많으십니다
수식작성시 진입수량을 금액/C 등으로 고정시킬 경우
시스템트레이딩 설정창의 비용/수량 설정은 무시되는 것인지 궁금합니다.
답변 부탁드립니다
감사합니다.
2020-11-24
560
글번호 144155
답변완료
수식 수정 부탁합니다.
아래와 같이 9시부터 매매 시작해서 23시 55분봉 종가에서 청산하는 수식을
9시부터 매매해서 23시 55분 전까지만 진입 허용하고,
청산은 다음날 5시에 하는 식으로 변경 부탁합니다.
input : starttime(090000),endtime(235500);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
if Tcond == true then
{
2020-11-24
438
글번호 144154
답변완료
국내 주식 수식 보완좀 부탁드릴께요~~
국내주식입니다. (삼성전자)
문의:차트설정을 data1로 일봉으로 설정하면 되나요? 아니면 분봉으로 설정해야되나요?
아니면 같은 종목을 data1(10분봉) 과 data2(일봉) 로 구분해야할까요?
알려주시면 감사하겠습니다.
매수 조건 ( 누적 매수 )
* 오후 3시 10분에 아래조건에 해당하는 상황에 맞는 조건에 매수 진입
1. MFI(14) < 30 일때 10만원 진입
2. MFI(14) < 20 일때 20만원 진입
4. MFI(14) < 10 일때 30만원 진입
5. RSI(14) < 30 일때 10만원 진입
6. RSI(14) < 20 일때 20만원 진입
7. RSI(14) < 10 일때 30만원 진입
예를들어 오후 3시 10분에 MFI(14)< 15 이면서 RSI(14)< 25 이라면 20만원+10만원 총 30만원 매수 진행 입니다.
매수 청산 조건
* 오전 9시 10분에 아래조건에 해당하는 조건시 분할매도( 동일금액 25%씩 4일에 걸쳐 청산)
1. MFI(14) > 80 또는 RSI(14) > 70 일때
================================================================================
아래수식으로 잘 활용하고 있습니다.
그런데 개선점을 발견했습니다.
매도 조건 발생시 보유분의 일정분량만큼 분할매도로 청산하는 수식인데요...
분할매도되는 조건에서는 신규 매수가 않되게 수식 보정 부탁드리겠습니다
아래수식입니다.
==============================================================================
input : 시작일(19001107);
input : 일봉RSI기간(30);
input : 일봉RSI값1(52),일봉RSI값2(36),일봉RSI값3(30);
input : 최대투자금액(500);
input : 진입금액1(5);
input : 진입금액2(15);
input : 진입금액3(20);
input : 진입금액4(25);
input : 진입금액5(30);
input : 진입금액6(35);
input : 진입금액7(40);
input : 진입금액8(50);
input : 진입금액9(60);
input : 진입금액10(70);
input : 이차진입금액(100);
input : 삼차진입금액(200);
input : MFI기간(15),MFI값(90);
input : 심리도기간(15),심리도값(80);
input : 분할매도횟수(50);
input : 분할매도퍼센트(2);
input : 청산수익률(4);
var : mav(0,data2),MM(0,Data3),SS(0,Data3);
var : MMM(0,Data2),SSS(0,Data2),Xcnt(0,Data2),Xvol(0,data1);
MM = Data3(mfi(MFI기간));
SS = Data3(Simrido(심리도기간));
MMM = Data2(mfi(MFI기간));
SSS = Data2(Simrido(심리도기간));
var : vol(0);
var : RSI2(0,Data2);
RSI2 = Data2(RSI(일봉RSI기간));
if Data1(sDate) >= 시작일 Then
{
if MarketPosition == 0 or (MarketPosition == 1 and AvgEntryPrice*CurrentContracts < 최대투자금액*10000 ) Then
{
if data1(sTime == 93000 or sTime == 120000 ) Then # or sTime == 123000
{
if Data2(RSI2 > 일봉RSI값1) Then
{
if MarketPosition == 0 or (MarketPosition == 1 and C >= AvgEntryPrice*0.98) Then
vol = Floor(진입금액1*10000/c);
if MarketPosition == 1 and C < AvgEntryPrice*0.98 and C >= AvgEntryPrice*0.96 Then
vol = Floor(진입금액2*10000/c);
if MarketPosition == 1 and C < AvgEntryPrice*0.96 and C >= AvgEntryPrice*0.94 Then
vol = Floor(진입금액3*10000/c);
if MarketPosition == 1 and C < AvgEntryPrice*0.94 and C >= AvgEntryPrice*0.92 Then
vol = Floor(진입금액4*10000/c);
if MarketPosition == 1 and C < AvgEntryPrice*0.92 and C >= AvgEntryPrice*0.90 Then
vol = Floor(진입금액5*10000/c);
if MarketPosition == 1 and C < AvgEntryPrice*0.90 and C >= AvgEntryPrice*0.88 Then
vol = Floor(진입금액6*10000/c);
if MarketPosition == 1 and C < AvgEntryPrice*0.88 and C >= AvgEntryPrice*0.86 Then
vol = Floor(진입금액7*10000/c);
if MarketPosition == 1 and C < AvgEntryPrice*0.86 and C >= AvgEntryPrice*0.84 Then
vol = Floor(진입금액8*10000/c);
if MarketPosition == 1 and C < AvgEntryPrice*0.84 and C >= AvgEntryPrice*0.82 Then
vol = Floor(진입금액9*10000/c);
if MarketPosition == 1 and C < AvgEntryPrice*0.82 and C >= AvgEntryPrice*0.80 Then
vol = Floor(진입금액10*10000/c);
Buy("불타기매매1",OnClose,DEf,vol);
}
if Data2(RSI2 < 일봉RSI값2 and RSI2 > 일봉RSI값3 ) Then
{
Buy("하락과도매매1",OnClose,DEf,Floor(이차진입금액*10000/c));
}
if Data2(RSI2 < 일봉RSI값3) Then
{
Buy("폭락과도매매1",OnClose,DEf,Floor(삼차진입금액*10000/c));
}
}
}
}
SetStopProfittarget(청산수익률,PercentStop);
if MM > MFI값 or SS > 심리도값 or MMM > MFI값 or SSS > 심리도값 Then
{
xcnt = xcnt+1;
if Xcnt <= (분할매도횟수-1) Then
Xvol = Floor(MaxContracts*분할매도퍼센트/100);
else
Xvol = CurrentContracts;
if Xcnt <= 분할매도횟수 Then
exitlong("청산",atlimit,C,"",Xvol,2);
}
Else
xcnt = 0;
2020-11-29
592
글번호 144153