커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4513
글번호 230811
답변완료
수식 부탁
스토캐스틱(25,6,6)
RSMACD (12,26,9)
두지표가 모두 양선이 되는 경우의 지표식 부탁합니다.
세가지 경우로 나타나는데
1) 두지표가 동시에 같은 봉에서 골든크로스가 되는 경우
2) 스토캐스틱은 이미 골든크로스가 되어 양으로 돌아섰지만
RSmacd는 아직도 음선이었는데 이번 봉에 골든크로스 발생하여 양 상태로
스토캐스틱과 RSMACD 모두 양으로 전환된 경우
3) 상기 케이스2와 반대 경우,RSmacd 먼저 골든크로스 발생되어 양이었는데
이번 봉에 스토캐스틱 골든크로스되어 두지표 모두 양으로 전환돈 경우
세가지 경우의 수가 나오는데 두 지표 모두 양으로 전환되는 봉을 나타낼 수 있는
지표식 부탁합니다
2019-03-29
334
글번호 127484
답변완료
수식
buy와 sell 리버스 연속 거래에 사용하는 청산수식인데
exitlong/exitshort을 이용하는 수식으로 변경바랍니다.
*****************************************************************************
input : up최소가격변화포인트(0.80), up봉갯수(80);
input : dn최소가격변화포인트(0.50), dn봉갯수(50);
if MarketPosition == 1 then
{
SetStopInactivity(up최소가격변화포인트,up봉갯수,PointStop);
}
if MarketPosition == -1 then
{
SetStopInactivity(dn최소가격변화포인트,dn봉갯수,PointStop);
}
2019-03-29
330
글번호 127483
답변완료
동일시간대 전일 거래량
안녕하세요
다음 지표식 부탁드립니다.
연결선물 분봉기준으로 당일현재 완성봉기준 누적거래량은
Plot1(DayVolume[1]); 입니다
분봉기준 전일 완성봉기준 동일시간대의 누적거래량 수식 부탁드립니다.
이상입니다.
감사합니다 !!
2019-03-29
327
글번호 127478
답변완료
문의드립니다.
안녕하세요. 문의드립니다.
스토케스틱으로 매수 청산 수식 부탁드립니다.
1. 스토케스틱 79에 매수 -> 80 과열구간 진입 -> 79 과열구간 이탈하고 청산.
스토케스틱 21에 매도 -> 20 침체구간 진입 -> 21 침체구간 이탈하고 청산.
2. 스토케스틱 직전 과열구간 진입있다면 50도달 시 매도
직전 침체구간 진입있다면 50도달 시 매수
2019-03-29
320
글번호 127477
답변완료
수식문의부탁드립니다
a=time/1000 % 10;
valuewhen(1,(a!=a(1) and a==6) or (a!=a(1) and a==0),open);
2019-03-29
323
글번호 127476
답변완료
문의
최근 3년간 시뮬레이션을 위해 기간설정 수식을 부탁드립니다.
1. 매월 옵션만기일만 거래하는 수식
2. 매월 1일부터 옵션옵션만기일 전날까지 거래하는 수식
3. 옵션만기일 다음 날부터 매월말까지 거래하는 수식
항상 고맙습니다.
2019-03-29
324
글번호 127475
답변완료
수식요청
* 좋은 주말 되십시요^^
* 피보선 매매수식 하나 부탁 드리겠습니다.
* 스윙 함수로 이전 10개봉 고가와 저가를 정하고
피보나치 50.0선에서 매수
피보나치 38.2선에서 매도 요청 드리겠습니다.
→수치값: 26.3% , 38.2%, 50.0% , 61.8%, 76.4%
* 지표요청
100봉 기준으로 평균거래랑 보다 큰것의 양봉 겟수 차트좀 부탁 드립니다.
기준: 100봉중 최대거래량 상위 10개 제외 하위 10개제외 후
평균 거래량 좀 부탁 드립니다. (분모는 80(변수 설정)으로 해주십시요)
* 항상 미안하고 고맙습니다. 좋은 주말 되십시요.
2019-03-29
315
글번호 127472
답변완료
수식수정요청
아래의 수식으로는 위와 같은 그림이 안나와서 다시 수정부탁드립니다.
input : 오프셋(1),봉수(10);
var1 = highest(h,봉수);
var2 = Lowest(h,봉수);
if var1 < var1[오프셋] Then
value1 = var1[오프셋];
Else
value1 = var1;
if var2 > var2[오프셋] Then
value2 = var2[오프셋];
Else
value2 = var2;
plot1(value1);
plot2(value2);
2019-03-29
366
글번호 127471
답변완료
안녕하세요. 문의드립니다.
안녕하세요. 문의 드립니다.
아래 식에 추가하고 싶은 사항이 있어서 부탁드립니다.
파동의 고가와 저가가 표현되는 식입니다.
1. 직전 파동이 완성되면 해당 파동의 고가와 저가의 피보나치 비율을 추가하여 38.2% 자리와 50% 61.8% 자리를 직전파동의 고저가 확정되면 우측에 표현하고 싶습니다. 안되는 기능이면 패스해도 됩니다.
2.
가격이 120 이평 아래에 위치할 경우 올라올때 38.2% 자리를 터치하면 매도신호가 발생.
매도 보유중에 50% 까지 올라오면 손절(주석으로 부탁드립니다.)
매도 보유중에 20틱 이상 수익 발생시 20틱 수익시에는 진입가로 다시 올라오면 청산/ 20틱 이상 수익 발생시에는 수익 틱만큼 익절가격이 올라가야 합니다.
ex) 20틱 수익 TS익절=0 / 최고수익틱 30틱 TS익절=10틱
가격이 120 이평 위에 위치할 경우 내려올때 38.2% 자리를 터치하면 매수신호가 발생.
매수 이후 50% 까지 내려오면 손절.
포지션이 있을경우는 신규진입하지 않아야 합니다. 포지션이 청산되고 없을때 다음 조건만족시 진입식 부탁드립니다.
늘 수고많으시고 감사드립니다.
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""),TL_Val1(0),TL_Val2(0),color(0),T(0);
Array:고점[10,2](0),저점[10,2](0);
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
T = 1;
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
If 고점[3,1][1] < 고점[2,1][1] and 고점[2,1][1] > 고점[1,1][1] and 저점[2,1][1] < 저점[1,1][1] Then
TL_Delete(TL2);
}
if 고점[1,1] > 고점[2,1] or 고점[2,1] == 0 Then
{
color = MAGENTA;
#buy("b");
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
TL_SetColor(TL1,color);
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then
{
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
}
}
}
If 처리구분 == "저점처리" Then
{
T = -1;
lastLoVal = L;
If 저점[1,2] < 고점[1,2] Then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
If 저점[2,1][1] < 저점[1,1][1] and 저점[2,1][1] < 저점[3,1][1] and 고점[2,1][1] > 고점[1,1][1] Then
TL_Delete(TL3);
}
if 저점[1,1] < 저점[2,1] or 저점[2,1] == 0 Then
{
color = CYAN;
#sell("s");
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
TL_SetColor(TL1,color);
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then
{
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
}
}
}
TL_SetSize(TL1,3);
if color != color[1] Then
{
var1 = 0;
var2 = var1[1];
var3 = var2[1];
if T == -1 and var2 == 1 and var3 >= 3 Then
sell("s1");
if T == 1 and var2 == 1 and var3 >= 3 Then
buy("b1");
}
if T != T[1] Then
{
var1 = var1+1;
}
if MarketPosition == 1 and t == -1 Then
{
ExitLong("bx",AtStop,저점[2,1]-PriceScale*1);
}
if MarketPosition == -1 and t == 1 Then
ExitShort("sx",AtStop,고점[2,1]+PriceScale*1);
2019-03-29
313
글번호 127470