커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7750
글번호 230811
답변완료
RSI 지표식
RSI (14,9) 지표식 부탁드립니다
그리고 Golden Cross 와 Dead Cross
발생시 지표도 부탁합니다
2010-08-29
888
글번호 31931
답변완료
40봉만 참조
if sdate != date[1] then{ #날짜 변경시 초기화 로직
고가= 0;
저가= 0;
고평= 0;
저평= 0;
봉수= 0;
}
if dayIndex >= 0 then{
고가=고가+ h;
저가=저가+ l;
봉수=봉수+1;
고평=고가/봉수;
저평=저가/봉수;
평균=(저평+고평)/2;
}
plot1(평균);
위 식은 첫봉부터 계속 누적해가기 때문에 뒤로 갈수록 값이 꺼지는 바람에 움직임이 둔감합니다. 제가 원하는 식은 일정봉의 개수를 정해놓은후 계속 갱신 하는 겁니다.
예를 들어 10개봉 값을 리턴한다고 할때 현재 봉 번호가 20번 이라면 10개 봉번호의 처음은 11, 끝은 20, 그리고 12-21, 13-22 이런 식으로 참조 할수 있는 식 부탁드립니다.
그리고 지표식을 만들려고 하는데요. 제의도는
날짜가 바뀌면 전일 봉은 참조 하지않고 금일 첫봉부터 고가, 저가 를 40봉씩만 참조하여 그 평균을 나타내려 합니다. 음.. 그러니까 첫봉부터 40봉까지 는 참조하다 40봉이 넘으면 그 넘는 봉 만큼 앞의봉은 참조 하지 않는것이죠 지표로 나타내면 40봉 부터 참조 하게끔 되더라구요 첫봉부터 나타나게끔 해주세요, 그러니가 만약 10봉이 지났다면 10봉의 평균가,20봉이 지났다면 20봉의 평균가 그런식으로 가다가 40봉이 넘으면 그때부터는 40봉씩 의 평균가를 나타내는 로직 부탁드립니다.
아래 식으로는 40봉 부터 나오는거 같은데. 수정 부탁드립니다.
var:고점(0), 저점(0);
고점=0;
저점=0;
if date !=date[1] then{
고점=h;
저점=l;
}
if DayIndex then{
Value1=((Accumn(고점,40)/40)+(Accumn(저점,40)/40))/2;
}
Plot1(Value1);
2010-08-30
656
글번호 31930
답변완료
시스템식 부탁드립니다.
1.매도후 진입가격이상으로반등시 매수전환하는 식이 다음이 맞는지요?
if MarketPosition == 1 Then
ExitLong("sx",AtStop,PriceScale*1-EntryPrice);
그리고 pricescale에 1을 곱하는 이유도 궁금합니다.
2. 선물진입 후 2시 30분부터 3시 사이에
손실 내지 이익이 0.5포인트 이내에 도달하면 무조건 포지션 전량 청산하는 식도 부탁드립니다.
2010-08-28
750
글번호 31929
답변완료
검색식 부탁합니다
도와주셔서 항상 감사 드립니다
다음 종목검색식 부탁합니다
검색대상은 현재부터 5일 영업일 이내 상한가 종목들 중
상한가 였을 때 스토캐스틱 (5,3,3) D값이 85이상인 종목만 대상으로 하고
검색식은 상한가 무녀져 오늘 현재까지 하락하다
1. 스토캐스틱 Golden Cross 발생 (30분봉 기준)
스토캐스틱 (5,3,3)이 Golen cross 발생한 종목 찾기
스토캐스틱 슬로우 K값이 30이하인 종목만 해당하고
2. 스토캐스틱 매수 다이버전스(30분봉 기준)
스토개스틱 (5,3,3)은 상승하는데 주가는 횡보하거나 하락
스토캐스틱은 횡보하는데 주가 하락
위 경우 말고도 매수 다이버전스 있는 경우 포함해
매수 다이버전스 발생 종목 찾기
부탁 드립니다
2010-08-28
929
글번호 31928
답변완료
30분봉 지표식
30분봉에서 계속 2회 이상 연속 하락하고
다음봉이 양봉이나 십자 도지로로 완성 된 후에 새로 30분봉 시작되는데 동시에
스토캐스틱 슬로우 (5,3,3) 이 30 이하에서 Golden Cross 발생시 지표식 표기
2010-08-28
876
글번호 31927
답변완료
시스템식 문의드립니다.
안녕하세요. 항상 좋은 답변 감사드립니다.
if 조건1 and 조건2 and 조건3 then buy(); 라는 식은 조건 세개를 다 만족할 때
주문이 나가는데
만약 조건 세개 중에 두개 이상 만족시킬 경우 주문이 나가도록 할 수 있을까요?
2010-08-28
668
글번호 31926
답변완료
수식부탁드립니다.
안녕하세요.
마지막 무더위에 고생이 많으십니다.
다름이 아니고, 시간제어에 관한 수식을 부탁드립니다.
지금 1분봉선물 거래시에
1.목표이익청산후에는 1시간이후 진입신호가 다시 발생하게하고
2.손절매시에는 30분후에 진입신호가 다시발생
3.최대수익대비하락인 경우 30분후 진입신호가 다시발생 수식을 만들고 있는데요.
지금 이런식으로 해보았는데
Condition1 = ExitDate(1) == sdate and IsExitName("StopProfittarget",1);
Condition2 = ExitDate(1) == sdate and IsExitName("stoploss",1);
Condition3 = ExitDate(1) == sdate and IsExitName("stoptrailing",1);
if condition1 == false or (Condition1 == true and TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+55)
&& Condition2 == false or (Condition2 == true and TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+30)
&& Condition3 == false or (Condition3 == true and TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+30)
then { 진입식 then buy();}
목표이익청산후 1시간휴식후 진입신호 새롭게 발생은 잘되는데... 손절매와 최대이익후 30분 휴식후 진입신호가 안먹히네요....
전에 목표이익청산시 1시간이후부터 진입신호 발생식을 알려주셔서 그거그대로 하니 잘됬고...다른 경우도 그걸 이용해서 똑같이 만들어보았는데,목표이익시만 되고 나머진....안됩니다....
2010-08-28
629
글번호 31925
답변완료
진입제어 수식 부탁드립니다.
안녕하세요.. 수식 부탁드립니다.
------------------------------------
선물 1계약 기준입니다.
if C > ma(C,20) then Buy();
if C < ma(C,20) then Sell(); 이라는 수식이 있다면,
종가가 20이평 위에서 봉완성이 되는 다음봉 시초가에서 매수가 되고,
종가가 20이평 아래에서 봉완성이 되는 다음봉 시초가에서 매도가 반복될 것입니다.
(리버스로 매수매도가 진행되겠지요)
위 수식에서 매수를 예로할때,
1) 여기서 만약 조건A에 의하여 매수청산이 된 경우 C < ma(C,20) 조건이
충족되기 전에는 청산이후 재진입이 되지 않도록 하고 싶습니다.
--> 장개시전 무포지션 --> C > ma(C,20) 발생으로 매수 1계약 진입
--> 조건A 충족 --> 매수포지션 1계약 청산
--> 청산후 C > ma(C,20) 상태가 유지되도 재진입 안함 (무포지션 상태)
--> 이후 C < ma(C,20)로 전환되면 매도 1계약 진입
2) 만약 매수진입후 C > ma(C,20)의 상태에서 A라는 조건을 만족하지 못하고
C < ma(C,20)의 상태로 전환된 경우 매수포지션 청산과 함께,
매도진입이 동시에 일어났으면 합니다.
--> 장개시전 무포지션 --> C > ma(C,20) 발생으로 매수 1계약 진입
--> 조건A 충족을 못하고 C < ma(C,20)으로 전환
--> 매수포지션 1계약 청산과 함께 매도 1계약 진입
3) 장중 1), 2)를 반복하다가 장종료시 강제청산으로 익일 무포지션으로 시작
위와 같은 내용을 아래 수식을 기준으로 예를들어서 부탁드립니다.
if stime < 143000 then {
if C > ma(C,20) then Buy();
if C < ma(C,20) then Sell();
SetstopProfittarget(1,pointstop); --> 조건A에 해당
}
SetstopEndofday(150000);
--> 참고로 위와 같이 하면 C > ma(C,20) 상태가 유지되고 있는 상태에서는
조건A 만족시 청산후 재진입이 일어납니다.
(저는 조건만족시 청산후 C < ma(C,20) 전환전까지는 재진입이 일어나지
않기를 원함)
--> 조건A 만족으로 청산후 무포지션에서 C < ma(C,20) 전환시 매도진입되는 경우와
조건만족을 못하여 청산이 일어나지 않은 상태에서 청산과 함께 매도진입되는
부분 꼭 신경써 주시기 바랍니다.
---------------------------------------
SetstopProfittarget에 관하여 추가 질문이 있습니다.
1) SetstopProfittarget(1,pointstop); 에서 시뮬레이션이 아닌 실제매매일 경우
선물지수 200pt에서 매수를 하였다고 가정한다면,
선물지수가 201pt를 터치만 해도 체결이 되는 것인지, (만약 터치만 해도 체결이
되는 것이라면 200.95pt에 청산될 가능성이 높겠지요)
아니면 매수호가가 201pt로 바뀔 때 체결이 되는 것인지,
아니면 선물지수가 201.05pt를 터치할 때 청산되는 것인지 궁금합니다.
말씀드렸듯이 실제매매를 기준으로 설명 부탁드립니다.
2) 그리고 SetstopProfittarget은 강제청산함수로 알고 있는데,
실전에서 봉완성시가 아닌 조건만족하는 시점에서 체결되는 것이 맞는지요?
또한 이때 시스템트레이딩 설정부분에서 청산시점에 반드시 '조건만족 즉시'에
체크가 되어있어야 하는지요?
3) 당연한 얘기같은데, SetstopProfittarget(1,pointstop); 은
실제진입시 체결된 가격을 기준으로 1pt수익을 계산하는 것이 맞겠지요?
-------------------------------------
마지막으로 한가지 더 질문드립니다.
무포지션에서 if C > ma(C,20) then Buy();의 경우 crossup과 마찬가지로
C의 종가가 ma(C,20)을 돌파하면서 종가가 끝난 다음봉 시초가에서 매수체결이
될 것입니다.
혹시 이 수식을 봉완성전이라도 C의 종가가 ma(C,20)값을 터치 또는 돌파하는 순간
매수진입을 하도록 할 수는 없는지요?
혹시 if C > ma(C,20) then Buy("B",atstop,ma(C,20)+0.05);
이렇게 수식을 작성하면 제가 의도한대로 되는 것인지요?
이상입니다. 감사합니다...
그럼 오늘도 행복한 하루되시기를 바랍니다.
2010-08-30
688
글번호 31924
오늘도수익 님에 의해서 삭제되었습니다.
2010-08-28
395
글번호 31923