커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7703
글번호 230811
답변완료
재문의
재문의 드립니다.
지표식이 일봉에서 주봉, 월봉을 따로따로 불러온 내용과 아래의
일봉에서 주봉 월봉을 같이 불러온 내용과 다르게 나오는것 같네요...
1. price channel 은 월봉 주봉 모두 1봉전 내용
2. 볼린저밴드는 월봉 주봉 모두 0봉전 내용이 맞는지
재차 문의드립니다.
아래내용이 맞다면 일봉에서 각각 월봉 주봉을 불러온 기존의 내용이 틀릴텐데
모두 아래의 내용대로 고쳐야 하나요
input : p1(2),mLENGTH1(20),mLENGTH2(60), ## 월봉
LENGTH11(20),LENGTH12(60), ## 주봉
LENGTH21(20),LENGTH22(60), ## 일봉
mPeriod1(20),mPeriod2(60), ## 월봉
Period11(20),Period12(60), ## 주봉
Period21(20),Period22(60); ## 일봉
var : mTCHAN1(0),mTCHAN2(0), ## 월봉
TCHAN11(0),TCHAN12(0), ## 주봉
TCHAN21(0),TCHAN22(0); ## 일봉
Var : mSum1(0), mCounter1(0), mCSum1(0),mWma1(0),mSumSqrt1(0),mStd1(0); ## 월봉
Var : mSum2(0), mCounter2(0), mCSum2(0),mWma2(0),mSumSqrt2(0),mStd2(0),mcnt(0);
Var : Sum11(0), Counter11(0), CSum11(0),Wma11(0),SumSqrt11(0),Std11(0); ## 주봉
Var : Sum12(0), Counter12(0), CSum12(0),Wma12(0),SumSqrt12(0),Std12(0),cnt(0);
Array : mHH[70](0),mCC[70](0),mLL[70](0);
Array : HH[70](0),CC[70](0),LL[70](0);
if sdate > sdate[1]+30 Then{
mHH[0] = H;
mLL[0] = L;
for mcnt = 1 to 61{
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;
mTCHAN1 = mHH[0]; ## 월봉 price channel[1]
for mcnt = 0 to mLENGTH1-1 {
if mHH[mcnt] > mTCHAN1 Then
mTCHAN1 = mHH[mcnt];
}
mSum1 = 0;
mCSum1 = 0;
For mcounter1 = 0 To mPeriod1-1{
mSum1 = mSum1 + ((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) * (mPeriod1-mcounter1);
mCSum1 = mCSum1 + (mPeriod1-mcounter1);
}
mWMA1 = mSum1/mCSum1;
mSumSqrt1 = 0;
For mCounter1 = 0 To mPeriod1-1 {
mSumSqrt1 = mSumSqrt1 + (((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) - mWMA1) * (((mHH[mcounter1]+mLL[mcounter1]+mCC[mcounter1])/3) - mWMA1);
}
mStd1 = SquareRoot(mSumSqrt1 / mPeriod1);
var1 = mwma1+(p1*mSTD1); ## 월봉 b.b 0봉전
var2 = (mHH[0]+mLL[0])/2; ## 월봉 중간값
## 주봉
if DayOfWeek(sdate) <= DayOfWeek(sdate[1]) and sdate > sdate[1] Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 61{
HH[cnt] = HH[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then HH[0] = H;
if L < LL[0] Then LL[0] = L;
CC[0] = C;
TCHAN11 = HH[1]; ## 주봉 pc
for cnt = 0 to LENGTH11-1 {
if HH[cnt] > TCHAN11 Then
TCHAN11 = HH[cnt];
}
Sum11 = 0;
CSum11 = 0;
For counter11 = 0 To Period11-1{
Sum11= Sum11 + ((HH[counter11]+LL[counter11]+CC[counter11])/3) * (Period11-counter11);
CSum11 = CSum11 + (Period11-counter11);
}
WMA11 = Sum11/ CSum11;
SumSqrt11 = 0;
For Counter11 = 0 To Period11-1 {
SumSqrt11 = SumSqrt11 + (((HH[counter11]+LL[counter11]+CC[counter11])/3) - WMA11) * (((HH[counter11]+LL[counter11]+CC[counter11])/3) - WMA11);
}
Std11 = SquareRoot(SumSqrt11 / Period11);
var11 = wma11+(p1*STD11); ## 주봉 b.b 0봉전
var12 = (HH[0]+LL[0])/2; ## 주봉 중간값
var13 = (DayHigh+DayLow)/2; ## 일봉 중간값
plot1(var1);
plot2(var2);
plot3(var11);
plot4(var12);
plot5(var13);
2011-09-27
606
글번호 43089
러블리 님에 의해서 삭제되었습니다.
2011-09-27
173
글번호 43084
답변완료
질문
초보인 제가 마지막 상승한 날과 마지막으로 하락한 날의 종가를 표현하기가 어려워서 그런데
일봉에서
(마지막으로 전일대비상승한날의 종가 - 마지막으로 전일대비상승한날의 전일종가) /2 값보다 작으면 매도
(마지막으로 전일대비하락한날의 전일종가 - 마지막으로 전일대비하락한날의 종가) /2
값보다 크면 매수
2011-09-27
483
글번호 43083
답변완료
수식부탁드립니다---------------------
input:전봉차(0.2),차이값(0.1),청산값(0.3),하루이익(1),하루손실(0.8)
사용지표: TEMA , Price Channel
09:10이후에
매수:
Price Channel TOP값이 전봉보다 (전봉차)pt 이상 상승하고 ,TEMA(20) 값과 Price Channel TOP값 차이가 (차이값)pt 이하일때
매수청산:
TEMA(20) 값과 Price Channel TOP값 차이가 (청산값)pt 이상 벌어질때
매도:
Price Channel BOP값이 전봉보다 (전봉차)pt 이상 하락하고 ,TEMA(20) 값과 Price Channel BOP값 차이가 (차이값)pt 이하일때
매도청산:
TEMA(20) 값과 Price Channel BOT값 차이가 (청산값)pt 이상 벌어질때
진입금지:
하루이익이 (하루이익)pt 이상발생시
하루손실이 (하루손실)pt 이상발생시
강제청산:
하루이익이 (하루이익)pt 이상발생시
하루손실이 (하루손실)pt 이상발생시
-----------------------------------------------------------
부탁드립니다
항상수고하십니다-----
2011-09-27
554
글번호 43077
답변완료
자동추세선, 지지와저항
차트오른쪽에 있는 툴바에서 "자동추세선"과 "지지와저항"툴바의 수식을 좀 알려주십시오.
2011-09-27
807
글번호 43076
답변완료
변수 입력시
input : freetime(095900);
if stime >= freetime then{
var1 = TimeHigh(90000, freetime);
위 식에서 freetime 변수값입력시 59만 입력할 수 있는 수식 부탁합니다
2011-09-27
554
글번호 43073
답변완료
문의드립니ㅏㄷ
Input : Period(20), Percent(3);
var : center(0),UPline(0),DNline(0);
center = ma(C, Period);
UPline = EnvelopeUp(Period, Percent);
Dnline = EnvelopeDown(Period, Percent);
Plot1(center, "중앙선");
Plot2(UPline, "EnvelopeUp");
Plot3(Dnline, "EnvelopeDown");
위는 엔벨로프 수식입니다
data2의 엔벨로프 수식 부탁 드립니다 감사합니다
2011-09-27
499
글번호 43071
답변완료
시스템식 문의드립니다.
안녕하세요..
시스템식 문의드립니다.
Condition1 = ma(C,2) > ma(C,3) and ma(C,3) > ma(C,5);
Condition2 = C > highest(c,12)[1] And c - o > h - c ;
if Condition1 or Condition2 Then buy();
Condition1 = CrossDown(C,ma(C,20));
Condition2 = c < Lowest(c,9)[1];
if Condition1 or Condition2 Then ExitLong();
위와 같은 조건일때
1. 현재봉에서 5봉전까지 볼린져밴드(2,20) 상한선이 5봉연속 하락추세일때 매수금지 2. 5봉연속 양봉일때 매수금지.
항상 감사드립니다. 좋은하루 되십시요.
2011-09-27
432
글번호 43069
러블리 님에 의해서 삭제되었습니다.
2011-09-27
160
글번호 43068