커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1784
글번호 230811
답변완료
(수식질문)시장가로 직접 진입 후 자동 손절/목표수익 청산 적용시키기
안녕하세요.한국투자증권 예스트레이더 사용자입니다.
시장가로 직접 호가 클릭하여 진입 후 목표수익은 ±40포인트 손절매는 ±20포인트가 되면 자동청산 시키는 수식은 어떻게 작성해야하나요?
exitlong, exitshort를 사용해서 청산수식 작성하는 법은 알겠는데
진입식을 적지 않으니까 시스템 적용이 되지않네요..호가주문 또는 미니주문에서 시장가로 직접주문해서 조건이 되면 자동청산되는 시스템을 적용하고자 하는데 진입식을 도저히 어떻게 해야할지 모르겠어요.. 시스템트레이딩 초보입니다.. 도와주시면 정말 감사하겠습니다..
2020-11-18
710
글번호 144021
답변완료
추가라인부탁드립니다.
안녕하세요...글번호 69918 에서 30분봉의 전봉종가라인 추가부탁드립니다.
plotno 64 30분봉의 전봉의종가라인수식 부탁드립니다.
(예) 9시~9.30분봉의종가라인은 9.31~10시까지
9.31~10시분봉의종가라인은 10~10.30분까지
이런식으로 장종료까지 그려지게요
수고하세요...꾸벅
2020-11-18
624
글번호 144004
보인다 님에 의해서 삭제되었습니다.
2020-11-18
0
글번호 144003
답변완료
종목을 참조데이터처럼 추가할 순 없나요?
시간이 없어서 이제서야 저번에 피드백 주신 실시간으로 변하는 옵션미결 만들어 보려고 했는데요 제가 착각을 했었네요 ㅠㅠ
1. 옵션 종목들을 하나의 차트에 참조데이터처럼 넣어서 접어 놓을 순 없는건가요?
현재 연결선물 30초 종목으로 외국인, 기관, 개인 현선물 데이터는 참조데이터 잘 쓰고 있는데요~ 이것처럼 종목자체의 값이나 미결을 참조데이터처럼 만들 순 없나요??
각각의 미결만 뽑아서 쓰려고 했는데.. 만약 안된다면.. 보기 불편하지만 종목을 칸 50개로 잡고 하나하나 추가해도 각각의 참조데이터 추출이 가능한가요..? 잘 몰라서 여쭈어 봅니다
2. 답변주신 식에 대한 이해가 잘 가지 않습니다 ㅠㅠ ### 써놓은 부분이 질문입니다.
여기서부터 작성해주신 답변인데요~
data1에서 data11까지 셋팅되어 있다고 가정하고 작성해 드립니다.
input : P1(5),P2(20);
var : O1(0,Data1),O2(0,Data2),O3(0,Data3),O4(0,Data4),O5(0,Data5);
var : O6(0,Data6),O7(0,Data7),O8(0,Data8),O9(0,Data9),O10(0,Data10),O11(0,Data11);
var : D1(0,Data1),D2(0,Data2),D3(0,Data3),D4(0,Data4),D5(0,Data5);
var : D6(0,Data6),D7(0,Data7),D8(0,Data8),D9(0,Data9),D10(0,Data10),D11(0,Data11);
var : A1(0,Data1),A2(0,Data2),A3(0,Data3),A4(0,Data4),A5(0,Data5);
var : A6(0,Data6),A7(0,Data7),A8(0,Data8),A9(0,Data9),A10(0,Data10),A11(0,Data11);
var : B1(0,Data1),B2(0,Data2),B3(0,Data3),B4(0,Data4),B5(0,Data5);
var : B6(0,Data6),B7(0,Data7),B8(0,Data8),B9(0,Data9),B10(0,Data10),B11(0,Data11);
###질문### 여기서 O1(0,Date1) 이라고 적어 주셨는데 이게 무슨 의미인가요?
if Data1(Bdate != Bdate[1]) Then
O1 = Data1(OI[1]);
if Data2(Bdate != Bdate[1]) Then
O2 = Data2(OI[1]);
if Data3(Bdate != Bdate[1]) Then
O3 = Data3(OI[1]);
if Data4(Bdate != Bdate[1]) Then
O4 = Data4(OI[1]);
if Data5(Bdate != Bdate[1]) Then
O5 = Data5(OI[1]);
if Data6(Bdate != Bdate[1]) Then
O6 = Data6(OI[1]);
if Data7(Bdate != Bdate[1]) Then
O7 = Data7(OI[1]);
if Data8(Bdate != Bdate[1]) Then
O8 = Data8(OI[1]);
if Data9(Bdate != Bdate[1]) Then
O9 = Data9(OI[1]);
if Data10(Bdate != Bdate[1]) Then
O10 = Data10(OI[1]);
if Data11(Bdate != Bdate[1]) Then
O11 = Data11(OI[1]);
###질문### Bdate와 sdate 차이가 무엇인가요?
D1 = Data1(OI)-D1;
D2 = Data2(OI)-D2;
D3 = Data3(OI)-D3;
D4 = Data4(OI)-D4;
D5 = Data5(OI)-D5;
D6 = Data6(OI)-D6;
D7 = Data7(OI)-D7;
D8 = Data8(OI)-D8;
D9 = Data8(OI)-D9;
D10 = Data8(OI)-D10;
D11 = Data8(OI)-D11;
###질문###
왜 D11에서 다시 D11을 빼는지요?
위에 써주신 식이 이게 당일 미결 구하는 식인가요? 이해가 잘 안가서요~
var1=oi;
var2=dayoi(1);
var3=var1-var2;
이렇게 쓰면 안되나요?
3. Plot을 고정시켜두고 Plot안에서 if문으로 변수를 바꿀 수 있나요?
ex) plot1(if(~~~~),예제,빨강)
ex) plot2(1,if(~~~~),예제,빨강)
4. 위에 plot 안에서 if문으로 변수를 바꿀 수 있다면 옵션미결을 등가기준으로 변하는 값을 볼 수 있을거 같은데요. plot4를 등가로 해서요 위아래 3개씩
plot1(7,if(~~~~),빨강)
plot1(6,if(~~~~),빨강)
plot1(5,if(~~~~),빨강)
plot1(4,if(~~~~),빨강)
plot1(3,if(~~~~),빨강)
plot1(2,if(~~~~),빨강)
plot1(1,if(~~~~),빨강)
2020-11-18
510
글번호 144002
234fsdae 님에 의해서 삭제되었습니다.
2020-11-18
26
글번호 144001
답변완료
예수금 기준 매수수량설정
예스스탁 덕에 제가 나날이 발전하는 기분이라, 감사드립니다.
표제 건 관련하여, YL을 작성했는데, 의도되로 표현이 어렵습니다.
<<의도 하는 매수 수량 설정조건:>>
1. (초기 실자금 + 실제 수익금 )/현재주가 = 매수수량
ex) 초기 실자금= 1000만원, 수익금 100만원,현재주가= 10만원, 매수수량 110주
or
2. 매수가능 예수금/ 현재주가 = 매수수량
ex) 현재시점 예수금 1000만원, 현재주가= 10만원, 매수수량 100주
Q.1
1번은 시뮬레이션상의 금액을 설정하기때문에, 실제 계좌와는 무관한 금액을 기준으로 수량산정이 되고 ex) netprofit은 실수익이 아닌 과거 시뮬레이션상의 금액이라, 저의 실계좌와 상이합니다.
동일(시뮬레이션수익=실계좌수익)하게 표현 할 방법이 있을까요.
#현재작성된 YL
INPUT: 손절선(5.5);
Input : 초기자산(1000000), 계좌리스크비율(2.0) ;
Var : 누적자산(0), 계산수량(0);
누적자산 = 초기자산 + netprofit;
//NETPROFIT 가상의 숫자라 시뮬레이션전용, 실전적용시 다른 숫자가 나옴.
계산수량 = int(( 누적자산 * 계좌리스크비율 / 100 )/(C*손절선 /100));
//
if //매수조건 생략
then
Buy("Buy", onclose,def, 계산수량 ); //계산수량= 매수수량
Q.2
2번 매수수량 산정방법을 적용하니, 과거에 실제 예수금이 적용이 안되어,
매수,매도 Signal이 사라져버립니다. 현재시점의 예수금을 기준으로 매수수량을 YL로 표현할
방법을 문의 드립니다.
INPUT: 손절선(5.5);
Input : 계좌리스크비율(2.0) , 예수금의투자비중 (0.25) ;
Var : 계산수량(0);
var : 예수금(0);
예수금 = GetUnclearedDeposits("xxxx*-xxxx-xxxx"); #계좌번호 지정
계산수량 = int( 예수금의투자비중 * ( 예수금 * 계좌리스크비율 / 100 )/(C*손절선 /100));
Buy("Buy", onclose,def, 계산수량 );
2020-11-18
521
글번호 143999
답변완료
문의드립니다!
안녕하세요!
아래수식에서 1) Data별로, 2) 각 Data에서 다시 고점 저점별로 각각
선의 굵기와 선의 형태를 지정할수있도록 수정 부탁드립니다
도와주심에 항상 감사드립니다!!
-------------------------------------------------------------------------------------
#Data1
var : D1(0,Data1),T1(0,Data1),H1(0,data1),L1(0,data1),HTL1(0,Data1),LTL1(0,Data1);
if data1(Bdate != Bdate[1]) Then
{
D1 = data1(sDate);
T1 = data1(sTime);
H1 = data1(H);
L1 = data1(L);
HTL1 = TL_New(D1,T1,h1,NextBarSdate,NextBarStime,h1);
LTL1 = TL_New(D1,T1,l1,NextBarSdate,NextBarStime,l1);
TL_SetColor(HTL1,RED);
TL_SetColor(LTL1,RED);
}
Else
{
if Data1(H) > H1 Then
{
H1 = Data1(H);
TL_SetBegin(HTL1,D1,T1,H1);
}
if Data1(L) < L1 Then
{
L1 = Data1(L);
TL_SetBegin(LTL1,D1,T1,L1);
}
TL_SetEnd(HTL1,sDate,sTime,H1);
TL_SetEnd(LTL1,sDate,sTime,L1);
}
#Data2
var : D2(0,Data2),T2(0,Data2),H2(0,data2),L2(0,data2),HTL2(0,Data2),LTL2(0,Data2);
if data2(Bdate != Bdate[1]) Then
{
D2 = data2(sDate);
T2 = data2(sTime);
H2 = data2(H);
L2 = data2(L);
HTL2 = TL_New(D2,T2,h2,NextBarSdate,NextBarStime,h2);
LTL2 = TL_New(D2,T2,l2,NextBarSdate,NextBarStime,l2);
TL_SetColor(HTL2,cyan);
TL_SetColor(LTL2,cyan);
}
Else
{
if Data2(H) > H2 Then
{
H2 = Data2(H);
TL_SetBegin(HTL2,D2,T2,H2);
}
if Data2(L) < L2 Then
{
L2 = Data2(L);
TL_SetBegin(LTL2,D2,T2,L2);
}
TL_SetEnd(HTL2,sDate,sTime,H2);
TL_SetEnd(LTL2,sDate,sTime,L2);
}
#Data3
var : D3(0,Data3),T3(0,Data3),H3(0,data3),L3(0,data3),HTL3(0,Data3),LTL3(0,Data3);
if data3(Bdate != Bdate[1]) Then
{
D3 = data3(sDate);
T3 = data3(sTime);
H3 = data3(H);
L3 = data3(L);
HTL3 = TL_New(D3,T3,h3,NextBarSdate,NextBarStime,h3);
LTL3 = TL_New(D3,T3,l3,NextBarSdate,NextBarStime,l3);
TL_SetColor(HTL3,white);
TL_SetColor(LTL3,white);
}
Else
{
if Data3(H) > H3 Then
{
H3 = Data3(H);
TL_SetBegin(HTL3,D3,T3,H3);
}
if Data3(L) < L3 Then
{
L3 = Data3(L);
TL_SetBegin(LTL3,D3,T3,L3);
}
TL_SetEnd(HTL3,sDate,sTime,H3);
TL_SetEnd(LTL3,sDate,sTime,L3);
}
#Data4
var : D4(0,Data4),T4(0,Data4),H4(0,data3),L4(0,data4),HTL4(0,Data4),LTL4(0,Data4);
if data4(Bdate != Bdate[1]) Then
{
D4 = data4(sDate);
T4 = data4(sTime);
H4 = data4(H);
L4 = data4(L);
HTL4 = TL_New(D4,T4,h4,NextBarSdate,NextBarStime,h4);
LTL4 = TL_New(D4,T3,l4,NextBarSdate,NextBarStime,l4);
TL_SetColor(HTL4,yellow);
TL_SetColor(LTL4,YELLOW);
}
Else
{
if Data4(H) > H4 Then
{
H4 = Data4(H);
TL_SetBegin(HTL4,D4,T4,H4);
}
if Data4(L) < L4 Then
{
L4 = Data4(L);
TL_SetBegin(LTL4,D4,T4,L4);
}
TL_SetEnd(HTL4,sDate,sTime,H4);
TL_SetEnd(LTL4,sDate,sTime,L4);
}
2020-11-18
570
글번호 143998
유로파54 님에 의해서 삭제되었습니다.
2020-11-18
0
글번호 143997
답변완료
문의 드립니다
안녕하세요
오늘 여쭤볼 말씀은 틱 챠트에 30분봉의 5일선을 구현할 수 있는지 입니다.
1. 현재 90틱 챠트에 30분봉의 5일선을 구현해보고 싶습니다.
그리고 틱 수치를 바꿔서도 입력이 가능한지요?
2. 90틱 챠트에 구현된 30분봉의 5일선을 15분봉등으로 변경해서 적용할 수 있는지도
궁금합니다
늘 애써주셔서 감사합니다
2020-11-18
643
글번호 143996