커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6363
글번호 230811
답변완료
도와 주세요_이평선골드/데드신호 발생수식
아래수식을 편집하는 과정에 "골든 크로스와 데드 크로스 신호 계산"에서 연산자 앞뒤 두데이터 값이 같아야 된다는 요류가 뜹니다, 뭐가 잘못된건가요?
여기에서
GoldenCrossSignal_Small = CrossUp(SmallMA, MediumMA);
DeadCrossSignal_Small = CrossDown(SmallMA, MediumMA);
GoldenCrossSignal_Medium = CrossUp(MediumMA, LargeMA);
DeadCrossSignal_Medium = CrossDown(MediumMA, LargeMA);
GoldenCrossSignal_Large = CrossUp(SmallMA, LargeMA);
DeadCrossSignal_Large = CrossDown(SmallMA, LargeMA);
======아래=====
var : SmallMA(0), MediumMA(0), LargeMA(0);
var : GoldenCrossSignal_Small(0), DeadCrossSignal_Small(0);
var : GoldenCrossSignal_Medium(0), DeadCrossSignal_Medium(0);
var : GoldenCrossSignal_Large(0), DeadCrossSignal_Large(0);
var : tx(0);
골든 크로스와 데드 크로스 신호 계산
GoldenCrossSignal_Small = CrossUp(SmallMA, MediumMA);
DeadCrossSignal_Small = CrossDown(SmallMA, MediumMA);
GoldenCrossSignal_Medium = CrossUp(MediumMA, LargeMA);
DeadCrossSignal_Medium = CrossDown(MediumMA, LargeMA);
GoldenCrossSignal_Large = CrossUp(SmallMA, LargeMA);
DeadCrossSignal_Large = CrossDown(SmallMA, LargeMA);
골든 크로스와 데드 크로스 신호 표시
if GoldenCrossSignal_Small then
begin
tx = Text_New_Self(sDate, stime, SmallMA, "▲");
Text_SetStyle(tx, 2, 0);
Text_SetColor(tx, Red);
end;
if DeadCrossSignal_Small then
begin
tx = Text_New_Self(sDate, stime, SmallMA, "▼");
Text_SetStyle(tx, 2, 1);
Text_SetColor(tx, Blue);
end;
if GoldenCrossSignal_Medium then
begin
tx = Text_New_Self(sDate, stime, MediumMA, "▲");
Text_SetStyle(tx, 2, 0);
Text_SetColor(tx, Red);
end;
if DeadCrossSignal_Medium then
begin
tx = Text_New_Self(sDate, stime, MediumMA, "▼");
Text_SetStyle(tx, 2, 1);
Text_SetColor(tx, Blue);
end;
if GoldenCrossSignal_Large then
begin
tx = Text_New_Self(sDate, stime, LargeMA, "▲");
Text_SetStyle(tx, 2, 0);
Text_SetColor(tx, Red);
end;
if DeadCrossSignal_Large then
begin
tx = Text_New_Self(sDate, stime, LargeMA, "▼");
Text_SetStyle(tx, 2, 1);
Text_SetColor(tx, Blue);
end;
end;
2024-03-01
1000
글번호 177084
답변완료
PercentRank 함수 만들어주세요
안녕하세요 어느덧 2월도 갑니다..항상 건강하십쇼
다름이 아니라 엑셀의 PercentRank 기능을 예스랭귀지에서 사용하고 싶은데 없어서 문의드립니다.
https://support.microsoft.com/ko-kr/office/percentrank-%ED%95%A8%EC%88%98-f1b5836c-9619-4847-9fc9-080ec9024442
참고 부탁드립니다.
*값은 변수가 아니라 Array로 저장시켜주세요. (어레이 저장 개수는 예트가 허락하는 한 가장 큰 값으로 부탁드려요)
사유 : variable이면 maxbarsback이 늘어남
PERCENTRANK(1) = Array로 저장되는 모든 값들이라는 범위에서 마지막 Array에 저장된 값의 백분율 순위
PERCENTRANK(2) = 전 봉의 PERCENTRANK(1)
예제에는 Close 값을 Array에 담아서 부탁드립니다.
ex) Percentrank(Close) = 차트상 모든 C 값이라는 범위에서 마지막 저장된 C 값의 백분율 순위
밑에껀 정답은 아니지만 혹시 도움 될까봐서 올립니다.
///////
///////
// PercentRank 함수 정의
function PercentRank(currentValue, DataArray)
vars:
vari1(0),
numLower(numeric), // 현재 값보다 낮은 값의 개수
totalCount(numeric), // 총 값의 개수
rank(numeric); // 백분위 순위
vari1 = Close;
if CurrentBar >= 1 Then {
numLower = 0;
totalCount = 0;
For cnt = 100000 DownTo 1 {
vv[cnt] = VV[cnt-1];
if vv[cnt] > 0 Then
{
if dataArray[value] < currentValue then
numLower = numLower + 1;
totalCount = totalCount+1
}
}
vv[0] = vari1
}
// 백분위 순위 계산
rank = (numLower / totalCount) * 100;
// 함수 결과 반환
PercentRank = rank;
percentileRank = PercentRank(Close)
///////
///////
2024-02-29
1584
글번호 177073
답변완료
지표에 신호 교차시 화살표 신호 넣기
아래는 trix지표인데
TRIXv(0)와 TRIXsig(0)가 교차시 화살표 신호가 나오게 하려 합니다
--------------------------------------
Input : Period(12), sigPeriod(9);
var : TRIXv(0),TRIXsig(0);
TRIXv = TRIX(Period);
TRIXsig = ema(TRIX(Period),sigPeriod);
Plot1(TRIXv,"TRIX");
Plot2(TRIXsig,"TRIX시그널");
PlotBaseLine1(0,"기준선");
2024-02-29
955
글번호 177072
답변완료
수식문의 드립니다.
문의 드립니다.
1, 10일 이내에 120일 최고거래량 발생
2. 그 날 10% 이상 상승하고
3. 그 후로 최고거래량이 발생하지 않고 최고거래량의 10% 미만의 거래량이
발생한 날의 종목 검색식을 알고 싶습니다.
부탁드립니다. 감사합니다.
2024-02-29
777
글번호 177070
답변완료
문의 드립니다.
아래식에서 매수할 금액을 추가할 수 있도록 부탁드립니다.
if CrossUp(C,DayOpen) Then
Buy();
if CrossDown(c,DayOpen) Then
ExitLong();
2024-02-29
870
글번호 177060
답변완료
체결시간차 계산
항상 상세하고 친절하게 답변 주셔서
많은 도움을 받고 있습니다.
감사합니다.
전략차트(예:120틱차트)에서
직전봉(1봉전) 체결시간과
현재봉(0봉) 체결시간의 차이를
계산할 수 있을까요?
예시 :
직전봉 체결시간 : 11:50:05
현재봉 체결시간 : 11:50:35
체결시간차 : 30
plot1(체결시간차, "체결시간차");
부탁드립니다.
2024-02-29
923
글번호 177059
답변완료
종목검색식 부탁합니다
안녕하십니까
항상 우리의 해결사가 되시는 담당자님 건강하시기 바랍니다
아래 식을 이용해서 종목검색식을 수정해 주시기 바랍니다
If O>max(O[1],C[1]) && C>max(O[1],C[1]) Then
var1 = O;
If var1[1]>var1 Then
Find(1);
위 식을 이용하여 검색하면 60분봉은 하루에 7번, 90분봉은 5번
12분봉은 4번을 검색해야 그 변화를 전부 잡아낼수 있습니다
그런데 3시경에 종목검색을 해도 9시 개장 이후 변화를 다 잡아낼수 있도록
종목검색식을 수정하여 주시기 바랍니다
감사합니다
2024-02-29
935
글번호 177056
alltoone 님에 의해서 삭제되었습니다.
2024-02-29
0
글번호 177055
답변완료
문의
늘 감사드립니다.
아래 지표는 이평선 터치시 알람이 울리는 수식인데요
이 지표를 타분봉에서 가능하게 부탁드립니다.
예를 들면 2분봉 챠트를 보면서 5분봉 각 이평에 터치시 알람이 울리도록 가능할까요?
부탁드립니다. 감사합니다.
input : P1(5), P2(10), P3(20), P4(60), P5(300);
var1 = ma(C,P1);
Var2 = ma(C,p2);
Var3 = ma(C,p3);
Var4 = ma(C,p4);
var5 = ma(C,p5);
if (h >= var1 and H[1] < var1[1]) or (L <= var1 and L[1] > var1[1]) Then
{
value1 = var1;
Alert("P1이평 터치");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
if (h >= var2 and H[1] < var2[1]) or (L <= var2 and L[1] > var2[1]) Then
{
value2 = Var2;
Alert("P2이평 터치");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
if (h >= var3 and H[1] < var3[1]) or (L <= var3 and L[1] > var3[1]) Then
{
value3 = Var3;
Alert("P3이평 터치");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
if (h >= var4 and H[1] < var4[1]) or (L <= var4 and L[1] > var4[1]) Then
{
value4 = Var4;
Alert("P4이평 터치");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
if (h >= var5 and H[1] < var5[1]) or (L <= var5 and L[1] > var5[1]) Then
{
value5 = Var5;
Alert("P4이평 터치");
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
if value1 > 0 Then
Plot1(value1);
if value2 > 0 Then
Plot2(value2);
if value3 > 0 Then
Plot3(value3);
if value4 > 0 Then
Plot4(value4);
if value5 > 0 Then
Plot5(value5);
2024-02-29
1187
글번호 177054