커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6309
글번호 230811
답변완료
부탁 드립니다..
제가 수식을 몰라서요~ 자꾸 귀찮게 합니다.. 그리고 감사 하구요~
현재 수식에 총 3개를 부탁 드립니다..
거래량 더하고 싶습니다..1개 그리고 체결량 더하고 싶습니다. 2개 그리고 거래량과 체결량을 모두 수식에 넣고 싶습니다. 3개 모든 수식은 최적화를 할수 있어야 합니다.. 제가 정말 수식을 몰라서요~~ 감사 합니다..
input : P(0),간격(0),p1(0),p2(0),p3(0);
array : mav[3](0);
mav[1] = ma(c,P+간격*1);
mav[2] = ma(c,P+간격*2);
mav[3] = ma(c,P+간격*3);
var3 = ma(c,p1);
var4 = ma(c,p2);
var5 = ma(C,p3);
var1 = 0;
if mav[1] > mav[1][1] Then
var1 = var1+1;
if mav[2] > mav[2][1] Then
var1 = var1+1;
if mav[3] > mav[3][1] Then
var1 = var1+1;
var2 = 0;
if mav[1] <= mav[1][1] Then
var2 = var2+1;
if mav[2] <= mav[2][1] Then
var2 = var2+1;
if mav[3] <= mav[3][1] Then
var2 = var2+1;
if var1 == 3 Then
buy();
if var2 == 3 Then
sell();
2017-04-27
124
글번호 109238
답변완료
부탁드립니다.
전20개봉의 최고치와 전20개봉 최저치의 진폭 범위를 표시하고 싶습니다.
1)전20개봉 high-low의 60%선을 업라인이라하고 전20개봉 high-low 40%선을 다운라인
1)전20개봉 high-low의 90%선을 업라인이라하고 전20개봉 high-low 10%선을 다운라인
1)전20개봉 high-low의 120%선을 업라인이라하고 전20개봉 high-low -20%선을 다운라인
2017-04-28
139
글번호 109237
답변완료
수식요청
# 진입
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
167
글번호 109236
답변완료
부탁드립니다
당일의 최고가-최저가 = 진폭을 차트화면 우른쪽 상단에
숫자로 표시하고 싶습니다(ex 당일진폭 55틱)
위치조정 가능하도록 부탁드립니다
2017-04-27
136
글번호 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
211
글번호 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
199
글번호 109226
답변완료
시스템 보고서를 승률순으로 볼순없나요?
지금 총손익 연평균손익 최대손싶록 총수익/총손실 수익률
이렇게 정렬을 시킬수있는데 사실 이 5가지 항목이 다 별차이가 없다고 생각하는데요
승률이나 기울기가 가장 고른지 표준편차순 그런걸로 정렬을 할수있었으면 좋겠네요..
현재는 불가능해도 앞으로 업데이트가 됐으면 좋겠습니다.
2017-04-27
211
글번호 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
197
글번호 109223