커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3412
글번호 230811
답변완료
시스템식 부탁드립니다.
안녕하세요.
아래와 같이 시스템에서 추세선을 그리고 매매를 하려고 하는데
추세선이 그려지지 않습니다.
검토 부탁드립니다.
종목 : 해선 - 캐나다 마이크로 상품
#-------------------------------------------------------------------
input : 매수시작일(20210512),매수시작시간(230000),매수시작값(0.83000);
input : 매수종료일(20210515),매수종료시간(000000),매수종료값(0.82780);
input : 매도시작일(20210514),매도시작시간(030000),매도시작값(0.81950);
input : 매도종료일(20210514),매도종료시간(050000),매도종료값(0.81950);
var : 매수추세선(0), 매도추세선(0);
var : 매수추세선값(0), 매도추세선값(0);
var : 매수표시(0), 매도표시(0);
#-------------------------------------
# 매수추세선 그리기
#-------------------------------------
매수추세선 = TL_New(매수시작일,매수시작시간,매수시작값,매수종료일,매수종료시간,매수종료값);
TL_SetExtLeft(매수추세선,True);
TL_SetExtRight(매수추세선,True);
매수추세선값 = TL_Getvalue(매수추세선,sDate,sTime);
Text_Delete(매수표시);
매수표시 = Text_New(sDate,sTime,매수추세선값+0.0010,NumToStr(매수추세선값,5));
#-------------------------------------
# 매수
#-------------------------------------
IF CrossUp(C,매수추세선값) TheN{
BuY("B");
}
#-------------------------------------
# 매도추세선 그리기
#-------------------------------------
매도추세선 = TL_New(매도시작일,매도시작시간,매도시작값,매도종료일,매도종료시간,매도종료값);
TL_SetExtLeft(매도추세선,True);
TL_SetExtRight(매도추세선,True);
매도추세선값 = TL_Getvalue(매도추세선,sDate,sTime);
Text_Delete(매도표시);
매도표시 = Text_New(sDate,sTime,매도추세선값-0.0010,NumToStr(매도추세선값,5));
#-------------------------------------
# 매도
#-------------------------------------
IF CrossDown(C,매도추세선값) TheN{
Sell("S");
}
#------------------------------------------
그리고 추세선 그릴때 새벽 12시는 시간을 "000000" 으로 하나요?
아니면 "240000"으로 하나요?
도움 부탁드립니다.
2021-05-16
873
글번호 149056
답변완료
수식작성
input : StartTime(150000),EndTime(055000),xtime(055500);
var : Tcond(false);
if sDate != sDate[1] then
SetStopEndofday(xtime);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
SetStopEndofday(0);
}
Input : Period(20);
Var : value(0);
value = VR(Period);
# 매수/매도청산
If CrossUP(value, 100) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value, 300) Then
{
Sell();
}
-------------------------
수식어 추가입니다.
이격도 50의 기준선 100 이상 sell신호는 buy 전환
이격도 50의 기준선 100 이하 buy 신호는 sell 전환
늘 감사드립니다.
2021-05-17
1064
글번호 149055
답변완료
수식작성
input : P1(5),P2(20);
input : sto1(12),sto2(26),sto3(5);
Input : trixp(12), sigPeriod(9);
INPUTS: LENGTH(5);
input : short(12),long(26),sig(9);
input : StartTime(090000),EndTime(035000);
var : Tcond(false);
var : mav1(0),mav2(0),stok(0),stod(0);
var : trixv(0),trixs(0),TEMA(0),macdo(0);
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
SetStopEndofday(0);
}
mav1 = ma(C,P1);
mav2 = ma(C,P2);
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
trixv = trix(trixp);
trixs = ema(trixv,sigPeriod);
TEMA = (3 * Ema(c,LENGTH)) - (3 * Ema(Ema(c,LENGTH),LENGTH)) +
(Ema(Ema(Ema(c,LENGTH),LENGTH),LENGTH));
macdo = macd_osc(short,long,sig);
var1 = 0;
var2 = 0;
if stok > stod Then
var1 = var1+1;
if trixv > trixs Then
var1 = var1+1;
if c > tema Then
var1 = var1+1;
if macdo > 0 Then
var1 = var1+1;
if stok < stod Then
var2 = var2+1;
if trixv < trixs Then
var2 = var2+1;
if c < tema Then
var2 = var2+1;
if macdo < 0 Then
var2 = var2+1;
if Tcond == true Then
{
if crossup(mav1,mav2) and var1 >= 3 Then
buy();
if CrossDown(mav1,mav2) and var2 >= 3 Then
sell();
}
-------------
수식어 추가 입니다.
sell신호가 2가지 조건이 되었을때 buy신호로 전환하는 수식어는
캔들이 50 이평선 위 그리고 이격도 120의 기준선 100 이상일때이고
손절은 3 이평선이 50 이평선을 데드크로스일때 입니다.
또한 buy신호가 2가지 조건이 되었을때 sell신호로 전환하는 수식어는
캔들이 50 이평선 아래 그리고 이격도 120의 기준선 100 이하
손절은 3 이평선이 50 이평선을 골든크로스일때 입니다.
당일 목표수익이 120틱에 매매정지도 포함 해 주세요.
늘 감사드립니다.
2021-05-16
1118
글번호 149054
234fsdae 님에 의해서 삭제되었습니다.
2021-05-16
18
글번호 149053
답변완료
수식작성
input : P1(5),P2(20),P3(60);
input : sto1(12),sto2(26),sto3(5);
Input : trixp(12), sigPeriod(9);
input : 익절틱수(100),손절틱수(20);
INPUTS: LENGTH(5);
input : short(12),long(26),sig(9);
input : StartTime(143500),EndTime(035000);
var : Tcond(false);
var : mav1(0),mav2(0),mav3(0),stok(0),stod(0);
var : trixv(0),trixs(0),TEMA(0),macdo(0);
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
SetStopEndofday(0);
}
mav1 = ma(C,P1);
mav2 = ma(C,P2);
mav3 = ma(C,P3);
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
trixv = trix(trixp);
trixs = ema(trixv,sigPeriod);
TEMA = (3 * Ema(c,LENGTH)) - (3 * Ema(Ema(c,LENGTH),LENGTH)) +
(Ema(Ema(Ema(c,LENGTH),LENGTH),LENGTH));
macdo = macd_osc(short,long,sig);
var1 = 0;
var2 = 0;
if stok > stod Then
var1 = var1+1;
if trixv > trixs Then
var1 = var1+1;
if c > tema Then
var1 = var1+1;
if macdo > 0 Then
var1 = var1+1;
if stok < stod Then
var2 = var2+1;
if trixv < trixs Then
var2 = var2+1;
if c < tema Then
var2 = var2+1;
if macdo < 0 Then
var2 = var2+1;
if Tcond == true Then
{
if crossup(mav1,mav2) and var1 >= 3 and C > mav3 Then
buy("b");
if crossup(mav1,mav2) and var1 >= 3 and C < mav3 Then
Sell("s2");
if CrossDown(mav1,mav2) and var2 >= 3 and C < mav3 Then
sell("s");
if CrossDown(mav1,mav2) and var2 >= 3 and C > mav3 Then
Buy("b1");
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
-------------
목표수익 120틱에 매매정지 추가로 부탁드립니다.
2021-05-16
593
글번호 149052
답변완료
수식작성
해외선물 매매자 입니다.
2가지 수식어를 부탁 드립니다.
1. 시장가 매수후 익일 05시 59분에 청산되는 수식어에
익절 60틱 손절 20틱 목표수익 110 틱 입니다.
-------------------------
2. 시장가 매도후 익일 05시 59분에 청산되는 수식어에
익절 60틱 손절 20틱 목표수익 110 틱 입니다.
늘 감사드립니다.
2021-05-16
651
글번호 149051
답변완료
질문
거래량비율을
거래량처럼 막대그래프로 구현해줄수잇나요
꼭 막대그래프가 아니어도
거래량 비율을
일봉에서 비교할수 있는 지표좀
만들어주세요,,
부탁드립니다
거래량 그래프는 있는데
왜 중요한 거래량비율 그래프는 없는지 모르겠네요 ㅜㅜ
2021-05-16
861
글번호 149050
푸른 님에 의해서 삭제되었습니다.
2021-05-16
0
글번호 149049
답변완료
도움을 부탁드리겠습니다.
안녕하세요..기존에 요청드렸던
분봉차트에서, 일봉 최대거래량 발생일의 일봉상 시가, 종가, 고가,
이셋을 오늘 분봉에서 표현하는 수식 감사드립니다.
이걸 수정해서 기간중에
<일봉이 음봉>이었던 날중에서 최대거래량인 날의 음봉의 시가,종가,고가
를 표현하게 바꿔주시길 부탁드리겠습니다.
2
input : N(5);
var : cnt(0),Hv(0),Ho(0),hh(0),hc(0);
Array : DD[100](0);
if Bdate != Bdate[1] Then
{
DD[0] = sDate;
For cnt = 1 to 99
{
DD[cnt] = DD[cnt-1];
}
}
if DD[5] > 0 Then
{
HV = 0;
Ho = 0;
Hh = 0;
Hc = 0;
For cnt = 1 to N
{
if DayVolume(cnt) > Hv Then
{
Hv = DayVolume(cnt);
Ho = DayOpen(cnt);
Hh = DayHigh(cnt);
Hc = DayClose(cnt);
}
}
if hv > 0 Then
{
Plot1(ho);
Plot2(hh);
Plot3(hc);
}
}
2021-05-16
832
글번호 149048