커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7293
글번호 230811
답변완료
분봉 차트에 틱 이평선이나 지표를 추가할수있나요??
제목 그대로입니다.
타주기 data2에 지표를 따로 지정하기 힘들다고 하여
분봉차트에 틱차트 지표를 적용시키고 싶습니다.
답변 부탁드립니다
감사합니다.
2017-11-03
191
글번호 113863
답변완료
cci 시스템
항상감사드립니다
아래조건식을 시스템으로 구현하고 싶습니다
/*********************************/
Input : Period5(80),Period6(40);
var : CCIv80(0),CCIs80(0);
CCIv80 = CCI(Period5);
CCIs80 = ema(CCIv80,Period6);
/*********************************/
Input : Period7(20),Period8(10);
var : CCIv20(0),CCIs20(0);
CCIv20 = CCI(Period7);
CCIs20 = ema(CCIv20,Period8);
/********************************/
1_시스템식
ccis80<0 인상태에서 두번째 crossup(ccis20,ccis80) 이면 매수진입 b1
(첫번째,두번째 crossup이 ccis80<0 이고 연속해서 발생해야함)
ccis80>0 인상태에서 두번째 crossdown(ccis20,ccis80)이면 매도진입 s1
(첫번째,두번째 crossdown이 ccis80>0 이고 연속해서 발생해야함)
2_시스템
crosssup(ccis20,ccis80) 이 연속3회 발생시 매수 b2
crossdown(ccis20,ccis80)이 연속3회 발생시 매도 s2
3_시스템
첫번째 crossup(ccis20,ccis80) 위치 < 두번째 crossup(ccis20,ccis80) 위치 이고
crossup이 연속해서 나오면 b3
첫번째 crossdown(ccis20,ccis80) 위치 > 두번째 crossdown(ccis20,ccis80) 위치이고
crossdown이 연속해서 나오면 s3
감사합니다
2017-11-03
216
글번호 113862
답변완료
문의합니다
아래 시스템 수식(VR)입니다 이수식을 지표로 전환하여 주시기 바랍니다
감사합니다
Input : Period(20);
Var : value(0);
value = VR(Period);
# 매수/매도청산
If CrossUP(value, 100) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value, 300) Then
{
Sell();
}
2017-11-02
184
글번호 113860
답변완료
시작시간 초기화
아래 수식의 시간조절로는 단순히 시작시간만 변경됩니다.
input에서 시간을 입력하면
090000부터 계산은 초기화하고
입력한 시간부터 장시작으로 인식하는 수식으로 변경 바랍니다.
항상 고맙습니다.
************************************
input : b1(9),b2(9),X1(9),X2(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000) ;
var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0);
if Bdate != Bdate[1] Then{
T1 = TotalTrades;
E1 = 0;
}
if (Bdate != Bdate[1] and stime >= 시작시간) or (Bdate == Bdate[1] and stime > 시작시간 and stime[1] < 시작시간) Then
LL = L;
if L < LL Then
LL = L;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and stime >= 시작시간 Then{
if E1 == 0 and C >= LL+PriceScale*B1 and C[1] < LL+PriceScale*B1 Then{
E1 = 1;
H1 = H;
i1 = index;
V1 = LL; //시작점 종가
}
if E1 == 1 and index > i1 then{
if H > H1 Then
H1 = H;
#저가가 시작봉종가보다 클때만 눌림체크
if L >= V1 and L <= H1-PriceScale*진입눌림 Then{
E1 = 2;
i1 = index;
S1 = H1;
}
}
//시작점 종가보다 낮은 가격이 발생하면 초기화
if E1 >= 1 and L < V1 Then{
E1 = 0;
LL = L;
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{
buy("b1");
}
}
if TotalTrades > TotalTrades[1] Then{
E1 = 0;
LL = L;
}
if L < LL Then
LL = L;
if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{
if E1 == 0 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then{
E1 = 1;
H1 = H;
i1 = index;
V1 = LL; //시작점 종가
}
if E1 == 1 and index > i1 then{
if H > H1 Then
H1 = H;
#저가가 시작봉종가보다 클때만 눌림체크
if L >= V1 and L <= H1-PriceScale*진입눌림 Then{
E1 = 2;
i1 = index;
S1 = H1;
}
}
//시작점 종가보다 낮은 가격이 발생하면 초기화
if E1 >= 1 and L < V1 Then{
E1 = 0;
LL = L;
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{
buy("b2");
}
}
if MarketPosition == 1 Then{
if entry >= 1 then{
if CurrentContracts > CurrentContracts[1] Then{
EH = H;
E1 = 0;
}
if H > EH Then{
EH = H;
E1 = 0;
}
if E1 == 0 and C <= EH-PriceScale*X1 Then{
E1 = 1;
L1 = L;
i1 = index;
}
if E1 == 1 and index > i1 Then{
if L < L1 Then
L1 = L;
if H >= L1+PriceScale*청산눌림 Then{
E1 = 2;
I1 = index;
S1 = L1;
}
}
if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{
exitlong("bx1");
E1 = 0;
}
}
}
if MarketPosition == 1 Then{
if entry >= 1 then{
if CurrentContracts > CurrentContracts[1] Then{
EH = H;
E1 = 0;
}
if H > EH Then{
EH = H;
E1 = 0;
}
if E1 == 0 and C <= EH-PriceScale*X2 Then{
E1 = 1;
L1 = L;
i1 = index;
}
if E1 == 1 and index > i1 Then{
if L < L1 Then
L1 = L;
if H >= L1+PriceScale*청산눌림 Then{
E1 = 2;
I1 = index;
S1 = L1;
}
}
if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{
exitlong("bx2");
E1 = 0;
}
}
}
2017-11-02
197
글번호 113852
답변완료
수식 문의
안녕하세요
하기 수식 구현 부탁드립니다.
ADX 라인이 아래에 위치하고 있으며,
DP/DM 라인이 ADX 위에 있을때 만 적용됩니다.
상기 상태에서 가격이 볼린져 밴드 하단에 닿으면 매수 진입
상기 상태에서 가격이 볼린져 밴드 상단에 닿으면 매도 진입하는 수식 부탁드립니다.
감사합니다
2017-11-02
185
글번호 113846
답변완료
함수문의드립니다
"코스피 프로그램 비차익 순매수금액" 데이터를 불러오고자 합니다
함수명을 알려주시면 고맙겠습니다.
2017-11-02
200
글번호 113845
답변완료
55321 수정사항입니다
도움 감사드립니다. 그런데 텍스트가 챠트중간에 나와서 불편하네요. 우측으로 정렬시키려 이전에 도움받은 내용으로 수정을 해봤는데 잘 안되네요.
도움 부탁드려요.
<< 텍스트를 우측여백에 위치시키기>>
####################
안녕하세요
예스스탁입니다.
1.
var : cnt(0);
Array : TL[301](0),TX[301](0);
if CurrentDate == sdate then{
if sdate != sdate[1] then{
for cnt = 1 to 300{
TL_Delete(TL[cnt]);
TL[cnt] = TL_New(sdate[1],stime[1],DayClose(cnt),sdate,stime,DayClose(cnt));
TL_SetExtRight(TL[cnt],true);
TL_SetExtLeft(TL[cnt],true);
Text_Delete(TX[cnt]);
TX[cnt] = Text_New(sdate,stime,DayClose(cnt),NumToStr(DayClose(cnt),2));
}
}
TL_Delete(TL[0]);
TL[0] = TL_New(sdate[1],stime[1],DayClose(0),sdate,stime,DayClose(0));
TL_SetExtRight(TL[0],true);
TL_SetExtLeft(TL[0],true);
Text_Delete(TX[0]);
TX[0] = Text_New(sdate,stime,DayClose(cnt),NumToStr(DayClose(0),2));
}
2
var : cnt(0,data1),C2(0,data2);
Array : TL[301](0,data1),TX[301](0,data1);
C2 = data2(C);
if CurrentDate == sdate then{
if sdate != sdate[1] then
{
for cnt = 1 to 300
{
TL_Delete(TL[cnt]);
TL[cnt] = TL_New(sdate[1],stime[1],C2[cnt-1],sdate,stime,C2[cnt-1]);
TL_SetExtRight(TL[cnt],true);
TL_SetExtLeft(TL[cnt],true);
Text_Delete(TX[cnt]);
TX[cnt] = Text_New(sdate,stime,C2[cnt-1],NumToStr(C2[cnt-1],2));
}
}
TL_Delete(TL[0]);
TL[0] = TL_New(sdate[1],stime[1],c,sdate,stime,c);
TL_SetExtRight(TL[0],true);
TL_SetExtLeft(TL[0],true);
Text_Delete(TX[0]);
TX[0] = Text_New(sdate,stime,c,NumToStr(c,2));
}
즐거운 하루되세요
> 스로우 님이 쓴 글입니다.
> 제목 : 추세선문의
> <<분봉 챠트>> 에서 아래 요구사항을 구현하고자 합니다. 도움 부탁드려요. ^^
1) 과거 300일간의 일봉의 종가를 모두 선으로 그리고 수치값을 우측여백에 표시합니다.
2) 과거 1000개의 60분봉의 종가를 모두 선으로 그리고 수치값을 우측여백에 표시합니다.
==>
a)참조데이타 이용를 이용하는 방법과
b)함수식으로 구현하는 방법
2가지 다 부탁드립니다. <<감사합니다. ^^>>
2017-11-02
217
글번호 113841
답변완료
질문
좋은 답변 감사드립니다. 아래수식은 추세매매수식인데 이것을 진입후 0.5pt수익이며는 청산하는 수식으로 변형부탁드립니다. 재 진입은 반대포지션진입조건이 뜨며는 진입합니다. 여기서 0.5pt는 변수처리 부탁드립니다.감사합니다.
1.
var : Xcnt(0);
if bdate != bdate[1] Then
Xcnt = 0;
if TotalTrades > TotalTrades[1] and IsExitName("StopLoss",1) == true Then
Xcnt = Xcnt+1;
var1 = (DayHigh+daylow)/2;
if NextBarSdate == sdate and Xcnt < 3 Then
{
if Bdate != Bdate[1] or (Bdate == Bdate[1] and H < var1+PriceScale*1) Then
buy("b",AtStop,var1+PriceScale*1);
}
SetStopLoss(PriceScale*5,PointStop);
2
var : Xcnt(0);
if bdate != bdate[1] Then
Xcnt = 0;
if TotalTrades > TotalTrades[1] and IsExitName("StopLoss",1) == true Then
Xcnt = Xcnt+1;
var1 = (DayHigh+daylow)/2;
if NextBarSdate == sdate and Xcnt < 3 Then
{
if Bdate != Bdate[1] or (Bdate == Bdate[1] and L > var1-PriceScale*1) Then
sell("s",AtStop,var1-PriceScale*1);
}
SetStopLoss(PriceScale*5,PointStop);
2017-11-02
195
글번호 113840
답변완료
문의드립니다.
덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
5분봉기준
지표는 30분
진입
-30분차트에서 40볼린저밴드 중앙선 상향돌파시 매수진입
-40볼린저밴드 상단선 상향돌파시 추가진입
청산
-40볼린저밴드 상단선 하향돌파시 추가진입분 청산
-40이평 하향돌파시 청산
필터
60bandwidth 기울기(변동률,전보다 높으면 1 낮으면 0) 하향시(0일시) 진입하지 않음
2. 시스템
5분봉
지표는 30분
밴드폭이 n이하라면
진입1
볼린저밴드 표준편차 1.8 기준 종가가 하단선을 하향돌파하면 매수진입
청산1
조건 1
표준편차 1.8기준 종가가 상단선을 상향돌파하면 진입 1 청산
조건2
진입1한 상태에서 진입시점 밴드폭보다 밴드폭이 x%늘어나면 조건1 청산하고 매도진입으로 바꿈
청산2
조건2를 통해 매수진입이나 매도진입이 바뀐 상태에서는 청산 조건을 이평선으로 바꿈(매수라면 하향돌파, 매도라면 상향돌파)
진입 2
조건3
밴드폭이 n이하라면 표준편차 1.8기준 종가가 상향돌파하면 매도진입
조건3 상태에서 밴드폭보다 밴드폭이 x%늘어나면 조건3 청산하고 매수진입으로 바꿈.
바뀐 경우 청산기준은 청산2를 따름
3. 시스템
5분봉기준
30분봉지표
5일 이평이 20이평 상향돌파 진입
조건1 전거래가 수익이면 n개봉간 진입금지
조건2 진입은 안했지만 진입가정 손실거래가 3회 생겼으면 포지션 2배
4. 지표
5분봉기준
30분봉 볼린저밴드 밴드폭
5. 시스템
진입
5일 이평이 20이평 돌파 진입
청산
5일 이평이 20이평 하향돌파 청산
-진입 수익률이 n%가 되면 n개봉간 진입금지
-손실거래가 3회가 되면 진입포지션 수량 1.5배진입
2017-11-02
231
글번호 113839