커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7224
글번호 230811
답변완료
질문드립니다.
사진한장 첨부하였습니다.
input : af(0.02), maxAF(0.2),추세선두께(5),추세선색1(RED),추세선색2(BLUE),연장선두께(2),연장선색(blue);
input : 텍스트출력(1);
var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0);
var : TL1(0),TL2(0),cnt(0),count(0);
var : TL3(0),TL4(0),TL5(0),TL6(0),tx1(0),tx2(0),tx11(0),tx22(0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
T = 1;
HH = H;
HD = sdate;
HT = stime;
HH1 = HH[1];
HD1 = HD[1];
HT1 = HT[1];
if LL > 0 Then
{
TL1 = TL_new(LD[1],LT[1],LL[1],HD,HT,HH);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
TL_Delete(TL6);
TL3 = TL_new(HD[1],HT[1],HH[1],sdate,stime,HH[1]);
TL4 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2);
TL5 = TL_new(HD[1],HT[1],LL,sdate,stime,LL);
TL6 = TL_new(HD[1],HT[1],HH[1]+(HH[1]-LL[1])/2,sdate,stime,HH[1]+(HH[1]-LL)/2);
//추세선 오른쪽 연장설정
TL_SetExtRight(TL3,true);
TL_SetExtRight(TL4,true);
TL_SetExtRight(TL5,true);
TL_SetExtRight(TL6,true);
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(HH1,2));
Text_SetStyle(tx11,2,1);
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL = L;
LD = sdate;
LT = stime;
LL1 = LL[1];
LD1 = LD[1];
LT1 = LT[1];
if HH > 0 Then
{
TL2 = TL_new(HD[1],HT[1],HH[1],LD,LT,LL);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
TL_Delete(TL6);
TL3 = TL_new(LD[1],LT[1],HH,sdate,stime,HH);
TL4 = TL_new(LD[1],LT[1],(HH+LL[1])/2,sdate,stime,(HH+LL[1])/2);
TL5 = TL_new(LD[1],LT[1],LL[1],sdate,stime,LL[1]);
TL6 = TL_new(LD[1],LT[1],LL[1]-(HH-LL[1])/2,sdate,stime,LL[1]-(HH-LL[1])/2);
//추세선 오른쪽 연장설정
TL_SetExtRight(TL3,true);
TL_SetExtRight(TL4,true);
TL_SetExtRight(TL5,true);
TL_SetExtRight(TL6,true);
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(LL1,2));
Text_SetStyle(tx22,2,0);
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
}
}
if T == 1 then
{
if H > HH Then
{
HH = H;
HD = sdate;
HT = stime;
TL_SetEnd(TL1,HD,HT,HH);
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
}
}
if T == -1 then
{
if L < LL Then
{
LL = L;
LD = sdate;
LT = stime;
TL_SetEnd(TL2,LD,LT,LL);
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
}
}
#추세선 두께, 색상
TL_SetSize(TL1,추세선두께);
TL_SetSize(TL2,추세선두께);
TL_SetColor(TL1,추세선색1);
TL_SetColor(TL2,추세선색2);
#연장선 두께, 색상
TL_SetSize(TL3,연장선두께);
TL_SetSize(TL4,연장선두께);
TL_SetSize(TL5,연장선두께);
TL_SetSize(TL6,연장선두께);
TL_SetColor(TL3,연장선색);
TL_SetColor(TL4,연장선색);
TL_SetColor(TL5,연장선색);
TL_SetColor(TL6,연장선색);
위 사용한 로직인데요. 당일 시가선을 크로스업한 붉은선이 먼저생성되고 그뒤, 크로스다운한 파란선이 완성되면, 시가선위에 생성되었던 붉은선 꼭짓점에 시가c 1, 시가c 2, 시가c 3 이런식으로 count한것을 표현하고싶습니다.
크로스업한 횟수를요.
이후, 크로스업 count횟수가 3번이하 이거나 3번초과하고 5이평크로스다운시 플롯페인트바시키고싶습니다.
///////////////
2.반대로 크로스다운은 푸른선이 먼저 생성되어 시가선을 크로스다운하고 붉은선이 크로스업한 추세선이 완성되면, 시가선 아래에 생성되었던 푸른선 꼭짓점에 1,2,3 이런식으로 count한것을 표현하고싶습니다.
추세선은 지운채로 만들어주시면 감사하겠습니다.
2018-10-25
284
글번호 123066
답변완료
macd 매수매도식부탁드립니다
안녕하세요 전에 유사한 문의를 드렸는데 다시 정리하여 문의드립니다
macd수식에서 MACDv선과 와 MACDsig선의 이격율이
MACDv 와 MACDsig의 이격율이 +20이상일때 매수신호, +20이상일때 매도신호발생
부탁드립니다
감사합니다
2018-10-25
222
글번호 123065
답변완료
59756 글에 대한 추가 질물에 대한 답변좀 부탁드릴께요~~
59756 글에 대한 추가 질물에 대한 답변좀 부탁드릴께요~~
요지는 청산 수식이 endtime으로 시간이 도달시 조건 없이 청산이였는데
조건을 하나 추가로 다는거였습니다. ( endtime이 된후 양봉일때는 청산X 첫 음봉일때 청산)
답변주신대로 수식을 적용해보면 첨부화일에보인것처럼 진입-청산이 의도와 완전 다르게 되어서
재 질문하게 된거였습니다.
해당 추가 질물에 답변 바람니다.
2018-10-25
172
글번호 123064
답변완료
수식 요청드립니다.
당일중심선수식 (키움기준 dayhigh()-(dayhigh()-daylow())/2
전일중심선수식 (키움기준 predayhigh()-((predayhigh()-predaylow())/2)
전일종가 수식
전일시가 수식
그리고 당일중심선 전일중심선 전일종가 전일시가에 선으로 표시 옆에 글자나오게 수식부탁드립니다.
첨부파일 시가 표시하고 위에 시가라고 나오는것처럼
부탁드립니다.
2018-10-25
274
글번호 123061
답변완료
질문추가입니다
오늘 아래와 같이 답변을 주셨는데
시뮬레이션을 돌려보니깐
4시까지 주문이 들어가고 그때부터 포지션을 유지하네요
제가 원하는건 저녁10시부터 오전 4시까지 거래를 하고
4시에 청산까지 되는걸로 부탁드려요
3시 59분에 주문이 들어가도 4시에 강제 청산되는 수식입니다
잘부탁드려요
------------
안녕하세요
예스스탁입니다.
Input : P(5),af(0.02), maxAF(0.2);
input : starttime(220000),endtime(040000);
Var : mav(0),sarv(0),Bcond(false),Scond(false);
var : Tcond(false);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
mav = ma(c,P);
sarv = sar(af,maxAF);
Bcond = C > mav and C > Sarv;
Scond = C < mav and C < Sarv;
if Tcond == true then
{
if Bcond == true and Bcond[1] == false Then
buy();
if Scond == true and Scond[1] == false Then
sell();
}
즐거운 하루되세요
> 쩜상쩜하 님이 쓴 글입니다.
> 제목 : 질문추가입니다
> Input : P(5),af(0.02), maxAF(0.2);
Var : mav(0),sarv(0),Bcond(false),Scond(false);
mav = ma(c,P);
sarv = sar(af,maxAF);
Bcond = C > mav and C > Sarv;
Scond = C < mav and C < Sarv;
if Bcond == true and Bcond[1] == false Then
buy();
if Scond == true and Scond[1] == false Then
sell();
이 수식에서
저녁 10시부터 새벽 4시까지만 매매가능하게 추가가능한 수식 가능한가요?
그 외의 시간은 매매 안하게요
잘부탁드립니다
2018-10-25
188
글번호 123060
답변완료
문의 드립니다.
항상 고맙습니다.
작성해주신_타주기 분용 수식에서
일봉 주봉 월봉지표를 분차트에서
사용토록 부탁 드립니다
타주기 일,주,월봉용으로 질의 하고 싶은 것은
이것으로 일단 마무리 되는 것 같습니다.
대단히 감사 드립니다.
/*
input : Period(5);
var1 = Ceiling((Period*2+1) * 0.5);
value1 = ma(ma(C, var1), var1);
*/
input : ntime1(60),Period(5);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum1(0),sum2(0);
Array : C1[100](0),mav[100](0);
var1 = Ceiling((Period*2+1) * 0.5);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime1;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
for cnt = 1 to 49
{
C1[cnt] = C1[cnt-1][1];
mav[cnt] = mav[cnt-1][1];
}
}
C1[0] = C;
if C1[var1-1] > 0 then{
sum1 = 0;
for cnt = 0 to var1-1{
sum1 = sum1+C1[cnt];
}
mav[0] = sum1/var1;
}
if mav[var1-1] > 0 then{
sum2 = 0;
for cnt = 0 to var1-1{
sum2 = sum2+mav[cnt];
}
value1 = sum2/var1;
plot1(value1);
}
}
2018-10-25
212
글번호 123059
답변완료
지표식 문의드립니다.
매번 성실한 답변 감사드립니다.
dmi역배열 상태에서 정배열 시점을 예상하려고 합니다.
현재 dmi가 역배열이고 다음 캔들의 고점이 현재가 대비 n%(변수)상승했을때 dmi가 정배열이 예상되는 경우 지표식 부탁드립니다.
감사합니다.
2018-10-25
192
글번호 123050
답변완료
시간
안녕하세요 질문드려요
제가 한국투자증권 이프렌드글로벌예스차트을 사용하고있습니다
근데 시간이 한국시간과는 안맞네요
한국시간 기준으로 저녁8시(20시) 부터 새벽 02시 까지만 시스템이 작동하겠끔
함수식을 부탁드립니다
수고하세요
2018-10-25
238
글번호 123046
답변완료
질문 올립니다
Data1 : 연결선물지수
Data2 : Kospi200 일봉
이렇게 사용하고 있는데 Data2의 Highest / Lowest를 이용해서 당일포함해서 N일간의 고점 저점을 구하려고 하는데 잘 안됩니다. 도와주시면 감사하겠습니다.
2018-10-25
186
글번호 123042