커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3598
글번호 230811
답변완료
문의드립니다
1)var1 = dayhigh;
var2 = daylow;
var3 = var1-var2;
plot1(var1-var3*0.236);
plot2(var1-var3*0.50);
plot3(var1-var3*0.764);
위수식으로전일중십값을 기준으로 피보나치수식을 수정부탁드립니다
2)
Input:length(10),기준일(20201001),파동선두께(2),굵기(2);
Var:j(0),jj(0),jjj(0),최종고가(0),최종저가(0),최종변곡점(""),처리구분(""),
TL1(0),TL2(0),TL3(0);
Array:고[5,4](0),저[5,4](0), // 1:가격, 2:Index, 3:sDate, 4:sTime
역사적고점[5](0),역사적저점[5](0);
#==========================================#
If Index == 0 Then
{
고[1,1] = H;
저[1,1] = L;
}
Condition1 = Highest(H,length) == H and 최종고가 <> H;
Condition2 = Lowest (L,length) == L and 최종저가 <> L;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종변곡점 == "저점" Then 처리구분 = "고점처리"; // 저 - 고 순으로 처리
Else 처리구분 = "저점처리"; // 고 - 저 순으로 처리
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
최종고가 = H; // 신규고점을 체크하기 위해 저장
If 최종변곡점 == "저점" Then
{
For j = 5 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = H;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,BLACK);
TL_Delete(TL2);
TL2 = TL_new(저[3,3],저[3,4],저[3,1],저[1,3],저[1,4],저[1,1]);
TL_SetExtRight(TL2,true);
TL_SetSize(TL2,파동선두께);
TL_SetColor(TL2,YELLOW);
}
Else If 고[1,1] < H Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = H;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
}
If 기준일 <= Date and (역사적고점[1] < 고[1,1] or 역사적고점[1] == 0) Then
{
For jjj = 1 To 4
{
역사적고점[jjj] = 고[1,jjj];
역사적저점[jjj] = 0;
}
}
최종변곡점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
최종저가 = L;
If 최종변곡점 == "고점" then
{
For j = 5 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = L;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,BLACK);
TL_Delete(TL3);
TL3 = TL_new(고[3,3],고[3,4],고[3,1],고[1,3],고[1,4],고[1,1]);
TL_SetExtRight(TL3,true);
TL_SetSize(TL3,파동선두께);
TL_SetColor(TL3,YELLOW);
}
Else If 저[1,1] > L then
{
저[1,1] = L;
저[1,3] = sDate;
저[1,4] = sTime;
저[1,2] = Index;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
}
If 기준일 <= Date and ( 역사적저점[1] > 저[1,1] or 역사적저점[1] == 0 ) Then
{
For jjj = 1 To 4
{
역사적저점[jjj] = 저[1,jjj];
//역사적고점[jjj] = 0; // 역사적 고점 초기화
}
}
최종변곡점 = "저점";
}
#==========================================#
Var:기울기(0);
Array:fr[7,4](0); // 1:비율, 2:값, 3:라인번호, 4:텍스트번호
If Index == 0 Then
{
fr[1,1] = 0;
fr[2,1] = 0.236;
fr[3,1] = 0.382;
fr[4,1] = 0.50;
fr[5,1] = 0.618;
fr[6,1] = 0.764;
fr[7,1] = 1;
}
If 역사적고점[1] > 0 and 역사적저점[1] > 0 Then
{
If 역사적고점[1][1] != 역사적고점[1] or 역사적저점[1][1] != 역사적저점[1] Then
{
기울기 = (역사적고점[1] - 역사적저점[1]) / (역사적고점[2] - 역사적저점[2]);
for j = 1 to 7
{
If fr[j,3] > 0 Then TL_Delete(fr[j,3]); // 기존의 라인은 지우고
fr[j,2] = 기울기 * fr[j,1] * (index - 역사적고점[2]) + 역사적고점[1]; // 피보나치 비율을 곱해서 계산
fr[j,3] = TL_New(역사적고점[3],역사적고점[4],역사적고점[1],sDate,sTime,fr[j,2]); // 라인을 생성
TL_SetSize(fr[j,3],굵기);
}
}
Else
{
for j = 1 to 7
{
fr[j,2] = 기울기 * fr[j,1] * (index - 역사적고점[2]) + 역사적고점[1];
TL_SetEnd(fr[j,3],sDate,sTime,fr[j,2]);
TL_SetExtRight(fr[j,3],true);
}
}
}
#0%선 색상
TL_SetColor(fr[1,3],MAGENTA);
#23.6%선 색상
TL_SetColor(fr[2,3],GRAY);
#38.2%선 색상
TL_SetColor(fr[3,3],GRAY);
#50.0%선 색상
TL_SetColor(fr[4,3],GREEN);
#61.8%선 색상
TL_SetColor(fr[5,3],GRAY);
#76.4%선 색상
TL_SetColor(fr[6,3],GRAY);
#100%선 색상
TL_SetColor(fr[7,3],CYAN);
피보나치수치테스트출 력값을 원합니다~23.6,50.76.4이세게만 나오게하며,`챠트왼쪽으로나오게부탁드리오며,현재선으로 표현되는것을 점선으로 나오게 수정하고십습니다 ,점선의크기도수치값색상도 조정할수있게부탁드립니다,
2020-11-16
502
글번호 143955
234fsdae 님에 의해서 삭제되었습니다.
2020-11-16
14
글번호 143954
답변완료
문의 드립니다.
안녕하세요
만들어 주신 수식중에 2번은 신호가 나오는데..
1번 수식이 제대로 안나와서 다시 문의 드립니다.
제가 원하는 곳에 신호는
변수 1에서 제일 작은 이평이 변수 3에서 제일 큰이평을 크로스 할때 신호가 나오게 하고 싶습니다.
다시 도움을 요청드립니다.
안녕하세요
예스스탁입니다.
1
Input : Period1(5),Period3(15);
var : LL(0),hh(0);
var1 = ma(C,Period1+0);
var2 = ma(C,Period1+1);
var3 = ma(C,Period1+2);
var4 = ma(C,Period1+3);
var5 = ma(C,Period1+4);
var6 = ma(C,Period1+5);
var7 = ma(C,Period1+6);
var8 = ma(C,Period1+7);
var9 = ma(C,Period1+8);
var10 = ma(C,Period1+9);
var11 = ma(C,Period1+10);
LL = min(var1,Var2,Var3,Var4,Var5,Var6,Var7,Var8,var9,Var10,Var11);
value1 = ma(C,Period3+0);
value2 = ma(C,Period3+1);
value3 = ma(C,Period3+2);
value4 = ma(C,Period3+3);
value5 = ma(C,Period3+4);
value6 = ma(C,Period3+5);
value7 = ma(C,Period3+6);
value8 = ma(C,Period3+7);
value9 = ma(C,Period3+8);
value10 = ma(C,Period3+9);
value11 = ma(C,Period3+10);
HH = max(value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,value11);
if CrossUp(ll,hh) Then
Buy();
if CrossDown(ll,hh) Then
Sell();
2
Input : Period1(5),Period3(15);
var : LL(0),hh(0);
var1 = ma(C,Period1+0);
var2 = ma(C,Period1+1);
var3 = ma(C,Period1+2);
var4 = ma(C,Period1+3);
var5 = ma(C,Period1+4);
var6 = ma(C,Period1+5);
var7 = ma(C,Period1+6);
var8 = ma(C,Period1+7);
var9 = ma(C,Period1+8);
var10 = ma(C,Period1+9);
var11 = ma(C,Period1+10);
Condition1 = var1 > var1[1] and
var2 > var2[1] and
var3 > var3[1] and
var4 > var4[1] and
var5 > var5[1] and
var6 > var6[1] and
var7 > var7[1] and
var8 > var8[1] and
var9 > var9[1] and
var10 > var10[1] and
var11 > var11[1];
Condition2 = var1 <= var1[1] and
var2 <= var2[1] and
var3 <= var3[1] and
var4 <= var4[1] and
var5 <= var5[1] and
var6 <= var6[1] and
var7 <= var7[1] and
var8 <= var8[1] and
var9 <= var9[1] and
var10 <= var10[1] and
var11 <= var11[1];
if Condition1 == true and Condition1[1] == False Then
Buy();
if Condition2 == true and Condition2[1] == False Then
Sell();
즐거운 하루되세요
> 로꼬로꼬 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 안녕하세요
아래 지표를 사용중에 있는데요..
Input : Period(5);
var1 = ma(C,Period+0);
var2 = ma(C,Period+1);
var3 = ma(C,Period+2);
var4 = ma(C,Period+3);
var5 = ma(C,Period+4);
var6 = ma(C,Period+5);
var7 = ma(C,Period+6);
var8 = ma(C,Period+7);
var9 = ma(C,Period+8);
var10 = ma(C,Period+9);
var11 = ma(C,Period+10);
plot1(var1,"이동평균0",iff(var1>var1[1],YELLOW,GREEN));
plot2(var2,"이동평균1",iff(var2>var2[1],YELLOW,GREEN));
plot3(var3,"이동평균2",iff(var3>var3[1],YELLOW,GREEN));
plot4(var4,"이동평균3",iff(var4>var4[1],YELLOW,GREEN));
plot5(var5,"이동평균4",iff(var5>var5[1],YELLOW,GREEN));
plot6(var6,"이동평균5",iff(var6>var6[1],YELLOW,GREEN));
plot7(var7,"이동평균6",iff(var7>var7[1],YELLOW,GREEN));
plot8(var8,"이동평균7",iff(var8>var8[1],YELLOW,GREEN));
plot9(var9,"이동평균8",iff(var9>var9[1],YELLOW,GREEN));
plot10(var10,"이동평균9",iff(var10>var10[1],YELLOW,GREEN));
plot11(var11,"이동평균10",iff(var11>var11[1],YELLOW,GREEN));
이지표를 변수를 조정해서 3개를 사용중입니다.
변수는 1 . 5 . 15
이렇게 사용중입니다.
여기서 1 변수에서 제일 작은 이평과 15 변수에서 제일 큰 이평이 서로 크로스 할때
매수,매도 신호가 나오게 수식좀 만들어 주시면 감사하겠습니다.
그리고요
선색이 노랑색과 연두색인데요...
모든선들이 노랑색으로 변하면 매수 신호
모든선들이 연두색으로 변하면 매도 신호 나오게도 부탁드립니다.
감사합니다.
2020-11-16
418
글번호 143953
pear 님에 의해서 삭제되었습니다.
2020-11-16
0
글번호 143952
답변완료
지표및 검색식문의
현재가가 250일 동안의 최대매물대 가격보다 크다
현재가가 250일 동안의 최대매물대보다 30%가 작다를 나타낼 수 있는 코딩과 그래프에 표시할 수 있는 방법을 문의 합니다
(예를 들어 250일 동안의 최대 매물대가 1000원이라면 현재가가 1000원보다 크거나 700원 이하인 종목을 검색하고 그래프에도 매물대를 표시 하고자 합니다)
제 설명이 부족하거나 혼동을 주었다면 010 2281 7700으로 전화 주시면 다시 설명드리겠습니다
수고해 주세요
2020-11-16
667
글번호 143951
행복하자 님에 의해서 삭제되었습니다.
2020-11-16
25
글번호 143950
답변완료
문의 드립니다.
분봉에서 현재 일봉의 시가값을
구할려면
If Bdate!=Bdate[1] Then Var1 = O;
위에 수식처럼 작성하는 방법과,
Var1 = DayOpen;
위에 수식처럼 작성하는 방법중에
뭐가 더 정확할까요?
그리고 DayOpen 함수같은 경우에는
실제 영업일의 시가를 가져오는게 아니라
우리나라 시간으로 00시 기준으로
시가를 가져오지 않나요?
차트는 브이아이 금융투자의 연결_Euro-FX 입니다.
2020-11-16
529
글번호 143938
답변완료
문의 드립니다.
분봉에서 현재 주봉의 시가값을
구할려면
If DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then var1 = O;
위 수식처럼 작성하는게
맞을까요?
2020-11-16
569
글번호 143937
답변완료
진입효율 문의
성능보고서에서 확인가능한 진입효율은 어떤 기준으로 산출되나요?
혹시 진입효율을 바로 사용할 수 있는 함수가 있나요?
감사합니다.
2020-11-16
509
글번호 143929