커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7469
글번호 230811
답변완료
동시호가 청산식
장종료 동시호가에 청산하려고 합니다.
3시 5분이 지나서 주문이 나가도록 하면 동시호가에 접수되어 청산이 될까요?
아래와 같이 시스템식을 적용하면 됩니까?
SetStopEndofday(150501);
2015-04-18
121
글번호 85159
답변완료
수식 정정 부탁합니다.
아랫 부분은 저번에 받은 답변입니다.
아래 두 식에서 진입 조건은 그대로 두고 청산 조건을 "진입 봉 종가 청산" 과 "익절","손절"만 두고 나머지는 지워 주십시요.
질문 하나
전략 실행 차트에서 캔들에 옆으로 누운 삼각형 두개는 신호가와 체결가를 나타내는 겁니까?
질문 둘
캔들에 "s""b 0" "빨간 화살표와 파란 화살표"등의 뜻은 무엇인지요?
질문 셋
10분 봉을 사용하여 "봉시가 대비 10틱 상승시 진입" 전략에서 청산을 "5틱 손실시 청산" 으로했을때 만약 손실청산 되었다면 아직 봉이 바뀌지 않는한 같은봉에서 진입과 청산이 10분봉이 바뀔때까지 계속 발생 되나요?
질문 넷
아래 함수에서 손절틱수와 익절틱수의 위치가 서로 바뀌지 않았는지요?
SetStopProfittarget(PriceScale*손절틱수,PointStop);
SetStopLoss(PriceScale*익절틱수,PointStop);
부탁 드립니다.
안녕하세요
예스스탁입니다.
1번식은 한봉에 매수와 매도 한번씩 진입합니다.
매수나 매도중 하나만 진입하기 위해서는
수식에서 지정한 가격 터치시 진입은 atstop이나 atlimit타입을 사용하는데
모두 전봉에서 가격을 셋팅해 현재봉시세 조건만족시에 신호가 발생합니다.
그러므로 매수나 매도중 하나만 진입하기 위해서는 2개가 동시에 충족되지 않는 조건을 넣어야 합니다.
2번식은 시가가 직전봉 종가대비 같거나 높으면 매수쪽으로만
시가가 지전봉 종가대비 아래면 매도쪽으로만 진입이 발생하게 작성한 식입니다.
이용에 참고하시기 바랍니다.
1.
input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10);
input : X(5),Y(10),A(5),B(5);
if MarketPosition <= 0 Then
buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수);
if MarketPosition >= 0 then
sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수);
if MarketPosition == 1 Then{
exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수);
if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then
exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a);
if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then
exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b);
}
if MarketPosition == -1 Then{
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수);
if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then
ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a);
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then
ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b);
}
ExitLong("매수진입봉종가청산");
ExitShort("매도진입봉종가청산");
SetStopProfittarget(PriceScale*손절틱수,PointStop);
SetStopLoss(PriceScale*익절틱수,PointStop);
2.
input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10);
input : X(5),Y(10),A(5),B(5);
if MarketPosition <= 0 and NextBarOpen >= C Then
buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수);
if MarketPosition >= 0 and NextBarOpen < C then
sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수);
if MarketPosition == 1 Then{
exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수);
if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then
exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a);
if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then
exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b);
}
if MarketPosition == -1 Then{
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수);
if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then
ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a);
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then
ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b);
}
ExitLong("매수진입봉종가청산");
ExitShort("매도진입봉종가청산");
SetStopProfittarget(PriceScale*손절틱수,PointStop);
SetStopLoss(PriceScale*익절틱수,PointStop);
즐거운 하루되세요
> 재정적자유 님이 쓴 글입니다.
> 제목 : 진입 봉 종가 청산 부탁합니다.
> 1.
input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10);
input : X(5),Y(10),A(5),B(5);
if MarketPosition <= 0 Then
buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수);
if MarketPosition >= 0 then
sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수);
if MarketPosition == 1 Then{
exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수);
if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then
exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a);
if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then
exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b);
}
if MarketPosition == -1 Then{
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수);
if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then
ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a);
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then
ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b);
}
SetStopProfittarget(PriceScale*손절틱수,PointStop);
SetStopLoss(PriceScale*익절틱수,PointStop);
2번
input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10);
input : X(5),Y(10),A(5),B(5);
if MarketPosition <= 0 and NextBarOpen >= C Then
buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수);
if MarketPosition >= 0 and NextBarOpen < C then
sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수);
if MarketPosition == 1 Then{
exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수);
if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then
exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a);
if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then
exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b);
}
if MarketPosition == -1 Then{
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수);
if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then
ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a);
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then
ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b);
}
SetStopProfittarget(PriceScale*손절틱수,PointStop);
SetStopLoss(PriceScale*익절틱수,PointStop);
2015-04-19
120
글번호 85158
태양같이 님에 의해서 삭제되었습니다.
2015-04-18
23
글번호 85157
답변완료
문의 드립니다.
안녕하세요? 수고 많으십니다.
분봉에서 10:45분 종가로부터 10틱을 먼저 돌파하는 방향으로 매수& 매도신호 발생하는 시스템식을 부탁 합니다.
미리 감사 합니다.
2015-04-18
132
글번호 85156
답변완료
41402관련입니다.
-친절하고 빠른 답변 항상 감사합니다.
-알려주신 전봉대비 차이값을 적용하니 날짜가 변경되는 첫봉에서 문제가 생깁니다. 즉 첫봉과 전일 마지막봉의 차이가 누적되네요. 첫봉은 차이누적이 아닌 봉 종가 누적 식을 부탁드립니다.
2015-04-18
151
글번호 85155
답변완료
수식 문의드립니다
아래 조건의 수식 문의드립니다
- 진입일 지정
- 3일 최저가 대비 3% 상승시 매수
조건 : 잔고가 없거나 이전 신호가 매수가 아닌 경우
- 앞의 매수가 대비 3% 상승시 추가매수 (피라미딩 적용)
- 3일 최고가 대비 3% 하락시 청산
조건 : 이전 신호가 매수일 경우에만 적용.
잔고가 1회 매수 수량인 경우 전부청산, 2회이상 매수 수량인 경우 1회 매수수량의 2배 수량만 청산
- 앞의 청산가 대비 3% 하락시 청산
조건 : 잔고가 1회 매수 수량인 경우 전부청산, 2회이상 매수 수량인 경우 1회 매수수량의 2배 수량만 청산
# 상승, 하락 퍼센트는 최적화 가능하도록 지정
2015-04-18
167
글번호 85154
답변완료
당일 기준. 을 두고. 매매
안녕하세요
5피 상승. 또는 5피. 하락. 은. 변수처리 부탁요
당일. 60분마다 단순 이동평균선.MA56.
시가 값 기억하여.
단순이평선. 56선 시가값 대비 5피. 상승 하면
매도
단순 이평선 56선 시가값 대비 5피. 하락하면
매수
월요일 부터. 금요일까지 정규장. 에. 서 적용
야간. 제외. 당일. 3시 청산
2015-04-18
185
글번호 85153
답변완료
차트에 차트현재가 표시가 보조지표를 넣어면 사라져버립니다
안녕하세요 반갑습니다
차트우측에 차트현재가표시가 macd등의 보조지표를 넣어면 사라지는
현상이 발생합니다
현재가표시를 눌려도 마찬가지입니다
어떻게 하여야 보조지표를 차트에 넣어도 우측에 현재가가
항상 나타나게 할수 있는지 좀 알려주시면 감사하겠습니다
캡처를 첨부파일에 넣어놓겠습니다
하나는 차트에 현재가 표시가 나타나는 첨부캡처차트이고 도 하나는
보조지표macd를 넣었을때 차트에 현재가표시가 사라져 보리는
캡처첨부차트입니다
참고하시고 좀 알려주시면 감사하겠습니다
아무리 저가 해결하려고 하여도 못하겠습니다
즐거운 주말보내세요
감사합니다
미안합니다 캡처사진을 올렸는데 나타나지 않습니다
그래서 지워버렸습니다
캡처화면을 못 보시드라도 좀 알려주세요
2015-04-18
177
글번호 85152
답변완료
문의 드립니다.
항상 도움주셔서 감사합니다.
문1)
차트: 1시간
매매조건 : 10시부터 12시(12시봉 완성:11시59분)까지의 최고값과 최저값을 저장한후
12시(12시)이후부터 가격이 최고값을 상승돌파하면 매수
12시(12시)이후부터 가격이 최저값을 하락돌파하면 매도
하는 시스템식 부탁드립니다.
단 하루에 한번만 매매합니다.
문2)
차트: 1시간
12시(12시)이후부터 가격이 최고값을 상승돌파하면 매수진입
12시(12시)이후부터 가격이 최저값을 하락돌파하면 매도진입
단 특정시간 예만 진입하고 싶습니다.
예를 들면 12시부터 13시 사이에만 진입하는 시스템식도 부탁드립니다.
문3) 날짜 변경시 변수 초기화하는 시스템식 부탁드립니다.
예를 들면 매일 아침 7시 변수를 초기화 하는 시스템식 부탁드립니다.
해외선물의 경우 아침7시부터 다음날 아침 6시까지가 하루인데(23시간 거래하기 때문에)
시스템에서는 24시(밤 12)가 넘으면 다음날로 인식됩니다.
문4) 진입에 대한 문의입니다.
예를 1시간봉에서 진입조건은 만족했지만
실제 진입은 봉이 완성되고 다음봉에서
진입하는 것으로 알고 있습니다.
조건이 만족된다면 봉완성전에 진입할수 있는 방법은 없나요?
도움 부탁드립니다.
문5)
차트: 1시간
지표 또는 강조식 작성 부탁드립니다.
시간별로 나누어서 차트에 강조를 하고 싶습니다.
예를 들면 10시부터 12시까지 박스로 최고값과 최저값을 표시하고
1시부터 3시까지도 박스로 최고값과 최저값을 표시 하고 싶습니다.
만약에 막스가 안된다면 선으로 표시라도 부탁드립니다.
첨부이미지 참조 부탁드립니다.
2015-04-19
191
글번호 85151