커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3448
글번호 230811
답변완료
수정 부탁드립니다
Var : RSI_Period2(6),SF2(5),QQE2(1.61),ThreshHold2(3);
var : src2(0),Wilders_Period2(0),Rsi2(0),RsiMa2(0),AtrRsi2(0),MaAtrRsi2(0);
var : dar2(0),longband2(0),shortband2(0),trend2(0),DeltaFastAtrRsi2(0);
var : RSIndex2(0),newshortband2(0),newlongband2(0);
var : cross_2(false),FastAtrRsi2TL(0);
src2 = close;
Wilders_Period2 = RSI_Period2 * 2 - 1;
Rsi2 = rsi(RSI_Period2);
RsiMa2 = ema(Rsi2, SF2);
AtrRsi2 = abs(RsiMa2[1] - RsiMa2);
MaAtrRsi2 = ema(AtrRsi2, Wilders_Period2);
dar2 = ema(MaAtrRsi2, Wilders_Period2) * QQE2;
longband2 = 0.0;
shortband2 = 0.0;
trend2 = 0;
DeltaFastAtrRsi2 = dar2;
RSIndex2 = RsiMa2;
newshortband2 = RSIndex2 + DeltaFastAtrRsi2;
newlongband2 = RSIndex2 - DeltaFastAtrRsi2;
longband2 = iff(RSIndex2[1] > longband2[1] and RSIndex2 > longband2[1] ,max(longband2[1], newlongband2) , newlongband2);
shortband2 = iff(RSIndex2[1] < shortband2[1] and RSIndex2 < shortband2[1] ,min(shortband2[1], newshortband2) , newshortband2);
cross_2 = crossup(longband2[1], RSIndex2) or CrossDown(longband2[1], RSIndex2);
trend2 = iff(crossup(RSIndex2, shortband2[1]) or CrossDown(RSIndex2, shortband2[1]) , 1 , iff(cross_2 , -1 , trend2[1]));
FastAtrRsi2TL = iff(trend2 == 1 , longband2 , shortband2);
var : QQE2zlong(0),QQE2zshort(0),hcolor2(0);
var : Greenbar1(false),Greenbar2(false),Redbar1(false),Redbar2(false);
QQE2zlong = 0;
QQE2zlong = QQE2zlong[1];
QQE2zshort = 0;
QQE2zshort = QQE2zshort[1];
QQE2zlong = iff(RSIndex2 >= 50 , QQE2zlong + 1 , 0);
QQE2zshort = iff(RSIndex2 < 50 , QQE2zshort + 1 , 0);
hcolor2 = iff(RsiMa2 - 50 > ThreshHold2 ,red,iff(RsiMa2 - 50 < 0 - ThreshHold2 ,blue,GRAY));
plot1(FastAtrRsi2TL - 50,"QQE Line");
plot2(RsiMa2 - 50,"Histo2",hcolor2);
////
// 위 내용을 1분봉에서 타주기를 쓰지 않고 5분봉 값을 표현하고 싶습니다
// 항상 노고에 감사드립니다
////
2020-03-23
448
글번호 137113
답변완료
지표수정 부탁드립니다
input : nPeriod(9),factor1(0.6666666),factor2(0.3333333);
var : cn(0),ln(0),hn(0);
var : rsv(0),percentK(0),percentd(0),percentj(0),k(0);
Cn=close;
Ln=close;
Hn=close;
RSV=0.0;
percentK=0.0 ;
percentD= 0.0;
percentJ=0.0;
for k=0 to nPeriod-1
{
if Ln>low[k] then
Ln=low[k];
if Hn<high[k] then
Hn=high[k];
}
if Hn-Ln !=0 then
RSV =(Cn-Ln)/(Hn-Ln)*100;
else
RSV = 50;
percentK = factor1 * 50 + factor2 * RSV;
percentD = factor1 * 50 + factor2 * percentK;
percentJ = 3 * percentD - 2 * percentK;
plot1(percentK,"PERCENT-K");
plot2(percentD,"PERCENT-D");
plot3(percentJ,"PERCENT-J");
////
// 위 내용을 1분봉에서 타주기를 쓰지 않고 5분봉 값을 표현하고 싶습니다
// 항상 노고에 감사드립니다
////
2020-03-23
423
글번호 137112
용각산 님에 의해서 삭제되었습니다.
2020-03-23
0
글번호 137102
답변완료
진입 조건별 청산이 가능할까요?
안녕하세요.. 항상 정성스런 답변 감사합니다.
진입 조건별로 각자 청산이 가능할까요?
예를들면
# 볼밴 10,2 상단을 돌파하고 상승하다가 5선을 crossdown할 경우 매수1
# 볼밴 15,2 상단을 돌파하고 상승하다가 10선을 crossdown할 경우 매수2
매수1인경우 30틱 청산, 손절 30틱
매수2인경우 50틱 청산, 손절 50틱
이렇게 시스템이 가능할까요?
도움말등을 보았을때는 가능 할 것 같은데, 한가지 의문점이 시스템에서 인식은 봉이
완성되었을때라고 보았습니다.
매수 조건이 완성되고 바로 손절까지 왔을때 손절이 되거나, 익절이 되어야 하는데,
봉이 완성되고 인식되면 제가 설정한 범위들을 벗어나는 결과가 나타날 것 같아서요..
제가 만든 시스템에서는 atmarket으로 매수,매도 진입을 하게 설정하였습니다.
이런 경우, 진입이 되었을 경우 바로 가격이 반영되고, 각각의 익절,손절등이
동작이 가능한 것인가요?
2020-03-23
423
글번호 137098
답변완료
매매시간설정과 자동청산
매매시간이 09:00~ 익일05:40 설정 되어 있는데
차트신호들은 07:00부터 나오고 종료시간인 05:40에 청산신호가 나오지만 그 이후 바로 신호가 나옵니다.
05:40 청산신호때 당일 장마감이 되도록 추가 신호가 나오지 않게 할수는 없는지요.
또한 07:00이후에 신호가 나오질않고 09:00부터 신호가 나오게 부탁드립니다.
input : P(230);
var1 = (Highest(High, 10) + Lowest(Low, 10)) / 2;
var2 = Disparity(P);
if var1 > var1[1] and var2 > 99 Then
buy();
if var1 < var1[1] and var2 < 101 Then
sell();
input : starttime(090000),endtime(054000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
2020-03-22
502
글번호 137096
답변완료
윗꼬리 아랫꼬리
수고하십니다
분봉에서 9시부터 9시30분까지 위꼬리 절대값(고점에서 몸통상단까지)이 아랫꼬리 절대값(저점에서 몸통하단까지)보다 길면 파랑색으로, 반대인 경우는 빨강색으로 , 같을 경우는 녹색으로 표현하는 지표식을 구합니다
감사합니다
2020-03-22
464
글번호 137095
답변완료
예스 랭귀지 분할 매도 방법
안녕하세요. 예스트레이더에 입문한지 2주된 초보입니다.
프로그램을 통해 분할 매도를 하고 싶은데, 1주씩 지정해서 매도를 할수 있는 방법이 있는지 궁금합니다.
if CrossedUp == 1 and C >= (SellPrice) Then {
#Sell();
exitlong("매수청산", OnClose);
SellPrice = C;
#MessageLog("Sell with C:%f",C);
}
2020-03-22
544
글번호 137094
답변완료
수정좀 부탁드려요
수고가 많으십니다 추가좀 부탁드립니다
아래의 수식에서 마지막 신호에만 신호발생캔들의 종가와 중심가에 선과 수치가 나오게 부탁드립니다.
BLO = iff(A ==1 , up_A , down_A);
if crossup(C,BLO) Then
buy("b");
if CrossDown(C,BLO) Then
sell("s");
}
2 전체신호에 직전매도와 매수의 최저값 최고값과 선과 수치도 부탁드립니다.
3. 1번에서 신호직전캔들의 고저가도 부탁드립니다.
2020-03-23
413
글번호 137093
답변완료
수식 부탁드립니다
macd 가 0 선 이상일때 20이평이 주가을 돌파 하고 다시하락을 하면
20이평 근처 에오면 매수 이런수식 가능 할까요
근처(예를 들어 20이평 이 200 이라면 200 에 몇%로 근처에 오면 신호가
나오게 요 수치를 바꿀수 있게요)
매도 도 같이 넣어주세요
감사합니다 ^^...
2020-03-22
487
글번호 137092