커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7585
글번호 230811
답변완료
문의합니다.
Input : Period(5);
var : AsksMA(0),BidsMA(0);
BidsMa = ma(bids,Period);
AsksMA = ma(asks,Period);
if BidsMa-AsksMA <= 2000 Then
plot1(H);
if BidsMa-AsksMA <= -2000 Then
plot1(L);
이식에서 매도잔량이 매수잔량보다 많으면 점이 다 찍히는 경우가 잇더라고요 ㅠ
해결방법좀 알려주세요!
또 사진처럼 점들이 봉아래나 위로 찍히는데 노란색처럼 일렬로 찍히게 할 방법은 없는건가요?
2.
input : ShortPeriod(3), longPeriod(6),Period3(3), Period4(6);
var1 = Macd( ShortPeriod, longPeriod);
var2 = ma(bids,Period3);
var3 = ma(Asks,Period4);
if crossup(var1, 0) Then
value1 = var2;
if var2 > value1 Then
value1 = var2;
if CrossDown(var1,0) Then
value2 = var2;
if var2 < value2 Then
value2 = var2;
plot1(value1);
plot2(value2);
if crossup(var1, 0) Then
value1 = Var3;
if Var3 > value1 Then
value1 = Var3;
if CrossDown(var1,0) Then
Value3 = Var3;
if Var3 < Value3 Then
Value3 = Var3;
if BidsMa-AsksMA <= 1000 Then
plot3(Value3);
제가 작성한 식입니다.
첨부사진에 처럼 봉아래위에 있는 점을 노란색점처럼 만들기 위해서
만들었는데 오류가 뜨네요 ㅠㅠ
수정이 가능하면 매도매수잔량차이 범위도 1000보다 크도 2000보다 작은범위로 나타내고 싶습니다.
2013-02-15
369
글번호 59573
답변완료
문의드립니다.
지표식관련 문의드립니다.
일봉차트에서 월봉 주봉 및 일봉의 (가중 거래대금/거래량) 의 이평을 불러오고자 합니다.
월봉, 주봉, 일봉의 각 기간만큼의 총합거래래금/총합거래량을 표현코자 합니다.
그리고 일봉의 price channel처럼 일봉 240기간중 최고 거래대금/거래량의 지표를 표현해 주세요.
아래의 지표식 폼으로 작성해 주시기 바랍니다.
감사합니다.
input : LENGTH1(240),
mPeriod1(3),mPeriod2(5),mPeriod3(10),mPeriod4(20), ## 월봉
wPeriod11(3),wPeriod12(5),wPeriod13(10),wPeriod14(20),wPeriod15(60), ## 주봉
Period21(3),Period22(5),Period23(10),Period24(20),Period25(60),Period26(120),Period27(240); ## 일봉
var : mcnt(0),wcnt(0),cnt(0);
var : TCHAN1(0); ## 일 240일 기간중 최고 거래대금/거래량으로 변환
Array : mHH[30](0),mCC[30](0),mLL[30](0); ## 월봉
Array : wHH[70](0),wCC[70](0),wLL[70](0); ## 주봉
## 월봉
if sdate > sdate[1]+30 Then{
mHH[0] = H;
mLL[0] = L;
for mcnt = 1 to 21{
mHH[mcnt] = mHH[mcnt-1][1];
mCC[mcnt] = mCC[mcnt-1][1];
mLL[mcnt] = mLL[mcnt-1][1];
}
}
if H > mHH[0] Then mHH[0] = H;
if L < mLL[0] Then mLL[0] = L;
mCC[0] = C;
## 월봉
var1 = 가중 거래대금/거래량; ## 월 평균가격 3
var2 = 가중 거래대금/거래량; ## 월 평균가격 5
var3 = 가중 거래대금/거래량; ## 월 평균가격 10
var4 = 가중 거래대금/거래량; ## 월 평균가격 20
var9 = (mHH[0]+mLL[0])/2; ## 월봉 중간값
var10 = (mHH[0]+mLL[0]+mCC[0])/3; ## 월봉 대표값
## 주봉
if DayOfWeek(sdate) <= DayOfWeek(sdate[1]) and sdate > sdate[1] Then{
wHH[0] = H;
wLL[0] = L;
for wcnt = 1 to 61{
wHH[wcnt] = wHH[wcnt-1][1];
wCC[wcnt] = wCC[wcnt-1][1];
wLL[wcnt] = wLL[wcnt-1][1];
}
}
if H > wHH[0] Then wHH[0] = H;
if L < wLL[0] Then wLL[0] = L;
wCC[0] = C;
## 주봉
var11 = 가중 거래대금/거래량; ## 주 평균가격 3
var12 = 가중 거래대금/거래량; ## 주 평균가격 5
var13 = 가중 거래대금/거래량; ## 주 평균가격 10
var14 = 가중 거래대금/거래량; ## 주 평균가격 20
var15 = 가중 거래대금/거래량; ## 주 평균가격 60
var19 = (wHH[0]+wLL[0])/2; ## 주봉 중간값
var20 = (wHH[0]+wLL[0]+wCC[0])/3; ## 주봉 대표값
## 일봉
TCHAN1 = HIGHEST(High, LENGTH1)[1]; ## 일 240일중 최고 거래대금/거래량
var21 = 가중 거래대금/거래량; ## 일 평균가격 3
var22 = 가중 거래대금/거래량; ## 일 평균가격 5
var23 = 가중 거래대금/거래량; ## 일 평균가격 10
var24 = 가중 거래대금/거래량; ## 일 평균가격 20
var25 = 가중 거래대금/거래량; ## 일 평균가격 60
var26 = 가중 거래대금/거래량; ## 일 평균가격 120
var27 = 가중 거래대금/거래량; ## 일 평균가격 240
var29 = (DayHigh+DayLow)/2; ## 일봉 중간값
var30 = (DayHigh+DayLow+DayClose)/3; ## 일봉 대표값
2013-02-15
421
글번호 59569
답변완료
28599재문의드립니다
종가를 모으지말고 조건에 맞는 캔들하나하나의 평균값을 알고 싶으면 어케해야 합니까?
2013-02-15
228
글번호 59566
답변완료
부탁드리겠습니다.
전일 30분봉에서 발생한 최고 거래량을 기억합니다.
당일 10분봉에서 전일 30분봉에서 발생한 최고 거래량을 돌파하는 거래량이 발생한
봉을 표시하고 싶습니다.
지표식을 두개로 부탁드리겠습니다.
지표식1
현재의 10분봉이 전일 30분봉에서 최고 거래량이 발생한 봉의 거래량을 돌파한 경우의
지표식
- plot1(현재 10분봉 거래량)
- plot2(전일 최고 거래량)
지표식2
현재의 10분봉의 거래량을 누적하여 전일 30분봉에서 최고 거래량이 발생한 봉의 거래량의 3배를 돌파한 경우의 지표식
이때 10분봉의 누적거래량은 30분이 지나면 초기화되어 다시 0부터 시작합니다.
결국 0~30분까지의 누적거래량이 보시면 됩니다.
- plot1(현재 10분봉의 누적거래량)
- plot2(전일 최고 거래량)
감사합니다.
2013-02-15
376
글번호 59563
답변완료
검색식 부탁드립니다.
장마감후에 검색을 하려고 합니다.
30분봉 검색식으로 부탁드리겠습니다.
전일 30분봉의 최고 거래량이 발생한 봉의 거래량을 기억합니다.
이때의 최고거래량은 5만주 이상이어야 함
당일 전일 최고거래량이 발생한 봉의 거래량의 3배를 초과한 양봉이
발생한 봉이 있다면 장 마감후에 해당 종목이 검색이 되도록 하고 싶습니다.
감사합니다.
2013-02-15
260
글번호 59562
답변완료
28580재질문요~
우선 감사드립니다.
그런데 제가잘못한건지 신호가 제가 원하는구간에서 발생이 안하고 있어서요~
그리고 시스템 보고서에서는 수익나도 무조건 손실로 처리되고 있는것도 질문요...
우선 틱 60차트에서 macd가 크로스하고
1분차트에서 스토캐스틱이 크로스하고
1분차트 5일선 위로 지수가 올라올때
모든 조건 일치시 매수조건인데..
반대는 매도조건
다시한번 봐주세요~
2013-02-15
263
글번호 59561
답변완료
분할매수에 대한 질문입니다.
어제는 분할손절에 대한 식을 예스스탁님이 말씀해주셔서 적용해보니(시뮬에서)
실전에서는 아직 분할손절 조건이 충족되지 않아서..
위의 그림처럼
소액검증매매라 일단 10만원어치 매수해보라고 3260원정도에
거래소 30주 매수된게 같은 상황에서 20주가 손절되게끔 나오네여.
>>질문1.)그런데 오늘은 다른 문제를 만났는데 위의 그림처럼
다시 매수가보다 더 조금 더 빠진 가격에 20만원어치 분할매수하게끔 해놓았는데
61주 매수 하면서 오류라구 에러가 떠서 순간 알람두 뜨고 했습니다만..
실제 매수가 되지는 않았습니다.
거래소 종목이라.. 매수할때두 매수수량을 맞추어주어야 하는지여..
제가 쓴 식은
//----
input:매수금액(200000),매수가격(3265);
var:매수수량(0);
매수수량 =int(매수금액/c);
if 조건일때..
buy("b2",atlimit,매수가격,매수수량);
//----
거래소 종목이라 그런지..
이렇게 했는데 위의 그림처럼 신호에 61이라구 찍히면서 매수오류가 발생해서..
실제 매수가 안됐습니다. 어떻게 하면 60으로 똑떨어지게 매수할수 있는지 문의드립니다.
>>질문2)
그리고 혹시 20만원어치를 매수했는데 매수수량의 절반을 다시 추가매수하고 싶을때는
//--
if marketposition ==1 then
{
if codecategory==1 then
{#코스피
If BasePrice < 50000 Then
buyp=int((MaxContracts* 0.5)/10)*10;
Else
buyp = int(MaxContracts*0.5);
}
If CodeCategory==2 Then #코스닥
buyp=int(MaxContracts*0.5);
if currententries==1 then
buy("b2",atlimit,매수가격,buyp); //<--요렇게 하면 되는지여?
//문법이 틀린거 같습니다만..
}
추가매수할때 현재수량의 절반이 10자리루 똑떨어지게 부탁드릴께여.. 분할손절은 됐는데
추매나 처음 매수할때 거래소 종목이 애를 먹입니다.
2013-02-15
337
글번호 59560
답변완료
추가문의드립니다.
빠른응답에 감사드립니다.
조건중 #현재가격이 250일 최저가 이후 최고가보다 30%이상 하락
C <= var4*0.7 and #현재가격이 250일 최저가 이후 최고가보다 30%이상 하락
이부분을 250일 최저가가 아닌 최저가 발생 이후 최고가에서 30%이상 하락으로 조건변경 할 수 이는지요..
다시한번 부탁드립니다.
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 종목 검색식 부탁드립니다.
> 안녕하세요
예스스탁입니다.
종목검색속성화면에서
검색에 필요한 최소기간을 300이상으로 설정하고 검색하시면 됩니다.
var : cnt1(0),cnt2(0);
#최근 250일간 최저가와 그때의 거래량, 봉수 저장
var1 = L;
var2 = 0;
var3 = 0;
for cnt1 = 0 to 250{
if L[cnt1] < var1 Then{
var1 = L[cnt1];
var2 = V[cnt1];
var3 = cnt1;
}
}
#250일 최저가 이후 최고가,그 시점거래량, 봉수 저장
var4 = H;
var5 = 0;
var6 = 0;
for cnt2 = 0 to var3{
if H[cnt2] > var4 Then{
var4 = H[cnt2];
var5 = V[cnt2];
var6 = cnt2;
}
}
if C >= 1000 and C <= 5000 and #현재기기준 1000이상 5000원 미만인 종목이고
var3 < 90 and #250일 최저가가 최근 60봉(거래일로 약3달)안에 있음
var4 >= var1*1.5 and #250일 최저가 이후 최고가가 250일 최저가 대비 50%이상 큼
var5 > var2 and #250일 최저가때의 거래량보다 이후 최고가일때 거래량이 큼
C <= var4*0.7 and #현재가격이 250일 최저가 이후 최고가보다 30%이상 하락
V < var5 and #현재거래량이 250일 최저가 이후 최고가때 거래량보다 작음
var6 >= 1 then #250일 최저가 이후 최고가가 최소 한봉전임
find(1);
즐거운 하루되세요
> 오잡 님이 쓴 글입니다.
> 제목 : 종목 검색식 부탁드립니다.
> 일봉상
0. 현재기기준 1000이상 5000원 미만인 종목이고
1. 1년중 최근 3개월안에 바닥이었던종목 중
2. 최근 3개월 안에 바닥기준 거래량이 점차 증가하며 50%이상 상승한 종목 이고
3. 최근 1개월 안에 거래량이 감소하면서 30%이상 하락한 종목
의 검색식 부탁드립니다.
항상 성의 있는 빠른 답변에 감사드립니다.
2013-02-15
280
글번호 59559
system84 님에 의해서 삭제되었습니다.
2013-02-15
0
글번호 59557