커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7320
글번호 230811
답변완료
수식요청
# 진입
1) 아래식에서는 지속적인 진입이 이루어 집니다.
MACDO2>0 and MACDV1>0 and mav1>mav2 의 3개의 조건이 만족시 매수진입이 한번만 이루어지게 해주세요
MACDO2<0 and MACDV1<0 and mav1<mav2 의 3개의 조건이 만족시 매도진입이 한번만 이루어지게 해주세요
2) 조건 추가: Data2의 MACD02 > 0 에서 이전 값보다 커졌을 때만 매수대응
Data2의 MACD02 < 0 에서 이전 값보다 작아졌을 때만 매도대응
3)전략화면상 MACD>0, MACD<0 상태를 구분하기위해 배경색이나 세로선으로 나놀수있나요?
#청산
1)아래 청산식에서 진입후 손절: 진입가 -15틱이 포함되어 있는지 확인부탁드립니다.
또한 진입후 청산 단계별로 수식이 맞는지 확인부탁드립니다.
매수 후
손절: 진입가 -15틱
Psar가격 상향 돌파 1차 신호시 손절값: 진입가
Psar가격 상향 돌파 2차 신호시 손절값: Psar 1차 상향돌파 신호값
PSar가격 상향 돌파 3차 신호시 손절값: Psar 2차 상향돌파 신호값
Psar가격 상항 돌파 4차 신호시 손절값: Psar 3차 상향돌파 신호값
30틱 이상 상승시 최고값대비 -5틱 청산
매도후 (매수후 동일 로직)
손절: 진입가 -15틱
Psar가격 하향 돌파 1차 신호시 손절값: 진입가
Psar가격 하향 돌파 2차 신호시 손절값: Psar 1차 하돌파 신호값
PSar가격 하향 돌파 3차 신호시 손절값: Psar 2차 하향돌파 신호값
Psar가격 하항 돌파 4차 신호시 손절값: Psar 3차 하향돌파 신호값
30틱 이상 상승시 최고값대비 -5틱 청산
감사드립니다.
------------------------------------------------------------------------
식
input : short(12),long(26),sig(9),P1(10),P2(30),af(0.02),maxaf(0.2);
var : MACDO1(0,data1),MACDO2(0,data2),Mjavascript:OnWrite();ACDV1(0,data1);
var : mav1(0,data1),mav2(0,data1),Psar(0,data1);
var : cnt1(0,data1),cnt2(0,data1),v1(0,data1);
MACDV1 = data1(MACD(short,long));
MACDO1 = data1(MACD_OSC(short,long,sig));
MACDO2 = data2(MACD_OSC(short,long,sig));
mav1 = data1(ma(c,P1));
mav2 = data1(ma(c,P2));
Psar = data1(sar(af,maxaf));
MACDV1 = data1(MACD(short,long));
MACDO1 = data1(MACD_OSC(short,long,sig));
MACDO2 = data2(MACD_OSC(short,long,sig));
mav1 = data1(ma(c,P1));
mav2 = data1(ma(c,P2));
Psar = data1(sar(af,maxaf));
if MACDO2 > 0 and MACDV1 > 0 and mav1 > mav2 Then
buy();
if MACDO2 < 0 and MACDV1 < 0 and mav1 < mav2 Then
sell();
if MarketPosition == 1 Then{
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*30 Then
ExitLong("BXX",AtStop,highest(H,BarsSinceEntry)-PriceScale*5);
if crossup(c,Psar) Then{
cnt1 = cnt1+1;
v1 = c;
}
if cnt1 == 0 Then
ExitLong("Bx0",AtStop,EntryPrice-PriceScale*30);
if cnt1 == 1 Then
ExitLong("Bx1",AtStop,EntryPrice);
if cnt1 >= 2 Then
ExitLong("Bx2",AtStop,V1);
}
Else
cnt1 = 0;
if MarketPosition == -1 Then{
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*30 Then
ExitShort("Sxx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*5);
if CrossDown(c,Psar) Then{
cnt2 = cnt2+1;
v1 = c;
}
if cnt2 == 0 Then
ExitShort("Sx0",AtStop,EntryPrice+PriceScale*30);
if cnt2 == 1 Then
ExitShort("Sx1",AtStop,EntryPrice);
if cnt2 >= 2 Then
ExitShort("Sx2",AtStop,V1);
}
Else
cnt2 = 0;
2017-04-28
179
글번호 109236
답변완료
부탁드립니다
당일의 최고가-최저가 = 진폭을 차트화면 우른쪽 상단에
숫자로 표시하고 싶습니다(ex 당일진폭 55틱)
위치조정 가능하도록 부탁드립니다
2017-04-27
146
글번호 109235
동동이아빠 님에 의해서 삭제되었습니다.
2017-04-27
8
글번호 109234
답변완료
부탁드립니다.
(1)라인표시
시가 - 블랙
전일시가 - 갈색
전일중심가(전일고가+전일저가)/2 - 파랜색
금일중심가(금일고가+금일저가)/2(160틱-20개캔들기준) - 빨간색-20캔들기준에 따라 중심라인변경되어야함.
(2)시가시스템매매
1.금일 시가대비 +0.1 매수
1-1 청산 : 진입가격대비 전일시가 - 금일시가 차이 가격만큼 올랐을때 청산
1-2 손절 : 진입시점에서 전일중심가 및 금일중심가 중 높은가격 매수손절
2.금일 시가대비 -0.1 매도
2-1 청산 : 진입가격대비 전일시가 - 금일시가 차이 가격만큼 내렸을때 청산
2-2 손절 : 진입시점에서 전일중심가 및 금일중심가 중 낮은가격 매도 손절
(3)시가시스템매매
기준가격 : (전일고가+전일저가)/2
진입 : 시가 > 기준가격 ->매수
시가 < 기준가격 ->매도
청산 : 진입후 (전일시가-당일시가) 차이(진폭)만큼 가격이 도달했을때
예시) 매수 진입 280 / 전일시가-당일시가차이 1pt => 281청산
손절 : 진입후 기준가격+-0.1 도달시
예시) 기준가격 275 시가매수진입 280 일때 진입가격이 275까지
기준가격-0.1하락시 손절
2017-04-28
223
글번호 109233
답변완료
안녕하세요
아래식에서 진입후 전략A 전략B 를만족하면
1 . 이익부분과
2 . 청산신호시 손실중이면 최소이익 (수수료제외한 금액으로 input 으로
최소이익율 입력변수로 잡아도 됨 여기에서는 임의로 1% 설정)
으로 청산되게 하고픈데 최소이익부분이 안되내요 수정좀 부탁드립니다.
##### 전략A 전략B ######
if by == 0 and 방향 >= 0 and 전략A then{
by = c;
}
if by > 0 and C <= by * (100-yul)/100 then{
var3 = (c / by *100)-100;
Text_Delete(tx);
tx = Text_New(sdate,stime,c,"원가 "+NumToStr(by,0)+" 감소 "+NumToStr(var3,2)+"%");
/*by = 0;*/
buy("매수",AtMarket);
}
If 전략B Then
{
if c > by Then ######
{
ExitLong("이익청산",AtMarket);
}
else #####
if c > by*1.01 Then { #####
ExitLong("최소이익",AtMarket); ####
}
by = 0;
}
2017-04-28
216
글번호 109226
답변완료
시스템 보고서를 승률순으로 볼순없나요?
지금 총손익 연평균손익 최대손싶록 총수익/총손실 수익률
이렇게 정렬을 시킬수있는데 사실 이 5가지 항목이 다 별차이가 없다고 생각하는데요
승률이나 기울기가 가장 고른지 표준편차순 그런걸로 정렬을 할수있었으면 좋겠네요..
현재는 불가능해도 앞으로 업데이트가 됐으면 좋겠습니다.
2017-04-27
234
글번호 109224
답변완료
질문드립니다.
보완 질문입니다.
a와 b라는 함수가 있습니다.
둘다 함수로 -1 이 되면 리턴하게 하여
if a and b == -1 then{
시그널 = true;}
if 시그널 then{
plotpaintbar}
여기서 a와b 조건 만족시 뜨는 페인트바에서 몇가지 신호를 필터링 시키고싶은 건데요.
a와b가 성립하지만 이것을 필터링하는 c함수를 어떻게 넣어서 신호를 없앨 수 있을까요?
if a and b == -1 then{
시그널 = true;}
else
if a and b and c == -1 then{
시그널 = false;}
이렇게해도 신호가 필터링이 되지않습니다....
2017-04-27
208
글번호 109223
답변완료
연결선물 구분
안녕하세요?
한투 예스트레이더 사용자입니다.
시뮬레이션 차트에서 분봉상 연결선물로 시스템을 적용하여 백테스팅하여 성과를 보는데
해외선물의 특성상 종목별로는 월물간 스프레드가 크게 발생되기도 합니다.
따라서 연결선물상에서 해당 봉을 클릭하면 어떤 종목(몇월물인지 구분 위함)인지를 혹은 지표함수를 사용하여 알 수 있는 방법이 있을련지요?
2017-04-27
222
글번호 109222
답변완료
손절관련
손절수식관련 질문드립니다.
진입가격이 56.5 이고 시스템설정으로 손절포인트를 12틱으로 설정했는데
3시 넘어서 손절 포인트를 한번 바꿔줘야 되서 7틱으로 변경을 했습니다.
근데 보니깐 3시전에 7틱이 움직인 부분이 있어서 신호상으로는 3시전에 이미 손절신호가 나왔더라구요. 그래서 막상 3시 넘어서는 7틱 이상 움직였는데도 손절이 되지 않았습니다.
이런 경우에는 수식을 어떻게 작성 해야 될까요? 부탁드립니다.
2017-04-27
205
글번호 109220