커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7788
글번호 230811
답변완료
강제청산에대한문의
안녕하세요.
12월경부터 선물 포지션 매매를 할려고 합니다
문의 사항은
1.진입후 손절 설정후 민족시에 강제청산.
(예.150 매수.진입 손절 149 설정시 149에 강제청산완료)후 자동진입 없음
2.최고 이익대비 0.5 pt 하락시 강제청산.
(예.150매수진입 155까지 상승후 145.5하락시 강제청산완료)후 자동진입없음
1.2항 모두 매수 매도 포지션진입시 만족할수 있은 식을 부탁합니다.
감사합니다.
2008-11-13
641
글번호 18100
답변완료
8659번 답변에 대해 재질문 드립니다.
8659번 답변에 대해 재질문 드립니다. 메일보냈습니다
부탁드리겠습니다 ^^
2008-11-13
720
글번호 18099
답변완료
문자열 변수 사용
문자열 변수를 사용하고 싶습니다.
예를 들면,
Buy("선물매수");
이런 명령어를 사용할 경우, 위의 "선물매수" --> 이 값을 위처럼 하드코딩하는 것이 아닌
문자열 변수 값에 넣어서 사용하고 싶습니다.
Vars :
BuyPosName1("");
BuyPosName1 = "조건1매수";
Buy(BuyPosName1);
이런식으로 사용했더니 에러가 나더군요. ^^
또한,
시스템에서 조건별로 Buy 주문이 다를 경우, 현재 포지션이 어떤 주문에 의해서 이루어진것인지 알고 싶습니다.
예를 들면,
if 조건1 then
Buy("매수1");
else if 조건2 then
Buy("매수2");
else
Buy("매수3");
대략 위와 같은 코드가 있다고 할 경우에, 현재 포지션이 "매수1" 주문에 의한것인지
"매수2" 주문에 의한것인지, "매수3" 주문에 의한것인지 알고 싶습니다.
2008-11-12
843
글번호 18098
답변완료
문의드립니다...
안녕하세요...
아래와같은것을 식으로 작성할려면 어찌해야하는지 문의드립니다.
매수식은 A
매도식은 B라고 가정하고
매수로 진입된 상태에서
1) 최근 5개봉의 최고가의 평균(C라고 가정)을 구하고, 만일 현재봉의 최고가가 이 C값의 10%이하로 떨어지면 다음봉 시가에 매수청산
2) 그리고 아직 B신호는 나오지 않은 상태에서
최근 5개봉의 최저가의 평균(D)를 구하고, 만일 현재봉의 최저가가 이 D값보다 10% 이상 오르게 되면 다음봉 시가에서 매수 재진입을해서
3) 다시 1,2 등을 반복하다가 최종적으로 매도신호B가 나오게 되면 매도진입을 하고
이때는 매수의 1)2)3)과반대로 조건을 주고싶습니다.
2008-11-12
789
글번호 18097
답변완료
함수 문의
안녕하세요 ?
만약 수식을
if crossup(C,ma(C,5)) then buy();
setStopEndOfDay(145000);
처럼 작성하면 setStopEndOfDay 함수 설정시간인 오후 14시 50분 이후에 위의 if 조건의 crossup 돌파 조건식이 만족하더라도 신규로 매수 포지션이 들어가지 않나요 ?
답변 바랍니다.
감사합니다.
2008-11-12
781
글번호 18096
답변완료
다시 질문 드립니다.
안녕하세요 ?
답변이 없으셔서 다시 질문 드립니다.
전에 내용을 복사해서 넣었습니다.
바로 아래 내용이 다시 질문하는 내용입니다.
---------------------------------------------------------------------------------
질문내용 ->
답변 감사 드리며
말씀 하신 내용중에 "확인하는 시점" 이라고 말씀하신 게 현재 봉이 최종 완성된 후 인가요 ?
조건만족봉이 최종 완성되려면 다음봉의 시가를 받아야 알 수 있을 텐데요.
그러면 다음봉 시가를 받아 들일 때의 직전 종가, 즉 조건만족봉의 종가를 기준으로
만약 buy의 atstop 경우, 조건만족시에는 종가가 100이어서 100.05로 주문대기하다가
최종 조건만족봉이 완성된 후의 해당 조건만족봉의 종가가 99.95라면 100.00에 주문이 나가게 된다는 건가요 ?
단, 여기서 매매가격 설정창의 매수 진입은 현재가+-1틱으로 한 상태입니다.
위 설명이 sell(매도), exitlong(매도)일 때도 동일하게 적용되나요 ?
답변 바랍니다.
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 주문함수 추가 질문합니다.
> 안녕하세요
예스스탁입니다.
기본적으로 주문은 조건이 만족하는 시점의 현재가를 기준으로 발생하므로
정확한 주문가격을 알수는 없습니다. 실제 조건만족을 확인하는 시점의 현재가 이므로
진입가격과 차이가 있을 수 있습니다.
buy에서 atstop의 가격조건이 100이라면 100이상의 시세가 발생할 때
atstop조건이 만족하여 주문이 발생합니다.
이때 atstop 가격조건 만족 시점의 현재가 +1틱이므로 확인이 완료되는 시점의 현재가가 100이라면 100.05에 주문이 발생하게 됩니다. 다만 확인하는 시점에 가격이 조금 변동하여99.95가 현재가로 인식되면 100.00에 주문이 발생하고 현재가가 100.05가 됐다면 100.10에 주문이 발생합니다.
buy에서 atlimit의 가격조건이 100이라면 100이하의 시세가 발생하게 되면
alimit가격조건을 만족하게 됩니다. 주문가격과 관련해서는 위와 같습니다.
exitlong(매도)에서는 atstop이 지정된 가격(100) 이하의 시세가 발생시 조건만족이되며
atlimit이 지정된 가격(100) 이상의 시세가 발생시 조건만족이 됩니다.
다만 매도의 경우에는
확인이 완료되는 시점의 현재가가 100이라면 99.95에 주문이 발생(한틱 낮게)하게 되며. 확인하는 시점에 가격이 조금 변동하여 99.95가 현재가로 인식되면 99.90에 주문이 발생하고 현재가가 100.05가 됐다면 100.00에 주문이 발생합니다.
즐거운 하루되세요
즐거운 하루되세요
> CJ_khkcj 님이 쓴 글입니다.
> 제목 : 주문함수 추가 질문합니다.
> 초보라 궁금한 점이 많네요..^-^;
만약
매수진입은
if crossup(ma(C,5),ma(C,20)) then {
buy("buy",atstop,C);
buy("buy",alimit,C);
}
매수청산은
if crossdown(ma(C,5),ma(C,20)) then {
exitlong("el",atstop,C);
exitlong("el",atlimit,C);
}
처럼 작성하고 시스템 트레이딩 설정창의 "매매"탭의 "매매가격"을
진입은 현재가+-1호가
청산은 현재가+-1호가
로 설정하면 실제 매수진입시 주문가와 매수청산시 주문가가 어떻게 되나요 ?
현재 IF 조건을 만족하는 봉의 종가 C가 100.00 이라고 가정하고 답을 주셨으면 합니다.
초보라 질문하는 것이 많아서 죄송..^-^;
답변 바랍니다.
감사합니다.
2008-11-12
693
글번호 18095
답변완료
문의드립니다
시스템에 관심을 가지게 되서 질문드립니다.
이동평균선과 macd를 가지고 매매를 하게되면
어떤식으로 합성이되는지 식은 어떻게 작성되는지...
2008-11-12
692
글번호 18094
답변완료
아래 답변에 대해 재질문드립니다. 죄송합니다.
아래 답변에 대해 재질문드립니다. 죄송합니다.
아래 답변에서...
Input : n(2),파동표시(True);
Var : j(0),k(0),고점표시(0),저점표시(0);
Array : 고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),
고idx[20](0),저idx[20](0);
.....
if 고Bar[1]==n and 고[1]>0 Then var1 = 고[1];
if 저Bar[1]==n and 저[1]>0 Then var1 = 저[1];
if 저Bar[1]==n and 저[1]>0 Then var2 = 저[1];
if 고Bar[1]==n and 고[1]>0 Then var2 = 고[1];
if var1 == var2 and var1 != var2 Then
buy();
라고 답변해 주셨는데, 새롭게 var1, var2를 사용하면
Var : var1(0),var2(0), j(0),k(0),고점표시(0),저점표시(0);
와 같이 var1과 var2를 선언해줘야 하나요?
그리고
if var1 == var2 and var1 != var2 Then
buy();
라고 시스템식을 써주셨는데요. 똑같은 변수가 이렇게 "같다", "다르다"로 두번
써줘도 되는 것인지요? 잘 몰라서요...ㅠ.ㅠ...
그리고 스윙하이,스윙로우를 이용해서 전고점,전저점을 만들때,
n=2 이면 2봉이 지나고서여 전저점,전고점을 인지한다고 하던데요.
그렇다면 스윙파동선이 두개이다가 도로 하나로 합쳐지는 지점은
전고점이거나 전저점 둘중의 하나일테니까 2봉이 지난후에야 전고점이거나
전저점인지를 인식할텐데요.
아래와 같이
if var1 == var2 and var1 != var2 Then
buy();
라고 시스템식을 쓰면, 전고점 또는 전저점에서 2봉 후행한 봉을
사게 되는 것인가요?
감사합니다. 부탁드려요,,,^^*
2008-11-12
864
글번호 18092
답변완료
매매가 한번만 되게 해주세요//
if stime >= 100000 then{
if C > dayopen()*1.007 and crossup(C,timehigh(90000,95959)) Then
buy();
if C < dayopen()*0.993 and crossdown(C,TimeLow(90000,95959)) Then
Sell();
}
이 식을 돌리면 매매가 하루에 2번될때도 있습니다
한번만되게 해주세요
2008-11-12
874
글번호 18085