커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4360
글번호 230811
회원 님에 의해서 삭제되었습니다.
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
204
글번호 117525
답변완료
시스템 합성관리자 질문드립니다.
57111질문에 이어서 추가질문드립니다.
이전 질문에 피라미딩 로직은 시스템을 분류하지않는이상 정상작동할수가 없는것 같습니다. 진입초기화가 있는 로직으로 돌아가지않네요. 그래서 궁금한것이있습니다. 시스템 합성관리자를 이용하는 것인데요.
이전에 시스템합성관리자는 or문과 같다고 생각하면 된다고 답변하신것이 기억이납니다.
여기에 피라미딩로직을 따로 분리하여 만들고나서 작동시키면, 차트에서 값이 초기화되는건 각기 다른시스템으로 분류되어 작동하게 될까요?
a시스템 신호로 매수가 진입되었다면
markeposition은 차트에 1로 반응할테니
b시스템에는
If MarketPosition == 1 Then{
If 조건 Then{
Buy("추가매수",AtStop,Close,DEF);}
If 청산조건1 Then
exitlong("피라미딩7청산",AtMarket,DEF,"추가매수");
}
로 작성하면, a시스템에서 당일 초기화시켜야하는 로직에서 따로 분류되니 정상작동할거 같은데.. 제가 생각하는게 맞는지요?
2. 위 조건에서 exitlong에 "추가매수"를 지우니 이전질문에서 말한것과 달리 다시 매도식이 작동하더군요. 다만 추가매수한 녀석의 청산시점이 청산조건1만 작동하고 그외 청산조건이 작동하지않습니다.
3. 합성관리자로 프로그램합성하니 이런 오류가뜹니다. 뭔가요??
2018-03-19
194
글번호 117524
고파드림 님에 의해서 삭제되었습니다.
2018-03-19
0
글번호 117523
답변완료
문의드립니다
진입조건은 당일 9시30분까지는 관망후 그날9시30분까지 생성된 고저점돌파시 진입식 부탁드립니다
메일로 부탁드립니다
gopaiandmi@naver.com
2018-03-19
160
글번호 117522
답변완료
확장차트 보기에서 객체이름
예스스팟에서 확장차트 이용시
코드로 등록하면 첨부그림처럼
차트의 이름이 #xxxxx 로 되어 있는데,
이것을 종목코드로 변경할 수 있을까요?
var ExChart1 = new ReqChartItem("012345", 3, CHART_PERIOD_MINUTE, 200, CHART_REQCOUNT_BAR, false, false);
var ExSystem = new SystemInfo("xxxxxx",YL_TYPE_NORMAL,null,null,null);
var bb = Main.ReqChartEx(ExChart1, ExSystem, null, null);
2018-03-19
166
글번호 117517
고파드림 님에 의해서 삭제되었습니다.
2018-03-19
0
글번호 117512
답변완료
고점 /저점의 실시간 지표식
일 영업일 중 실시간 차트에서
1. 시가 이후 영업일 종료 시점까지 연속적으로 당해 영업일의 고점을 표시하는 지표식
2. 시가 이후 영업일 종료 시점까지 연속적으로 당해 영업일의 저점을 표시하는 지표식을 부탁드립니다.
2018-03-19
187
글번호 117511
답변완료
수식요청 드립니다.
안녕하세요.
랭귀지 작성시 예수금(GetUnclearedDeposits)이 아닌 주문가능 금액을 가져오는 수식은 어떻게 작성하면 되는지 확인 요청 드립니다.
그럼 수고하세요.
2018-03-19
148
글번호 117507