커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7470
글번호 230811
답변완료
슬리피지 문의
비용/수량 화면에서 슬리피지를 진입, 청산 에 1틱씩 셋팅하고
시뮬레이션후 시스템 성능보고서에서 정확히 어떻게 반영되는지 궁금합니다.
2015-03-23
170
글번호 84299
답변완료
수식 수정 변경 요청 드립니다.
아래 기존수식 수정 변경 요청 드립니다.
NO-1. 아래수식에서 고점 저점 Pt(4) 최소 변폭만 설정, 기존수식 매수 매도 진입 후, 최고 최저점의 변폭이
설정변폭을 달성 확대될 경우, 변폭확대에 비례해서 설정 변폭도 비례 확대 수식에 적용
기존 수식신호 발행 후 한번 확대된 변폭은 다음 신호 발생전까지만 적용, 다음신호 발생시 부터 최소 설정
변폭으로 복귀
-> 상방 변폭 증가시 각봉의 저가가 20일 이평선(외부변수)을 하향이탈 전까지만 변폭 확대적용 / 재 진입
drop(-1.5) 적용
-> 하방 변폭 증가시 각봉의 고가가 20일 이평선(외부변수)을 상향돌파 전까지만 변폭 확대적용 / 재 진입
drop(+1.5) 적용
NO-2. 아래수식에서 1. 고점 저점 Pt(4) 최소 변폭만 설정, 기존수식 매수 매도 진입 후, 최고 최저점의 변폭이
설정변폭을 달성 확대될 경우, 변폭확대에 비례해서 설정변폭도 비례 확대 수식적용
기존수식신호 발행 후 한번 변폭은 다음 신호 발생전까지만 적용, 다음신호 발생시 부터 최소변폭으로 복귀
-> 상방 변폭 증가시 각봉의 저가가 20일 이평선(외부변수)을 하향이탈 전까지만 변폭 확대적용
-> 하방 변폭 증가시 각봉의 고가가 20일 이평선(외부변수)을 상향돌파 전까지만 변폭 확대적용
수식 작성 하신 후 수식에 주석 설명 달아주세요.
초보라서 설명이 부족하시면 전화 주세요.
--------------------------------------- 아 래-----------------------------------------------------
NO-1.
input : pt(4),drop(1.5);
var : H1(0),L1(0),H2(0),L2(0),H3(0),L3(0),H4(0),L4(0);
if MarketPosition == -1 Then{
if Condition1 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition1 = true;
H1 = H;
L1 = L;
}
if Condition1 == true and CrossDown(C,H1-drop) Then
buy("b");
}
Else
Condition1 = false;
if MarketPosition == 1 Then{
if Condition2 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition2 = true;
H2 = H;
L2 = L;
}
if Condition2 == true and CrossUp(C,L2+drop) Then
sell("s");
}
Else
Condition2 = false;
if MarketPosition == -1 Then{
if Condition3 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition3 = true;
H3 = H;
L3 = L;
}
if Condition3 == true and CrossDown(C,H3-drop) Then
ExitShort("sx");
}
Else
Condition3 = false;
if MarketPosition == 1 Then{
if Condition4 == false and highest(H,BarsSinceEntry)-Lowest(L,BarsSinceEntry) >= pt Then{
Condition4 = true;
H4 = H;
L4 = L;
}
if Condition4 == true and CrossUp(C,L4+drop) Then
ExitLong("bx");
}
Else
Condition4 = false;
------------------------------------------------------------------------------------------------
NO-2.
input : Pt(4);
if 매수조건 Then{
#첫매수
if MarketPosition == 0 Then
buy();
#추가매수
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
buy();
}
if 매도조건 Then{
#첫매도
if MarketPosition == 0 Then
sell();
#추가매도
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
sell();
}
#매수진입후 pt이상 변폭이 발생하고 매수청산조건이 만족하면 청산
if MarketPosition == 1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
if 매수청산조건 Then
exitlong();
}
#매도진입후 pt이상 변폭이 발생하고 매도청산조건이 만족하면 청산
if MarketPosition == -1 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
if 매도청산조건 Then
ExitShort();
}
#무포지션이거나 스위칭이 되면 강제청산 해제
if MarketPosition == 0 or (MarketPosition != 0 and MarketPosition != MarketPosition[1]) Then{
SetStopProfittarget(0);
SetStoploss(0);
}
#포지션 진입후 pt이상 변폭이 발생하면 셋팅
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then{
SetStopProfittarget(1,PointStop);
SetStoploss(1,PointStop);
}
NO-2-1.
input : Pt(4);
if 매수조건 Then{
#첫매수
if MarketPosition == 0 Then
buy();
#추가매수
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
buy();
}
if 매도조건 Then{
#첫매도
if MarketPosition == 0 Then
sell();
#추가매도
if MarketPosition != 0 and highest(H,BarsSinceEntry)-lowest(L,BarsSinceEntry) >= pt Then
sell();
}
if MarketPosition == 1 Then{
if 매수청산조건 Then
exitlong();
}
if MarketPosition == -1 Then{
if 매도청산조건 Then
ExitShort();
}
SetStopProfittarget(1,PointStop);
SetStoploss(1,PointStop);
감사 합니다.
2015-03-23
192
글번호 84298
답변완료
수식 부탁드립니다
스위칭 전략을 사용하려고 하는데 크루드 오일의 경우 새벽 6시 장마감 후 증권사에서 로그아웃을 시켜 7시 장 시작 후 전일 포지션(1계약)을 인지 못합니다
익일 장 시작 후 최초주문시에만 진입 신호 발생시 2계약을 주문하는 수식을 부탁드립니다
2015-03-23
169
글번호 84294
답변완료
부탁합니다
파라볼릭 상승시 Red 하락시 Blue로 표기 되는데
변곡점에 막대 그래프로 표기 할수 있도록 부탁합니다
하락에서 상승으로 변곡시 상승 첫점에 막대 표시
상승에서 하락으로 변곡시 하락 첫점에 막대 표시
2015-03-23
166
글번호 84293
답변완료
손절시 한 번 더 진입히고 싶습니다.
안녕하세요.
항상 수고많으십니다.
질문입니다----------------------------------------------------------------
선물에서 매수든 매도든 하루 1회 진입을 원칙으로 하며
손절은 1.0 포인트입니다.
그런데, 손절이 될 경우는 2회 진입을 허용하고 싶습니다.
즉, 매수를 해서 손절이 되자마자 반대 방향으로 즉시 매도를하고
매도를 해서 손절이 되자마자 반대 방향으로 즉시 매수를 하고 싶습니다.
감사합니다.
항상 하시는 일에 좋은 결실 거두시길...
2015-03-23
155
글번호 84292
답변완료
보조지표에도 신호 나오게 할수 있나요?
캔들에 있는 신호도 보조지표 쪽으로 옮길수 있나요
2015-03-23
192
글번호 84291
답변완료
문의드립니다
참조data2 마지막 완성봉 기준 켄들 4등분 수평선을,
완성켄들부터 표시되는 수평선에 수식을 부탁드립니다
2015-03-23
151
글번호 84290
답변완료
알려준 수식으로 작성한 전략차트 신호없음
담당자님이 대신증권 랭귀지를 변환해 알려준걸로 시스템의 사용자전략으로 저장하는데까지 성공했습니다
그러나 27틱전략차트에 모두 적용을해보니 신호가 전혀 안나옵니다.(첨부파일1. 참조)
어떻게해야 파일2.처럼 똑같이 나올 수있는지 난감합니다.도와주세요.
저는 아래수식을 복사해 랭귀지편집기에 붙여 검증완료해서 시스템에 사용자전략으로 저장했습니다.
----------------------------------------------------------------------------------
파일3.는 매도만 진입해 매도청산만할 때 혹은 그 반대로 매수만진입 및 청산할 때 어떻게 설정해야 하는지요.그리고 진입시간 및 기간을 어떻게 설정하는지 모르는게 너무많아 죄송합니다.
원격으로 설정을 해주시면 절말 감사하겠습니다.
var1 = RSI(14);
var2 = StochasticsD(26,6,6);
if var1 < 45 Then{
if var2 < 10 Then{
buy("buy");
}
}
if var1 > 89 Then{
if var2 > 55 Then{
sell("sell");
}
}
2015-03-23
192
글번호 84286
답변완료
문의
해외선물에서 아래 함수(DayIndex)를 적용하니 0시 기준으로 리턴을 하더군요.
이를 Bdate을 써서 영업시간 시작시간으로 변경해서 테스트해보고자 하는데 읽기전용이라 고칠수가 없습니다. Bdate으로 변경후 장시작시간기준으로 가능할까요? 이게 안된다면 방법 부탁드립니다.
감사합니다.
var : BarCountInDay(0);
if BarIndex <= 0 then
{
BarCountInDay = 0;
}
else
{
if Date > Date[1] then
{
BarCountInDay = 0;
}
else
{
BarCountInDay = BarCountInDay + 1;
}
}
DayIndex = BarCountInDay;
2015-03-23
169
글번호 84282