커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3591
글번호 230811
답변완료
부탁드립니다.
도움 주심에 감사 드립니다.
다음을 당일 이후가 아닌
n봉전 이후에 계산 되도록 부탁 드립니다.
var : 양봉개수(0),양봉1(0),양봉2(0),전일(0);
var : 양봉v(0),양봉v1(0),양봉v2(0),전일v(0);
if bdate != bdate[1] Then
{
양봉1 = 양봉개수[1];
양봉2 = 양봉1[1];
양봉v1 = 양봉v[1];
양봉v2 = 양봉v1[1];
}
if C > O then
{
양봉개수 = 양봉개수 +1;
양봉v = 양봉v +v;
}
전일=양봉1-양봉2;
전일v=양봉v1-양봉v2;
var1 = 전일v/전일;
plot1(var1);
2019-10-09
141
글번호 132632
답변완료
문의드립니다
안녕하세요
아래 내용을 예스로변환과 더불어 주석처리 부탁드립니다.
/*
VR(적용기간) > 100
VR(적용기간) < 100
*/
Params :
Period(12); //적용기간
Vars :
v1(0);
v1 = VR(Period);
if BarNumber > Period And Category <> 15 Then
Begin
if v1 > 100 Then
PlotPaintBar( 1, 0, "Bull" );
if v1 < 100 Then
PlotPaintBar( 0, 1, "Bear" );
End;
감사합니다.
2019-10-09
140
글번호 132631
답변완료
시스템 오류?
해외선물 한국투자에서 크루드오일 연결선물로 테스트하고 있습니다.
아래 코드로 첨부파일과 같이 최적화를 진행하면, 최적화를 진행하지 않고 건너뛰는 변수들이 생깁니다.
If C < DayOpen - 0.5 Then Sell();
Inputs:
FixedStopLossF(0.5);
SetStopLoss(FixedStopLossF, PointStop);
# 상하한가 근접 청산 전일 정산가 대비 ±10 ($/barrel)
# 제한가격 도달 시 5분간 거래 정지 후 재개
If MarketPosition == 1 Then ExitLong("XL_UL", AtLimit, DayClose(1) + 9.8 );
If MarketPosition == -1 Then ExitShort("XS_LL", AtLimit, DayClose(1) - 9.8 );
If sDate > sDate[1] Then SetStopEndofday(53000);
If bDate > bDate[1] Then SetStopEndofday(0);
제가 테스트해보기로는 상하한가 근접 청산 코드를 없애면 정상 작동됩니다.
그렇지만 원칙적으로 저 코드가 이상한 방식으로 작성된 것은 아닐 거구요.
문제가 뭐고, 해결방법은 무엇인가요?
또 최적화 변수를 0.1부터 1까지 0.1씩 증가시킬 때 변수륻 MessageLog() 로 찍어보면,
0.1 -> 0.2 -> 0.3 이런 식으로 순차적인 증가가 아니라 순서가 랜덤하게 나오던데, 이것은 어떤 이유인가요?
랜덤하게 나오면서 빠뜨리는 테스트가 생기는 것 같아서 여쭙습니다.
2019-10-09
195
글번호 132630
회원 님에 의해서 삭제되었습니다.
2019-10-09
23
글번호 132629
답변완료
문의드립니다.
수고하십니다.
이평선 단기 5 장기 60 에서 골든크로스가 났을 경우
해당 봉의 고가를 저장하고 (hx)
이후 봉에서 종가는 hx 보다 작은데 현재봉고가가 hx 보다 크면 현재봉고가로 hx 를 갱신하고
진입은 없음
종가가 hx 보다 크면 최종 매수를 하는 수식
매수한 후에는 다시 골든크로스를 기다림
매도는 이와 반대로 수식을 작성하고 싶습니다.
환절기 날씨 감기조심하세요...감사합니다.
2019-10-09
115
글번호 132628
답변완료
문의드립니다.
당일매매에 발생한 Xcond을 만족했을때 매수 하고 싶습니다
전달 매매로 인해 발생된 Xcond은 해당이 안되고
당일매매에 발생한 Xcond 만 해당될 수 있도록 부탁드립니다.
if Xcond == true and marketposition == 0 then {
if var83[1] < var83 then {
buy("B");
}
}
2019-10-09
109
글번호 132627
cs아빠 님에 의해서 삭제되었습니다.
2019-10-09
0
글번호 132626
답변완료
수식문의 드립니다.
지난번 수식에서
익절후에는 추세가 바뀔때(30이평이 우하향 될때)까지 매수진입없음.
ㅡㅡ>> 익절후에 30이평이 우하향 안되었는데도 재매수 진입이 되는데 어찌해야 하나요?.
30이평을 이탈하고 재돌파하면서 재진입이 되는것 갔읍니다만. 추세마다 한번씩만
진입하게는 안되는 건가요?..
2019-10-09
117
글번호 132625
답변완료
수정부탁드립니다.
안녕하세요? 답변 내용 잘보았습니다. 감사합니다.
다시한번 충분히 검토해보니 문제점을 알게되었습니다.
첨부그림 보시면 진입은 완벽하나, 청산이 잘못나간것 같습니다.
첨부그림은 모두 캔들갯수10개,익절2포인트,손절2포인트 로 설정해둔 상태입니다.
혹시 진입 신호가 잘못표현되있어서 그위칭 하는게 잘 안되나 싶기도해서 수식을 이것저것 건드려보니 잘 안되서 간절함에 문의 드립니다. ㅠㅠ 한번만더 검토부탁드립니다.
감사합니다.
input : 익절틱수(50),손절틱수(50),n(10);
if C > O and C[1] < O[1] and
O > C[1] and C < O[1] Then
{
if MarketPosition == 0 or (MarketPosition == -1 and BarsSinceEntry <= n) then
buy("b1");
}
if C > O and C[1] < O[1] and
O < C[1] and C > O[1] Then
{
if MarketPosition == 0 or (MarketPosition == -1 and BarsSinceEntry <= n) then
buy("b2");
}
if C < O and C[1] > O[1] and
O < C[1] and C > O[1] Then
{
if MarketPosition == 0 or (MarketPosition == 1 and BarsSinceEntry <= n) then
sell("s1");
}
if C < O and C[1] > O[1] and
O > C[1] and C < O[1] Then
{
if MarketPosition == 0 or (MarketPosition == 1 and BarsSinceEntry <= n) then
sell("s2");
}
if MarketPosition == 1 and BarsSinceEntry >= n then
{
ExitLong("bp",Atlimit,EntryPrice+PriceScale*익절틱수);
ExitLong("bl",Atlimit,EntryPrice-PriceScale*손절틱수);
}
if MarketPosition == -1 and BarsSinceEntry >= n then
{
ExitShort("sp",Atlimit,EntryPrice-PriceScale*익절틱수);
ExitShort("sl",Atlimit,EntryPrice+PriceScale*손절틱수);
}
2019-10-08
537
글번호 132624