커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3726
글번호 230811
답변완료
스크립트 검증 요청(글번호 67626번)
신호 생성이 되지 않습니다.
스크립트 검증 및 실행 조건 확인 좀 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 함수요청
> 안녕하세요
예스스탁입니다.
var : BD(0);
if bdate != bdate[1] Then
{
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then
BD = 0;
BD = BD +1;
}
if BD == 1 and
nextbarstime >= 70000 and
stime < 70000 and
DayClose(1) > dayopen(1) and
DayClose(2) > dayopen(2) Then
buy("b",AtMarket);
if BD == 1 and
nextbarstime >= 70000 and
stime < 70000 and
DayClose(1) < dayopen(1) and
DayClose(2) < dayopen(2) Then
sell("s",AtMarket);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래 전략에 스크립트 작성 요청드립니다.
크루드 오일 일봉상 금요일과 월요일에 양봉 상승이 나오면 화요일 시가에 매수를
음봉 하락이 나오면 매도를 하고 싶습니다.
일봉으로 금요일 월요일 화요일이 휴장일 경우에
지난 주 마지막 영업일, 금 주 첫번째 영업일, 금 주 두번 째 영업일로 산정하고 싶습니다.
2020-05-26
2326
글번호 139199
답변완료
지표문의
1.안녕하세요
아래의 지표를 구현하면 최근4개봉 점선이 생겨요.
이점선에서 4개점선만 이용한 고점(최근4개점선)들합 나누기 4 해서 수평선 하나
4개점선만 이용한 저점(최근4개점선)들합 나누기 4 해서 수평선 하나
그 다음 중간선, 이렇게 3개 수평선을 표현 한번 표현 한번 해보구 싶어요
input:N(4),multi(2),Period(63);
Var:chng_rt(0),j(0),ma_val(0),std_val(0),dn_rng(0),up_rng(0),rawVBE_up(0),rawVBE_dn(0);
Array:len[11](0),VBE_up[11](0),VBE_dn[11](0),
up_chg[11](0),dn_chg[11](0),up_cor[11](0),dn_cor[11](0),
fcstVBE_up[11](0),fcstVBE_dn[11](0);
len[0] = 2;
len[1] = 5;
len[2] = 9;
len[3] = 13;
len[4] = 17;
len[5] = 21;
len[6] = 25;
len[7] = 29;
len[8] = 33;
len[9] = 37;
len[10] = 41;
chng_rt = (C/C[1]-1); // 가격 변동률
ma_val = ma(chng_rt,len[N]); // 가격변동률의 평균
std_val = Std(chng_rt,len[N]); // 가격변동률의 표준편차
dn_rng = ma_val - (std_val * multi);
up_rng = ma_val + (std_val * multi);
rawVBE_up = C * (1 + up_rng); // 원시VBE
rawVBE_dn = C * (1 + dn_rng);
for j = 0 to N {
VBE_up[j] = wma(rawVBE_up,len[j]); // 원시VBE를 가중이평으로 평활화
VBE_dn[j] = wma(rawVBE_dn,len[j]);
if VBE_up[j][1] > 0 then up_chg[j] = (VBE_up[j]-VBE_up[j][1])/VBE_up[j][1]; // VBE의 변동률
if VBE_dn[j][1] > 0 then dn_chg[j] = (VBE_dn[j]-VBE_dn[j][1])/VBE_dn[j][1];
}
fcstVBE_up[N] = VBE_up[N];
fcstVBE_dn[N] = VBE_dn[N];
for j = N - 1 downto 0 {
up_cor[j] = Correlation(up_chg[N], up_chg[j],Period); // 21일 VBE변동률과 17,13,9,5,2 변동률간의 상관도
dn_cor[j] = Correlation(dn_chg[N], dn_chg[j],Period);
fcstVBE_up[j] = fcstVBE_up[j+1] * (1+(up_chg[j]*up_cor[j])); // 이전값에 상관도와 변동률을 곱해서 계산
fcstVBE_dn[j] = fcstVBE_dn[j+1] * (1+(dn_chg[j]*dn_cor[j]));
}
Var:Size(4);
plot1(fcstVBE_up[N],"상-N",RED,DEF,Size-1); // N봉 뒤로 이동
plot2(fcstVBE_dn[N],"하-N",BLUE,DEF,Size-1); // N봉 뒤로 이동
FixPlotShift(1,-N);
FixPlotShift(2,-N);
if LastBarOnChart then { // 마지막봉에서 아래 N봉만 추가로 출력
plot3(fcstVBE_up[0],"상0",RED,DEF,Size);
if N > 1 then plot4(fcstVBE_up[1],"상-1",RED,DEF,Size); // 1봉 뒤로 이동
if N > 2 then plot5(fcstVBE_up[2],"상-2",RED,DEF,Size); // 2봉 뒤로 이동
if N > 3 then plot6(fcstVBE_up[3],"상-3",RED,DEF,Size); // 3봉 뒤로 이동
if N > 4 then plot7(fcstVBE_up[4],"상-4",RED,DEF,Size); // 4봉 뒤로 이동
if N > 5 then plot8(fcstVBE_up[5],"상-5",RED,DEF,Size); // 5봉 뒤로 이동
if N > 6 then plot9(fcstVBE_up[6],"상-6",RED,DEF,Size); // 6봉 뒤로 이동
if N > 7 then plot10(fcstVBE_up[7],"상-7",RED,DEF,Size); // 7봉 뒤로 이동
if N > 8 then plot11(fcstVBE_up[8],"상-8",RED,DEF,Size); // 8봉 뒤로 이동
plot12(fcstVBE_dn[0],"하0",BLUE,DEF,Size);
if N > 1 then plot13(fcstVBE_dn[1],"하-1",BLUE,DEF,Size); // 1봉 뒤로 이동
if N > 2 then plot14(fcstVBE_dn[2],"하-2",BLUE,DEF,Size); // 2봉 뒤로 이동
if N > 3 then plot15(fcstVBE_dn[3],"하-3",BLUE,DEF,Size); // 3봉 뒤로 이동
if N > 4 then plot16(fcstVBE_dn[4],"하-4",BLUE,DEF,Size); // 4봉 뒤로 이동
if N > 5 then plot17(fcstVBE_dn[5],"하-5",BLUE,DEF,Size); // 5봉 뒤로 이동
if N > 6 then plot18(fcstVBE_dn[6],"하-6",BLUE,DEF,Size); // 6봉 뒤로 이동
if N > 7 then plot19(fcstVBE_dn[7],"하-7",BLUE,DEF,Size); // 7봉 뒤로 이동
if N > 8 then plot20(fcstVBE_dn[8],"하-8",BLUE,DEF,Size); // 8봉 뒤로 이동
FixPlotShift(4,-1);
FixPlotShift(5,-2);
FixPlotShift(6,-3);
FixPlotShift(7,-4);
FixPlotShift(8,-5);
FixPlotShift(9,-6);
FixPlotShift(10,-7);
FixPlotShift(11,-8);
FixPlotShift(13,-1);
FixPlotShift(14,-2);
FixPlotShift(15,-3);
FixPlotShift(16,-4);
FixPlotShift(17,-5);
FixPlotShift(18,-6);
FixPlotShift(19,-7);
FixPlotShift(20,-8);
}
2.그럼 수고하세요.
2020-05-26
2347
글번호 139198
카르마다 님에 의해서 삭제되었습니다.
2020-05-26
0
글번호 139197
답변완료
시스템 질문입니다
1.
5캔들 이평선을 양봉으로 돌파시 매수 25% 수익에 청산
5캔들 이평선을 양봉으로 돌파시 매수 25% 수익에 매도
2.
5캔들 이평선을 연속 2개의 양봉으로 돌파시 매수 25% 수익에 청산
5캔들 이평선을 연속 2개의 양봉으로 돌파시 매수 25% 수익에 매도
3.
5캔들 이평선을 양봉으로 돌파후 양봉이 추가될 경우 매수 25% 수익에 청산
5캔들 이평선을 양봉으로 돌파후 양봉이 추가될 경우 매수 25% 수익에 매도
감사합니다
2020-05-26
2365
글번호 139196
답변완료
연속손절시 중지
시스템 진행중에
연속손절 nn회가 발생했을시
새로운 진입을 중지했다가
익절이 나왔을때(중지하지 않고 시스템 진행시)
그 다음 진입부터 시스템진입을 재개해는 수식은 구현이 가능할까요?
2020-05-26
2517
글번호 139195
답변완료
문의합니다.
2020-05-25
2630
글번호 139194
답변완료
부탁드립니다
수고하십니다
*아래수식을 봉상당에 점으로 부탁드립니다
M=MACD(기간1,기간2);
MS=eavg(M,기간3);
조건=Shift(M<M(1)&&M(1)>M(2)&&M>Ms,-1)
기간1 12, 기간2 26, 기간3 9
2020-05-25
2699
글번호 139193
답변완료
부탁드립니다
수고하십니다
아래수식을 봉에 표시돼도록 수정 부탁드립니다
input : 기간(5),k(2);
var : MM(0),LL(0),HH(0),NL(0),ii(0),tx(0);
MM=MACD(20,60);
LL=lowest(MM,기간);
HH=highest(MM,기간);
if MM < LL[1] Then
{
NL = MM;
ii = 0;
}
else
{
ii = ii+1;
}
if ii == 기간-k then
{
var1 = NL;
var2 = HH;
var3 = MM;
}
if crossup(value3,value2) and C > O Then
{
tx = text_new(sdate,stime,l-PriceScale*15,"●");
Text_SetStyle(tx,2,5);
Text_SetColor(tx,RED);
Text_SetBold(tx,2);
}
if CrossDown(value3,value1) and C < O Then
{
tx = text_new(sdate,stime,l+PriceScale*15,"●");
Text_SetStyle(tx,2,1);
Text_SetColor(tx,BLUE);
Text_SetBold(tx,2);}
2020-05-25
2594
글번호 139192
답변완료
문의 드립니다. .
안녕하세요 ???
거래량 관련 지표를 만드는데 아직 초보라 문의 드립니다.
var : 순거래량(0) ;
var : cnt(0) , sum(0) ;
순거래량 = upvol-downvol ;
sum = 0 ;
for cnt = 0 TO 10
{SUM = SUM + 순거래량 [cnt];}
plot11(순거래량, "순거래량") ;
1분봉에서 이렇게 코딩하면 지금 현재봉부터 이전 10 개봉이 더해지나요 아니면
0번째봉부터 앞으로 시간이 지남에 따라 1,2,3 번째 봉의 순거래량이 누적으로 계산되어 10 개봉까지만 값이 누적이 되어지나요 ??
1. 만약 이전봉 10개로 누적되어진다면 시간이 지남에 따른 누적을 보고 싶을때 어떻게 표현해야 하나요 ???
2. 누적되어질때 당일분만 나오게 할순 없나요 (첫봉에서 전일의 순거래량영향없이) ???
3. accum(순거래량) 함수 사용하면 현재부터 1분봉에서 1분마다 순거래량이누적으로 더해지나요 ???
4. 거래대금이 거래량*단가이면 상승형 거래대금(upvol * 단가) 를 표현하고 싶은데 단가를 c로하면 1분봉 종가로 계산되어질듯합니다. 실시간으로 상승형거래대금과 하락형 거래대금으로 구분하여 누적으로 나타낼수 있을까요 ????
초보 질문이라 송구합니다.부탁드립니다.
2020-05-26
2582
글번호 139191