커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8107
글번호 230811
답변완료
안녕하세요
반갑습니다.
분봉용 시스템 에대해서 2가지 부탁할까 합니다
1.매수시점:현제분봉이 5 이평선하향돌파 진행후6개전 5 이평선재상승돌파시 매수
매도시점:반대
2.위1번항충족에서 10선돌파시(즉2배수5선) 매수
매도:반대
감사합니다.
2018-03-20
202
글번호 117537
답변완료
에라 ( space 부족 )
아래 내용으로 요청을 드렸고 진행상황 부탁드립니다.
********
네 고맙슴니다.
꼭 느릴수 있도록 부탁드링니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 에라
>
안녕하세요
예스스탁입니다.
문의하신 내용은 건의하도록 하겠습니다.
즐거운 하루되세요
> geylang 님이 쓴 글입니다.
> 제목 : 에라
> 아래와 같이 회신을 잘 받았읍니다만
텍스트를 최대한 줄여도 같은 에라 메세지가 뜨네요.
귀사에서 텍스트 메모리를 조금더 늘려주시기를 부탁드립니다
******************************************************
안녕하세요
예스스탁입니다.
수식에서 사용된 텍스트가 제한된 메모리를 넘어서면 발생하는 내용입니다.
수식에서 지정된 텍스트부분을 줄여주셔야 합니다.
Buy("매수진입"), isentryname("매수진입")
위와 같이 수식 전반에 ""안에 텍스트를 사용한 부분의
텍스트의 내용을 최대한 줄여주셔야 합니다.
즐거운 하루되세요
> geylang 님이 쓴 글입니다.
> 제목 : 에라
> 시물레이션 돌리니까 아래 메세지가 뜹니다.
" 시스템오류 not enough space (12) "
해결 방법 부탁드립니다
******
2018-04-10
227
글번호 117536
답변완료
부탁드립니다
아래식을 부탁드립니다.
var1=C*V; //각봉의 (종가*거래량)
var2=최근N개봉의 var1의 합
var3=최근N개봉의 거래량의 합
2018-03-20
205
글번호 117535
답변완료
문의드립니다.
매번 감사합니다.
1. 기타
코딩 변환 부탁드립니다.
Inputs:
Price((H+L)/2),
Type(“BP”),
N(0),
Period(20),
delta1(.1);
Vars:
c0(1),
c1(0),
b0(1),
b1(0),
b2(0),
a1(0),
a2(0),
alpha(0),
beta1(0),
gamma1(0),
Filt(0);
If Type = “EMA” Then Begin
If CurrentBar <= N then Filt = Price;
alpha = (Cosine(360/Period) + Sine(360/Period) - 1) / Cosine(360/
Period);
b0 = alpha;
a1 = 1 - alpha;
End;
If Type = “SMA” Then Begin
If CurrentBar <= N then Filt = Price;
c1 = 1 / N;
b0 = 1 / N;
a1 = 1;
End;
If Type = “Gauss” Then Begin
If CurrentBar <= N then Filt = Price;
beta1 = 2.415*(1 - Cosine(360 / Period));
alpha = -beta1 + SquareRoot(beta1*beta1 + 2*beta1);
c0 = alpha*alpha;
a1 = 2*(1 - alpha);
a2 = -(1 - alpha)*(1 - alpha);
End;
If Type = “Butter” Then Begin
If CurrentBar <= N then Filt = Price;
beta1 = 2.415*(1 - Cosine(360 / Period));
alpha = -beta1 + SquareRoot(beta1*beta1 + 2*beta1);
c0 = alpha*alpha / 4;
b1 = 2;
b2 = 1;
a1 = 2*(1 - alpha);
a2 = -(1 - alpha)*(1 - alpha);
End;
If Type = “Smooth” Then Begin
c0 = 1 / 4;
b1 = 2;
b2 = 1;
End;
If Type = “HP” Then Begin
If CurrentBar <= N then Filt = 0;
alpha = (Cosine(360/Period) + Sine(360/Period) - 1) / Cosine(360/
Period);
c0 = 1 - alpha / 2;
b1 = -1;
a1 = 1 - alpha;
End;
If Type = “2PHP” Then Begin
If CurrentBar <= N then Filt = 0;
beta1 = 2.415*(1 - Cosine(360 / Period));
alpha = -beta1 + SquareRoot(beta1*beta1 + 2*beta1);
c0 = (1 - alpha / 2)*(1 - alpha / 2);
b1 = -2;
b2 = 1;
a1 = 2*(1 - alpha);
a2 = -(1 - alpha)*(1 - alpha);
End;
If Type = “BP” Then Begin
If CurrentBar <= N then Filt = Price;
beta1 = Cosine(360 / Period);
gamma1 = 1 / Cosine(720*delta1 / Period);
alpha = gamma1 - SquareRoot(gamma1*gamma1 - 1);
c0 = (1 - alpha) / 2;
b2 = -1;
a1 = beta1*(1 + alpha);
a2 = -alpha;
End;
If Type = “BS” Then Begin
If CurrentBar <= N then Filt = Price;
beta1 = Cosine(360 / Period);
gamma1 = 1 / Cosine(720*delta1 / Period);
alpha = gamma1 - SquareRoot(gamma1*gamma1 - 1);
c0 = (1 + alpha) / 2;
b1 = -2*beta1;
b2 = 1;
a1 = beta1*(1 + alpha);
a2 = -alpha;
End;
If CurrentBar > N Then Begin
Filt = c0*(b0*price + b1*Price[1] + b2*Price[2]) + a1*Filt[1] +
a2*Filt[2] - c1*Price[N];
Plot1(Filt, “Swiss”);
End;
2018-03-20
243
글번호 117534
답변완료
문의드립니다.
안녕하세요.
당일 장시작해서
상승하면
최저종가에서 현재종가까지
1. 현재종가 - 최저종가
2. 양봉일 때만 거래량을 합산한 수식
당일고점 찍은 후 다시 하락하면
최고종가에서 현재종가까지의
1. 최고종가-현재종가
2. 음봉일 때만 거래량을 합산한 수식
즉 당일 최저종가에서 상승하면 상승폭과 양봉 거래량만 합산하고
최고종가에서 하락하면 하락폭과 음봉 거래량만 합산한 수식을
알려주세요
수고하세요.
2018-03-20
237
글번호 117529
답변완료
문의드립니다.
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 지표
거래량단위로 끊은 차트를 지표로 만들 수 있는지요? 1000주면 1000주 거래량으로 나눈 봉차트, 어렵다면 선차트를 만들 수 있나요? 혹시 만들 수 있다면 이 차트(정확히는 지표)를 가공한 지표(가령 거래량단위로 끊은 봉의 이동평균선이라든가)의 매매신호로 시뮬레이션이나 거래도 가능한가요?
2018-03-20
234
글번호 117528
답변완료
수식요청 드립이다.
안녕하세요
아래 수식에서 진입식은 연결선물 틱봉 당일청산 시스템에 적용하고,
청산 수식은 참조데이터 이용한 연결선물 분봉 적용되도록 수정요청 드립니다.
감사합니다.
Input : Period(12), sigPeriod(9);
Input : BBP(20), Dv(2);
var : BBmd(0),BBup(0),BBdn(0);
value1 = TRIX(Period);
value2 = ema(value1, sigPeriod);
BBmd = ma(C,Period);
BBup = BollBandUp(BBP,Dv);
BBdn = BollBandDown(BBP,Dv);
If CrossUP(value1, value2) Then
Buy();
If CrossDown(value1, value2) Then
Sell();
if MarketPosition == 1 then{
if OI <= highest(OI,BarsSinceEntry)*0.7 Then
exitlong();
if countif(crossup(c,bbup),BarsSinceEntry) >= 1 and
CrossDown(c,bbup) Then
exitlong();
}
if MarketPosition == -1 Then{
if OI <= highest(OI,BarsSinceEntry)*0.7 Then
exitlong();
if countif(CrossDown(c,bbdn),BarsSinceEntry) >= 1 and
Crossup(c,bbdn) Then
ExitShort();
}
SetStopEndofday(150000);
2018-03-19
220
글번호 117527
회원 님에 의해서 삭제되었습니다.
2018-03-19
20
글번호 117526
답변완료
부탁드립니다-------------
//내재변동성 iivv선을 부드럽게만들려면 이평이나 tema 말고 다른방법은 없나요?
Input:역사적변동성(11.4),LENGTH1(3),최고저기준(0);
var : exit(0),C1(0),C2(0),C3(0),iivv(0),hhh(0),lll(0),ii(0),hii(0);
Var: cpFlag2(""),X2(0),T2(0),r2(0),BS2(0),j2(0),
ImVol2(0),Delta2(0),Gamma2(0),Vega2(0),Theta2(0),Rho2(0),
만기일1단계2(0),만기일2단계2(0),만기일3단계2(0);
Var: cpFlag3(""),X3(0),T3(0),r3(0),BS3(0),j3(0),
ImVol3(0),Delta3(0),Gamma3(0),Vega3(0),Theta3(0),Rho3(0),
만기일1단계3(0),만기일2단계3(0),만기일3단계3(0),imvo(0),TEMAimvo(0);
#================================================#
C1 = Data1(C); //기초자산이 보조차트가 되어야 한다.
C2 = data2(C); //옵션가격, 옵션종목을 기본차트로 띄워놓아야 한다.
C3 = data3(c);
If Data1(SymbolName) <> "KP200 종합" Then {
Alert("Data1이 KP200 종합이 아닙니다.");
exit = 1;
}
If data2(CodeCategory) <> 6 Then {
Alert("Data2가 옵션종목이 아닙니다.");
exit = 1;
}
If data3(CodeCategory) <> 6 Then {
Alert("Data3이 옵션종목이 아닙니다.");
exit = 1;
}
If exit == 0 Then {
If CurrentBar == 1 Then {
// SymbolName : 콜1801월 327.5kp (한글은 2자리로 계산)
X2 = StrToNum(MidStr(data2(SymbolName),10,5)); // 행사가격, 종목명에서 추출
만기일1단계2 = 20000000 + StrToNum(MidStr(data2(SymbolName),3,4))*100+8; // 만기년월 + 08일, 종목명에서 추출
만기일2단계2 = DayOfWeek(만기일1단계2); // 만기월의 8일의 요일 값
만기일3단계2 = 만기일1단계2 + (Iff(만기일2단계2 > 4, 11, 4) - 만기일2단계2); // 2번째 목요일을 계산해 낸다.
cpFlag2 = LeftStr(data2(SymbolName),2); // 콜,풋 구분. 종목명에서 추출
X3 = StrToNum(MidStr(data3(SymbolName),10,5)); // 행사가격, 종목명에서 추출
만기일1단계3 = 20000000 + StrToNum(MidStr(data3(SymbolName),3,4))*100+8; // 만기년월 + 08일, 종목명에서 추출
만기일2단계3 = DayOfWeek(만기일1단계3); // 만기월의 8일의 요일 값
만기일3단계3 = 만기일1단계3 + (Iff(만기일2단계3 > 4, 11, 4) - 만기일2단계3); // 2번째 목요일을 계산해 낸다.
cpFlag3 = LeftStr(data3(SymbolName),2); // 콜,풋 구분. 종목명에서 추출
}
If C2 > 0 then {
T2 = (DateToJulian(만기일3단계2) - DateToJulian(Date) + 1)/365;
r2 = data2(CD91Rate(Date)/100);
ImVol2 = data2(_ImVol(IFF(cpFlag2=="콜",1,2), C1, X2, T2, r2, C2));
Value1 = data2(_OptionGreeks(IFF(cpFlag2=="콜",1,2),C1,X2,T2,r2,역사적변동성/100,BS2,Delta2,Gamma2,Theta2,Vega2,Rho2));
}
If C3 > 0 then {
T3 = (DateToJulian(만기일3단계3) - DateToJulian(Date) + 1)/365;
r3 = data3(CD91Rate(Date)/100);
ImVol3 = data3(_ImVol(IFF(cpFlag3=="풋",1,2), C1, X3, T3, r3, C3));
Value2 = data3(_OptionGreeks(IFF(cpFlag3=="풋",1,2),C1,X3,T3,r3,역사적변동성/100,BS3,Delta3,Gamma3,Theta3,Vega3,Rho3));
}
If Value1 == 1 and value2 == 1 Then {
Plot1((BS2+BS3)/2,"이론가");
iivv = (ImVol2*100 +ImVol3*100)/2;
Plot2(iivv,"내재변동성");
// Plot2((ImVol2*100 +ImVol3*100)/2,"내재변동성");
Plot3((Delta2+Delta3)/2,"델타");
Plot4((Gamma2+Gamma3)/2,"감마");
Plot5((Theta2+Theta3)/2,"쎄타");
Plot6((Vega2+Vega3)/2,"베가");
Plot7((Rho2+Rho3)/2,"로");
imvo = (ImVol2*100 +ImVol3*100)/2;
TEMAimvo = (3 * Ema(imvo,LENGTH1)) - (3 * Ema(Ema(imvo,LENGTH1),LENGTH1)) +
(Ema(Ema(Ema(imvo,LENGTH1),LENGTH1),LENGTH1));
Plot8(TEMAimvo,"내변테마");
}
}
//******************************************************************************
//최고저만들기
//******************************************************************************
if data2(bdate != bdate[1]) Then{
ii = 0;
HHh = iivv;
LlL = iivv;
}
else
{
ii = ii+1;
if ii < 최고저기준 Then
{
if iivv > hhh Then
hhh = iivv;
if iivv < lll Then
lll = iivv;
}
else{
hhh = data2(highest(iivv,최고저기준));
lll = data2(lowest(iivv,최고저기준));
}
}
hii = (hhh + lll)/2;
plot21(HHh,"Data2 H" );
plot22(LLl,"Data2 L");
plot23(hii,"hii");
2018-03-19
355
글번호 117525