커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7439
글번호 230811
답변완료
해결좀 부탁드리겠습니다.
Input : 단기(5), 중기(18), 급증치(1.5);
VAR : 급증(FALSE), 상승봉(FALSE), 하락봉(FALSE), 이평5(0), 이평10(0), 이평18(0), 일봉(FALSE), 분봉(FALSE);
급증 = (V>avg(V, 단기)*급증치 or V>V[1]*급증치 or V>highest(V[1], 중기));
상승봉 = C>C[1] or (C==C[1] and C[1]>C[2]);
하락봉 = C<C[1] or (C==C[1] and C[1]<C[2]);
IF 급증==TRUE and 상승봉==TRUE then {Plot1( V, "급증거래량");} // 급증조건 만족시 "빨강"
ELSE IF 급증==TRUE and 하락봉==TRUE then {Plot2(-V, "급감거래량");} // 급감조건만족시 "파랑"
ELSE IF 상승봉==TRUE THEN {Plot3( V, "+거래량");} //일반 상승시 "주황"
ELSE IF V!=0 and 하락봉==TRUE THEN {Plot4(-V, "-거래량");} //일반 하락시 "하늘"
ELSE NoPlot(1);
위와 같이 거래량이 급증이나 급감하였을 때 거래량 지표의 색상을 달리 하고자 했는데..
출력화면을 보면 급증조건이나 급감조건이 충족되지 아니한 경우(주황, 하늘색)에도 똑같이 같은 급증급감(빨강, 파랑)으로 지정한 색상을 출력되는데...원인이 무었일까요..
담변좀 부탁 드릴께요.
2015-12-03
147
글번호 93055
답변완료
피라미딩 진입 및 청산 문의
안녕하세요?
피라미딩 진입 시 (모든 신호 허용) 코드 질문 드립니다.
예를 들어,
어떠한 "조건 1"이 만족할 때 진입 "enter1" 이 있다고 가정하였습니다.
if "조건 1" then
buy ("enter1", onclose);
이때, 중복진입 옵션을 클릭하면, 차트상 "조건1"이 만족할 때 마다 진입이 이루어지는데, 청산이 진입 시점에 관계없이 한번에 이루어 지는 문제가 있습니다.
예를 들어, 아래와 같은 상황을 가정해 보겠습니다.
15년11월1일: 1000원에 진입
15년 11월2일: 1100원에 진입
이때, 청산조건을 진입 조건보다 3% 가격 상승 후, crossdown(mfi,80)으로 잡았을때,
(if c>entryprice*1.03 then
if crossdown(mfi,80) then
exitlong (~~);
진입한 시점과 날짜, 가격에 상관없이 일시에 청산되는 문제가 있습니다.
각 진입마다 독립적으로 청산이 가능하도록 만들 수 없을지요?
2015-12-03
143
글번호 93054
부양가족 님에 의해서 삭제되었습니다.
2015-12-03
0
글번호 93053
답변완료
시스템 문의 드립니다
수고하십니다.
input : P1(3), cut(2) ;
var : sum1(0),cnt(0);
Var1 = (dayopen+dayclose)/2;
sum1 = 0;
for cnt = 0 to P1-1{
sum1 = sum1+(dayopen(cnt)+DayClose(cnt))/2; }
if EntryDate(cut) != sDate Then
if crossup(O,Var1) then
{
Sell("매도해라"); }
if crossdown (C,Var1) then
{
Buy("매수해라");}
setstopprofittarget(0.5,pointstop) ;
setstoploss(0.5,pointstop) ;
setstopendofday(140000) ;
개인적으로 만들어본 이 시스템이
시가가 중앙선 돌파시 매도
종가가 중앙선 하향돌파시 매수
하루 두번 플레이
익절 0.5
손절 0.5
2시청산
맞는지 여쭤보고 싶어서 글을 올리게되었습니다.
그리고 각 함수의 식마다 부가적인 설명 부탁드립니다.
(첫번째줄 p1과
열번째줄 !가 무엇을 의미하는지 궁금합니다.)
번거롭게해서 죄송합니다.
2015-12-03
139
글번호 93044
답변완료
부탁드립니다
수고하십니다
주신 수식을 적용했는데 1분봉 정규장챠트에 선이 나타나지 않내요...
var : cnt(0),tx1(0),tx2(0),tx3(0),tx4(0);
Array : NO[10](0),NH[10](0),NL[10](0),NC[10](0);
if stime == 180000 or (stime > 180000 and stime[1] < 180000) Then{
NO[0] = O;
NH[0] = H;
NL[0] = L;
for cnt = 1 to 9{
NO[cnt] = NO[cnt-1][1];
NH[cnt] = NH[cnt-1][1];
NL[cnt] = NL[cnt-1][1];
NC[cnt] = NC[cnt-1][1];
}
}
if stime >= 180000 or stime < 90000 Then{
NC[0] = C;
if H > NH[0] Then
NH[0] = H;
if L < NL[0] Then
NL[0] = L;
}
if stime == 90000 or (stime > 90000 and stime[1] < 90000) Then{
var1 = NO[0];
var2 = NH[0];
var3 = NL[0];
var4 = NC[0];
}
plot1(var1);
plot2(var2);
plot3(var3);
plot4(var4);
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
Text_Delete(tx4);
tx1 = Text_New(sdate,stime,var1,NumToStr(var1,2));
tx2 = Text_New(sdate,stime,var2,NumToStr(var2,2));
tx3 = Text_New(sdate,stime,var3,NumToStr(var3,2));
tx4 = Text_New(sdate,stime,var4,NumToStr(var4,2));
정규장 차트에 야간고가,저가,시가,종가선과글씨가 나타나게 수식부탁드립니다
2015-12-03
163
글번호 93039
답변완료
문의드립니다.
문의드립니다.
20분봉 포지션입니다.
if crossup(diplus,40) then buy();
이렇게하면 2001.1.12. 14:20에 매수신호가 발생합니다.
매수신호가 발생하고나서 adxv가 20을 crossdown후
diplus 나 diminus가 40보다 큰게 나온 것이 없는 상태에서
adxv가 40을 넘고나서 40아래로 내려오고난후
diplus가 adxv와 교차가 없는상태에서
diminus가 adxv를 crossup 할 때 신호를 발생하려고 하는데
(원하는결과는 2001.1.22. 12:40 에 매도발생입니다)
countif 나 accumN(iff(를 이용해서 수식을 구현해도 원하는값을 얻지못해 자문을 구합니다.
////// 추가 질문입니다 /////
barssinceentry는 진입이후를 표현하는데
진입상태에서 crossdown(adxv,20)이 발생한 이후를 표현하는 방법도 부탁드립니다.
2015-12-03
160
글번호 93035
답변완료
수식부탁 드립니다.
관리자님,
협조에 감사 드립니다.
아래식으로 실행하면 당일 아침시가에 매수 매도가 되지 않습니다,
data2식은 일봉 진행 식은 10분으로 사용 해 봤는데 매수는 data2신호가 오고 난 당일날 매수가 되지않고, 다음날 매수가 되었습니다.
재 검토 후 회신 바랍니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 부탁 드립니다,
>
안녕하세요
예스스탁입니다.
Input : ShortPeriod(2),LongPeriod(3),매수기준선(100),매도기준선(-100);
Var : Fval(0,data2),FvalFast(0,data2),FvalSlow(0,data2);
Fval = data2(((Close - Close[1]) * Volume));
FvalFast = data2(Ema(Fval, ShortPeriod));
FvalSlow = data2(Ema(Fval, LongPeriod));
input : P17(9),P27(10);
var : V17(0,data2),V27(0,data2);
v17 = data2(CCI(P17));
v27 = data2(ema(v17,P27));
if Fvalfast>Fvalfast[1] && Fvalfast>Fvalslow && fvalslow>0 && v17>v27 then
buy("b",AtMarket);
if Fvalfast<Fvalfast[1] then
sell("s",AtMarket);
즐거운 하루되세요
> 기관장 님이 쓴 글입니다.
> 제목 : 수식 부탁 드립니다,
> 하기식을 data 2 식으로 부탁 드립니다.
Inputs: ShortPeriod(2),LongPeriod(3),매수기준선(100),매도기준선(-100);
Variables: Fval(0),FvalFast(0),FvalSlow(0);
Fval = ((Close - Close[1]) * Volume) ;
FvalFast = Ema(Fval, ShortPeriod);
FvalSlow = Ema(Fval, LongPeriod);
input : P17(9),P27(10);
var17 = CCI(P17);
var27 = ema(var17,P27);
if Fvalfast>Fvalfast[1] && Fvalfast>Fvalslow && fvalslow>0 && var17>var27 then buy();-- 아침 시가에 매수
if Fvalfast<Fvalfast[1] -- 아침 시가에 매도 then sell();
2015-12-03
144
글번호 93033
답변완료
함수 문의 드립니다.
연결선물지수 1분봉 에서..
볼린저밴드를 이용하여 상단밴드를 돌파시 매수진입.
하단밴드를 돌파시 매도 집입을 하는 함수입니다.
목표수익을 정하여 익절은 1.0p를 먹으면, 더이상 진입을 안하고.
손절가는 0.5p 가 털렸을때 그만하는겁니다.
그리고 목표수익이 달성안하였을때는 당일 청산을 합니다.
주석과 함께 함수 문의드립니다.
2015-12-03
135
글번호 93031
답변완료
눈오는날 좋은일과 복 많이 받으십시요^^
* 매번 많은 도움에 정말 고맙습니다.
* 요청사항 :
기준 : AA(20일간 전일 종가대비 상승한 날의 거래량 합계)
BB(20일간 전일 종가대비 하락한 날의 거래량 합계)
CC(20일간 총거래량)
식 : (AA - BB) / CC * 100 >= 20
→ 거래량기준으로 상승한날의 거래량이 하락한 날의 거래량보다
20% 큰 종목을 검색하고 싶습니다.
* 수고하십시요.
2015-12-03
150
글번호 93030