커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1631
글번호 230811
답변완료
부탁드립니다
수고하십니다
재질문 입니다
어떻게 응용해야할지 도져히 감이 잡히지 않아서 요 ~~ㅠㅠ
예시 내지 힌트 좀 주시면 제가 해볼게요(안될까요???)
2022-11-07
1251
글번호 163587
답변완료
문의 드립니다.
input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4);
var : HH(0),LL(0);
if date > date[1]+1 Then{
HH = H;
LL = L;
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100));
var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100));
var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100));
var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100));
var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100));
plot1(HH,"H");
plot2(var1,"23.6");
plot3(var2,"38.2");
plot4(var3,"50.0");
plot5(var4,"61.8");
plot6(var5,"76.4");
plot7(LL,"L");
-----------------------------------------------
위 피보나치 지표식을 아래 시스템에 접목하고 싶습니다.
input : starttime(101500),endtime(550000),n(30);
var : Tcond(false),hh(0),h1(0),ll(0),l1(0);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
hh = h;
ll = l;
h1 = hh[1];
l1 = ll[1];
}
if h > hh Then
hh = h;
if l < ll Then
ll = l;
if tcond == true and h1 > 0 and l1 > 0 then
{
if crossup(C,l1+(h1-l1)*1.000+PriceScale*n) Then
buy();
if crossup(C,l1-(h1-l1)*0.618+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.500+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.236+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.000+PriceScale*n) Then
buy();
if CrossDown(C,l1+(h1-l1)*1.000-PriceScale*n) Then
sell();
if CrossDown(C,l1-(h1-l1)*0.618-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*0.500-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*0.236-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*0.000-PriceScale*n) Then
sell();
}
if MarketPosition == 1 then
{
if crossup(c,h1+PriceScale*10) Then
exitlong();
if CrossDown(c,l1-PriceScale*10) Then
exitlong();
}
if MarketPosition == -1 then
{
if crossup(c,h1+PriceScale*10) Then
ExitShort();
if CrossDown(c,l1-PriceScale*10) Then
ExitShort();
}
2022-11-08
994
글번호 163586
답변완료
당일 시가기준 당일1개의 일봉 내에서의 분할매수 가능여부?
안녕하세요?
당일시가(09시)에 매수후 상승시에 원하는 요율 위치별로 익절은 되는데,
1. 당일시가 매수금액 위치보다 일정비율 하락할 경우 추가 분할매수가 가능한지요?
->분봉기준이 아닌 당일 일봉기준에서..
2. 된다면 수식은 어떻해 되는지요?
항상 감사합니다.
2022-11-07
778
글번호 163582
회원 님에 의해서 삭제되었습니다.
2022-11-08
51
글번호 163576
답변완료
파라볼릭 쓰리바닥 쓰리봉 분리
Input : af(0.02), maxAF(0.2),상(1),하(1);
Var : Sarv(0),tl(0),T(0);
Sarv = sar(af,maxAF);
If crossup(c,Sarv) Then
{
T = 1;
var1 = Sarv;
Var2 = var1[1];
Var3 = var2[1];
Condition1 = False;
if var1 <= var2+PriceScale*상 and var1 >= var2-PriceScale*하 and
var2 <= var3+PriceScale*상 and var2 >= var3-PriceScale*하 and var3 > 0 Then
{
Condition1 = true;
TL = TL_New(sDate,sTime,0,sDate,sTime,99999999);
TL_SetColor(TL,Red);
TL_SetSize(TL,0.5);
}
}
if CrossDown(C,sarv) Then
{
T = -1;
value1 = Sarv;
value2 = value1[1];
value3 = value2[1];
Condition2 = False;
if value1 <= value2+PriceScale*상 and value1 >= value2-PriceScale*하 and
value2 <= value3+PriceScale*상 and value2 >= value3-PriceScale*하 and value3 > 0 Then
{
Condition2 = true;
TL = TL_New(sDate,sTime,0,sDate,sTime,99999999);
TL_SetColor(TL,Blue);
TL_SetSize(TL,0.5);
}
}
Else
{
if T == 1 Then
{
if sarv < var1 Then
{
var1 = sarv;
if Condition1 == False and var1 <= var2+PriceScale*상 and var1 >= var2-PriceScale*하 and
var2 <= var3+PriceScale*상 and var2 >= var3-PriceScale*하 and var3 > 0 Then
{
Condition1 = true;
TL = TL_New(sDate,sTime,0,sDate,sTime,99999999);
TL_SetColor(TL,Red);
TL_SetSize(TL,0.5);
}
}
}
if T == -1 Then
{
if sarv > value1 Then
{
value1 = sarv;
if Condition2 == False and value1 <= value2+PriceScale*상 and value1 >= value2-PriceScale*하 and
value2 <= value3+PriceScale*상 and value2 >= value3-PriceScale*하 and value3 > 0 Then
{
Condition2 = true;
TL = TL_New(sDate,sTime,0,sDate,sTime,99999999);
TL_SetColor(TL,Blue);
TL_SetSize(TL,0.5);
}
}
}
}
쓰리바닥과 쓰리봉을 각기 다른 두개의 수식으로 분리. 감사합니다.
2022-11-07
787
글번호 163574
답변완료
YesSpot Reference Error 문의드립니다
계좌정보를 받아들이기 위해 다음과 같은 수식을 썼는데, Spot이 전체적으로 'Get'함수를 인식하지 못하는 것 같습니다. 무엇을 확인해야 할까요?
스크립트
account = A1.GetBalanceETCinfo(9);
오류
TypeError: Cannot call method 'GetBalanceETCinfo' of undefined
비슷하게 종목객체에 대해서도 오류가 납니다
스크립트
종목 = 종목.GetOpenContracts();
오류
TypeError: Cannot call method 'GetOpenContracts' of undefined
2022-11-07
873
글번호 163570
답변완료
문의드립니다.
안녕하세요
수식 부탁 드립니다.
5일선이 20일선 골든 크로스 발생시
시가와 종가가 5일선 위에 있는 첫봉 고가부터
5일선이 20일선 데드 크로스 발생 후
시가와 종가가 5일선 밑에 있는 첫봉 고가까지
대각선으로 선을 긋고 싶습니다.
항상 감사드립니다.
2022-11-07
893
글번호 163559
답변완료
수식부탁드립니다^^) 볼밴인데 색으로도 표현하고싶습니다
1밴드상단(일목균형표)
(
avg((C+H+L)/3,20)+2*stdev((C+H+L)/3,20)+
avg((C+H+L)/3,33)+2*stdev((C+H+L)/3,33)+
avg((C+H+L)/3,40)+2*stdev((C+H+L)/3,40)+
avg((C+H+L)/3,73)+2*stdev((C+H+L)/3,73)
)/4
밴드 하단
(
avg((C+H+L)/3,20) - 2*stdev((C+H+L)/3,20)+
avg((C+H+L)/3,33) - 2*stdev((C+H+L)/3,33)+
avg((C+H+L)/3,40) - 2*stdev((C+H+L)/3,40)+
avg((C+H+L)/3,73) - 2*stdev((C+H+L)/3,73)
상단저항
Max(
avg((C+H+L)/3,20)+2*stdev((C+H+L)/3,20),
avg((C+H+L)/3,33)+2*stdev((C+H+L)/3,33),
avg((C+H+L)/3,40)+2*stdev((C+H+L)/3,40),
avg((C+H+L)/3,73)+2*stdev((C+H+L)/3,73)
)
상단지지
Min(
avg((C+H+L)/3,20)+2*stdev((C+H+L)/3,20),
avg((C+H+L)/3,33)+2*stdev((C+H+L)/3,33),
avg((C+H+L)/3,40)+2*stdev((C+H+L)/3,40),
avg((C+H+L)/3,73)+2*stdev((C+H+L)/3,73)
)
)/4
조건
Period 20
D1 2
2밴드하단 (일목균형표)
하단 저항
Max(
avg((C+H+L)/3,20)-2*stdev((C+H+L)/3,20),
avg((C+H+L)/3,33)-2*stdev((C+H+L)/3,33),
avg((C+H+L)/3,40)-2*stdev((C+H+L)/3,40),
avg((C+H+L)/3,73)-2*stdev((C+H+L)/3,73)
)
하단지지
Min(
avg((C+H+L)/3,20)-2*stdev((C+H+L)/3,20),
avg((C+H+L)/3,33)-2*stdev((C+H+L)/3,33),
avg((C+H+L)/3,40)-2*stdev((C+H+L)/3,40),
avg((C+H+L)/3,73)-2*stdev((C+H+L)/3,73)
)
조건
Period 20
D1 2
2022-11-06
1026
글번호 163558
답변완료
계산범위 지정 질문
안녕하세요.
보통 지표를 만들면 차트상 불러온 데이터에서 최소봉수 이후부터 무조건 계산하기
시작하는데, 중첩 for문에 배열을 사용하다보니 로딩에 너무 많은 시간이 걸려서,
혹시 불러온차트데이터가 2000개라면, 현재봉에서 -500봉 부터 배열에 값을 저장하도록
할 수 있나요?
2022-11-06
867
글번호 163557