커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1747
글번호 230811
답변완료
15분상
15분상 차트에서 당일 시초 20평균선 대비 현재 20일평균선이 높은것을 찾고싶어요
2021-01-29
752
글번호 145920
노아 님에 의해서 삭제되었습니다.
2021-01-28
21
글번호 145919
답변완료
수식 작성좀 부탁드립니다.
10개 정도의 지지와 저항이 되는 주가를 특정하고 이것을 지지저항선이라고 할 때
캔들의 고가가 지지저항선 기준 상하 10틱의 범위내에 있을 때 매도 진입
캔들의 저가가 지지저항선 기준 상하 10틱의 범위내에 있을 때 매수 진입
하는 수식좀 부탁합니다.
지지저항선은 우선 아래 가격으로 특정해주세요.
매일 다르게 형성되기 때문에 매일매일 수기로 입력하려고 합니다.
지지저항선
12900, 12970, 13120, 13230, 13300, 13360, 14120, 14250, 14370, 14410
2021-01-28
949
글번호 145918
답변완료
수식 좀 부탁드립니다.
엑셀에서 데이타 5개를 받아서 쓰는데,
사진상에서 sell no1 , buy no1 하나씩만 발생하는데
첫번째 sellno1 , sellno2 , sellno3 가 동시에 발생하고
두번째 buyno1 , buyno2 , buyno3 도 동시에 발생하게 가능할까요?
var : C2(0,Data2);
var : C3(0,Data3);
var : C4(0,Data4);
var : C5(0,Data5);
var : C6(0,Data6);
C2 = Data2(c);
C3 = Data3(c);
C4 = Data4(c);
C5 = Data5(c);
C6 = Data6(c);
if crossup(C2,0) then Buy();
if crossdown(C2,0) then Sell();
if crossup(C3,0) then Buy();
if crossdown(C3,0) then Sell();
if crossup(C4,0) then Buy();
if crossdown(C4,0) then Sell();
if crossup(C5,0) then Buy();
if crossdown(C5,0) then Sell();
if crossup(C6,0) then Buy();
if crossdown(C6,0) then Sell();
2021-01-28
1009
글번호 145917
답변완료
수식 여쭙니다.
수고 많으십니다..
다음을 수식으로 어떻게 작성하는지 여쭙니다.
5일이평이 30일이평을 크로스 한 뒤 ...macd 가 0 을 돌파할 때 매수 ...
청산식은 필요 없고요.. 수고 하세요
2021-01-28
1049
글번호 145913
답변완료
참조데이터를 고려한 함수 작성?
참조데이터를 고려한 함수를 작성하면 기존함수가 작동을 하지 않습니다.
#여기서 기본데이터는 일봉이고, 참조데이터는 60분봉입니다.#
아래는 그림1의 수식입니다.
var : line(0),i(1),cnt(1),break(False);
i = 1;
cnt = 1;
break = False;
If Index == 1 Then
line = TL_New(sDate[1],sTime[1],L[1]-1,sDate,sTime,L[1]);
Else if Index != 0 Then
{
While break == False
{
If IsNaN(line[i]) == True Then
{
cnt = cnt + 1;
i = i + 1;
}
Else
break = True;
}
If H[cnt]<H[0] and L[cnt]<=L[0] Then
line = TL_New(sDate[cnt],sTime[cnt],TL_GetEndVal(line[cnt]),sDate,sTime,H[0]);
Else If H[cnt]>=H[0] and L[cnt]>L[0] Then
line = TL_New(sDate[cnt],sTime[cnt],TL_GetEndVal(line[cnt]),sDate,sTime,L[0]);
Else
line = NaN();
}
아래는 그림2의 수식입니다.
var : line(0),i(1),cnt(1),break(False);
var : HT2(0,Data2),LT2(0,Data2);
i = 1;
cnt = 1;
break = False;
If Index == 1 Then
line = TL_New(sDate[1],sTime[1],L[1]-1,sDate,sTime,L[1]);
Else if Index != 0 Then
{
While break == False
{
If IsNaN(line[i]) == True Then
{
cnt = cnt + 1;
i = i + 1;
}
Else
break = True;
}
If H[cnt]<H[0] and L[cnt]<=L[0] Then
line = TL_New(sDate[cnt],sTime[cnt],TL_GetEndVal(line[cnt]),sDate,sTime,H[0]);
Else If H[cnt]>=H[0] and L[cnt]>L[0] Then
line = TL_New(sDate[cnt],sTime[cnt],TL_GetEndVal(line[cnt]),sDate,sTime,L[0]);
Else If H[cnt]<H[0] and L[cnt]>L[0] Then
{
If Data2(H == HighD(0)) Then
HT2 = Data2(sTime);
If Data2(L == LowD(0)) Then
LT2 = Data2(sTime);
If HT2<LT2 Then
{
line = TL_New(sDate[cnt],sTime[cnt],TL_GetEndVal(line[cnt]),sDate,sTime,H[0]);
line = TL_New(sDate,sTime,TL_GetEndVal(line),sDate,sTime,L[0]);
}
If LT2<HT2 Then
{
line = TL_New(sDate[cnt],sTime[cnt],TL_GetEndVal(line[cnt]),sDate,sTime,L[0]);
line = TL_New(sDate,sTime,TL_GetEndVal(line),sDate,sTime,H[0]);
}
}
Else
line = NaN();
}
그림1의 수식과 그림2의 수식의 차이는
분봉데이터를 고려하지 않음(그림1) 분봉데이터를 고려함(그림2)
입니다.
그림1이 제 함수의 기본 골격인데, 여기에
Else If H[cnt]<H[0] and L[cnt]>L[0] Then
{
If Data2(H == HighD(0)) Then
HT2 = Data2(sTime);
If Data2(L == LowD(0)) Then
LT2 = Data2(sTime);
If HT2<LT2 Then
{
line = TL_New(sDate[cnt],sTime[cnt],TL_GetEndVal(line[cnt]),sDate,sTime,H[0]);
line = TL_New(sDate,sTime,TL_GetEndVal(line),sDate,sTime,L[0]);
}
If LT2<HT2 Then
{
line = TL_New(sDate[cnt],sTime[cnt],TL_GetEndVal(line[cnt]),sDate,sTime,L[0]);
line = TL_New(sDate,sTime,TL_GetEndVal(line),sDate,sTime,H[0]);
}
}
이 부분을 추가한 것이 그림 2입니다. 위 수식의 의미는 무엇이냐면,
현재 일봉으로부터 비교되는 특정 시점의 과거 봉의 저점과 고점이 현재 봉에 포함된다면,
일봉을 관통하는 수직선을 고점부터 저점 또는 저점부터 고점으로 즉, 궤적을 그려라 뭐 이런 것인데요.
근데 일봉의 고점부터 저점, 저점부터 고점을 결정하는 방식으로 "분봉데이터"에서
일봉 고점 형성시간이 저점보다 시간상으로 앞서면 고점에서 저점으로 그리고
일봉 저점 형성시간이 고점보다 시간상으로 앞서면 저점에서 고점으로 그리는 것입니다.
즉, 분봉데이터를 고려하도록 설계를 했는데, 그 때부터 원래 함수조차 작동을 하지 않습니다.
질문
기존함수(그림1)에 분봉데이터를 참조하는 조건식하나를 추가했는데(그림2), 기존 추세선이 모조리 안나타납니다. 해결방법이 있을까요?
질문참고(1번 내용을 해결하려고 디버그를 돌리다가 알게된 사실이나 추측을 도움되실까하여 적어놓습니다)
1) 분봉데이터를 참조하면서부터 계산횟수가 기존의 8배로 증가했습니다. 60분봉 7개와 일봉1개 총 8번인 듯 합니다.
2) 동일 코드의 추세선 생성 명령이 2번이상 실행되는 경우 추세선 표현이 안되는 듯 합니다. 2)에서 언급된 하루당 8번의 계산이 실행되는 것과 영향이 있을 듯 합니다.
3) 2)내용이 사실이라면 하루 중 마지막 봉을 계산할 때만 추세선 생성 명령이 작동되야할텐데요.. barindex값을 무작정 8로나눈 나머지가 7일 때가 하루 중 마지막 봉의 계산이라고 하면 수능이나 새해날 때문에 뒤로 1칸 또는 2칸이 밀려서 꼬이네요...이 방법은 너무 수식이 좀 더 복잡해질 것 같아 다른 좋은 방법이 있으면 좋겠네요..
항상 친절히 답변해주셔서 감사합니다. 답변 잘 부탁드려요
2021-01-29
1108
글번호 145905
답변완료
종가 배팅
종가 배팅 시스템을 생각하고 있는데요.
선물지수 기준입니다.
당일 양봉 마감이면서 and 미결제 약정수량이 시가때 물량보다 종가물량이 높을시 "매수"
당일 음봉 마감이면서 and 미결제 약정수량이 시가때 물량보다 종가물량이 높을시 "매도"
익일 시가에 보유분 청산!!
입니다.!!
2021-01-28
1246
글번호 145903
러블리 님에 의해서 삭제되었습니다.
2021-01-28
0
글번호 145901
답변완료
현재가 문의
안녕하세요~
1. if문에서는 현재가를 봉완성시의 종가로 인식하는데, 그러면 1분봉에서는 쵀대 1분의 시간차가 5분봉에서는 최대 5분의 시간차이가 발생하는건간요?
2. 그렇다면 1분봉을 사용해야 하나요?
3. 현재가를 즉시 판단해서 사용하는 다른 함수가 있나요?
안녕하세요
예스스탁입니다.
plot1(c);
위 내용을 지표식으로 작성하시고 차트에 적용해 보시면
C가 체결시세가 수신될때마다 변경되어 현재가를 그려주고 있는 것을 확인하실 수 있습니다.
C는 실시간에서 계속 실시간체결시세를 받게 되지만
랭귀지에서 if문이 봉완성시에만 조건체크를 하게 됩니다.
봉완성시에만 조건만족여부를 판단해서 신호를 발생하기 때문에 C를 현재가로 지칭하기도 하고 종가로 지칭하기도 합니다.
즐거운 하루되세요
> 백합 님이 쓴 글입니다.
> 제목 : 그런데 C 는 종가 아닌가요? 왜 현재가로 사용하죠?
> 고맙습니다~~
그런데 C 는 종가 아닌가요? 왜 현재가로 사용하죠?
2021-01-28
964
글번호 145900