커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8165
글번호 230811
답변완료
수식 문의 드려요^^
아래 지표 참조해주시구요^^
이격도를 가지고 색을 입힌후에 차트에 적용해볼려 합니다.^^
수식을 만들어 주시구요^^
적용 하는방법도 좀가르쳐 주세요^^
감사합니다^^
2016-07-22
292
글번호 100280
답변완료
수식 부탁드려요^^
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy("매수");
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
Sell("매도");
}
Input : Period(20), MultiD(2),P1(5),P2(20),N(10),P(3);
var : MAv(0),BBup(0),BBdn(0),mav1(0),mav2(0);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
mav1 = ma(c,P1);
mav2 = ma(c,P2);
if highest(BBup,N) > lowest(BBdn,N)*(1+P/100) Then{
if crossup(mav1,mav2) Then
buy();
if CrossDown(mav1,mav2) Then
sell();
}
위 수식을 정리좀 부탁드립니다.^^
5*20일선 크로스시 매매신호 인데요...제가할려니 수식을 잘몰라서요.^^
추세가 끝나고 횡보구간((진폭이 상하 25틱 내에서 상하로 움직일때))에서 신호 진입 횟수를 제한하는 수식중 위에꺼 말고 다른 방법도 있으면 좀가르쳐 주세요.^^
감사합니다^^
2016-07-22
245
글번호 100279
답변완료
rsi 지표식 검증
항상 감사드립니다.
아래 rsi 지표식은
크루드오일
1) 10분봉 주챠트에 적용
2) 5분봉 주챠트에 10분봉 rsi값을 가져와 주챠트에 표시합니다
그런데 같은 10분봉에 단독으로 지표식표시하는것과 5분봉 주챠트에 10분봉지표식을 표기하는것과 다르게 라인이 형성됩니다
검정 부탁드립니다
1)10분봉 rsi 지표식
input : Period(23);
var1 =(AccumN(iff(C-C[1]>0,C-C[1],0),Period)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period)*100);
if var1 <= 30 Then
var2 = O;
if var1 >= 70 Then
var3 = H;
plot1(var2);
plot2(var3);
2)5분봉 주챠트에 10분봉_15분봉 지표식 표시
input : Period(23);
var : TF2(0),TF3(0),cnt(0);
var : sum21(0),sum22(0),RSIV2(0);
var : sum31(0),sum32(0),RSIV3(0);
Array : C2[100](0),C3[100](0);
Array : H2[100](0),H3[100](0);
Array : O2[100](0),O3[100](0);
TF2 = TimeToMinutes(stime)%10; ##### 10분봉 시간설정 #####
TF3 = TimeToMinutes(stime)%15; ##### 15분봉 시간설정 #####
var1 = (AccumN(iff(C-C[1]>0,C-C[1],0),Period)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period)*100);
if var1 <= 30 Then
var2 = O;
if var1 >= 70 Then
var3 = H;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then{
O2[0] = O;
H2[0] = H;
for cnt = 1 to 99{
C2[cnt] = C2[cnt-1][1];
O2[cnt] = O2[cnt-1][1];
H2[cnt] = H2[cnt-1][1];
}
}
C2[0] = C;
if H > H2[0] Then
H2[0] = H;
if C2[Period-1] > 0 Then{
sum21 = 0;
sum22 = 0;
for cnt = 0 to Period-1{
if C2[cnt]-C2[cnt+1] > 0 Then{
sum21 = sum21+(C2[cnt]-C2[cnt+1]);
}
sum22 = sum22+abs(C2[cnt]-C2[cnt+1]);
}
RSIV2 = sum21/sum22*100;
if RSIV2 <= 30 Then
var4 = O2[0];
if RSIV2 >= 70 Then
var5 = H2[0];
}
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[1]) Then{
O3[0] = O;
H3[0] = H;
for cnt = 1 to 99{
C3[cnt] = C3[cnt-1][1];
H3[cnt] = H3[cnt-1][1];
O3[cnt] = O3[cnt-1][1];
}
}
if H > H3[0] Then
H3[0] = H;
C3[0] = C;
if C3[Period-1] > 0 Then{
sum31 = 0;
sum32 = 0;
for cnt = 0 to Period-1{
if C3[cnt]-C3[cnt+1] > 0 Then{
sum31 = sum31+(C3[cnt]-C3[cnt+1]);
}
sum32 = sum32+abs(C3[cnt]-C3[cnt+1]);
}
RSIV3 = sum31/sum32*100;
if RSIV3 <= 30 Then
var6 = O3[0];
if RSIV3 >= 70 Then
var7 = H3[0];
}
plot1(var2); # 주챠트 rsi_30 #
plot2(var3); # 주챠트 rsi_70 #
plot3(var4); # 10분봉 rsi_30 #
plot4(var5); # 10분봉 rsi_70 #
plot5(var6); # 15분봉 rsi_30 #
plot6(var7); # 15분봉_rsi_70 #
감사합니다
2016-07-22
285
글번호 100278
답변완료
수식문의드립니다
틱차트에서
3일동안의 이동평균을 구하려고 합니다.
7월4일,5일,6일,7일,8일 이렇게 데이터가 있다고 가정하고
7월8일이면 7월5일부터 8일 지금 진행되는 틱차트를 포함하는 전체의 이동평균
7월9일이면 7월6일부터 7월9일 진행되는 틱차트 전체의 이동평균
즉, 당일을 포함한 3일동안의 이동평균을 구하고자 합니다.
(1틱이며 데이터는 있습니다)
부탁드립니다
더운데 건강 조심하세요 (_ _)
2016-07-21
243
글번호 100277
답변완료
수식 부탁드립니다
(1)
최근 6개 음봉 시가를 모두 파란선으로 표시
최근 6개 양봉 시가를 모두 빨간선으로 표시
(2)
최근 6개 음봉 시가에서 가장 높은 가격 돌파 양봉 매수, 돌파 양봉 시가 붕괴 음봉 매도
최근 6개 양봉 시가에서 가장 낮은 가격 붕괴 음봉 매도, 붕괴 음봉 시가 돌파 양봉 매수
(3)
파라볼릭 양 전환후 첫 3 연속 음봉 매도. 3연속 음봉에서 첫 음봉 시가 돌파 매수.
파라볼릭 음 전환후 첫 3 연속 양봉 매수. 3연속 양봉에서 첫 양봉 시가 붕괴 매도.
(4)
20 캔들 고가 돌파 매수,100 캔들 고가 터치 청산
20 캔들 저가 붕괴 매도,100 캔들 저가 터치 청산
(5)
20 캔들 고가 돌파 매수,100 캔들 고가 터치 매도
20 캔들 저가 붕괴 매도,100 캔들 저가 터치 매수
(6)
20 캔들 고가 돌파 매수,100 캔들 고가 돌파 매도
20 캔들 저가 붕괴 매도,100 캔들 저가 붕괴 매수
감사합니다
2016-07-22
276
글번호 100276
답변완료
지표표시와 소리나는 것간의 불일치문제는 어찌 해결하나요?
안녕하세요..
해외선물(오일)거래에서
"지료" 로서
#1. 당일 시가
plot1(dayopen,"당일시가");
#2. 당일 중간값
plot2((dayhigh+daylow)/2,"당일중간");
#3. 당일 1/3중심
plot3((dayhigh+daylow+dayopen)/3,"당일1/3");
를 차트에 나타나게 해서 보고있고요
아울러 현재가가 위 가격에 도달하면 소리가 나도록 별도로
"검색"식을
var1=(dayhigh+daylow+dayopen)/3;
var2=(dayhigh+daylow)/2;
#1. 당일 시가 터치
if crossup(C,dayopen) or crossdown(C,dayopen) Then
PlaySound("C:₩WRFutures₩YesGlobalPro₩data₩Sound₩오일 시가터치.wav");
#2. 당일 1/3중심 터치
if crossup(C,var1) or crossdown(C,var1) Then
PlaySound("C:₩WRFutures₩YesGlobalPro₩data₩Sound₩오일 3분의1터치.wav");
#3. 당일 중간값 터치
if crossup(C,var2) or crossdown(C,var2) Then
PlaySound("C:₩WRFutures₩YesGlobalPro₩data₩Sound₩오일 중심터치.wav");
이렇게 정하고 파일을 만들어 보관 및 위치지정을 해줌으로써 소리가나서 알려주도록 만들었습니다.
처음에는 딱딱 잘 맞아 제대로 작동을 했는데요
시간이 흐르다보니 어느샌가(지표나 검색 양측 어느 하나도 건들지않았습니다. 거래 월물이 바뀌면서 달라지는 걸까요??)
둘이 완전히 따로도는 상황이 되어버렸습니다(차트에 시가로 표시되는 곳에 현재가가 닿은것도 아니고 완전히 저 멀리있음에도 소리는 시가에 닿았다라고 소리가 나요.)
왜 그럴까 전혀 모르겠습니다.
그러다보니 해결책도 모르겠는데 좋은 방책좀 알려주세요
답답하네요.
아참! 이러한 문제는 NH선물 예스트레이더(해외선물 오일)에서도 그렇고 하이투자 예스트레이더(코스피선물)에서도 똑같은 문제가 발생하고있습니다.
2016-07-21
237
글번호 100271
답변완료
고가와저가사이추격금지구역
input : HP(5),LP(5);
var : cnt(0),HH(0),LL(0);
HH = dayhigh(1);
for cnt = 1 to HP{
if dayhigh(cnt) > HH Then
HH = dayhigh(cnt);
}
LL = dayLow(1);
for cnt = 1 to LP{
if daylow(cnt) < LL Then
LL = dayLow(cnt);
}
if crossup(c,HH) then
buy();
if CrossDown(c,LL) Then
sell();
input : AtrMult(5), AtrPeriod(5);
var : AtrVal(0), posHigh(0), posLow(0);
ATRVal = ATR(AtrPeriod) * AtrMult;
PosHigh = Highest(H,BarssinceEntry+2);
PosLow = Lowest(L,BarsSinceEntry+2);
#5일고가와 5일저가사이 추격상하 매매 금지
If MarketPosition == -1 and C > HH Then
buy("ATR6", AtStop, PosLow + ATRVal);
If MarketPosition == 1 and C < LL Then
sell("ATR5", AtStop, PosHigh - ATRVal);
If MarketPosition == 0 and C < HH Then
buy("ATR8", AtStop, Lowest(L,BarsSinceExit(1)+1) + ATRVal);
If MarketPosition == 0 and C > LL Then
sell("ATR7", AtStop, Highest(H,BarsSinceExit(1)+1) - ATRVal);
위수식에서
5일고가와 5일저가사이에서는 추격안되록하였습나다
그런데 추적이 나오는데 잘못된걸 좀 고쳐주세요
감사합니다
2016-07-21
229
글번호 100270
답변완료
수식 작성(수정) 요청드립니다.
안녕하세요..
아래 macd divergence를 rsi divergence로 변경하고 싶은데요.. 부탁드립니다.
Input : Period(60), ShortPeriod(12), longPeriod(26), Highperiod(30);
Var : MACDV(0),LL(0),HH(0),ML(0),MH(0);
MACDV = macd(shortPeriod,longPeriod);
ML = lowest(MACDV,Period);
MH = highest(MACDV,Period);
LL = Lowest(L,Period);
HH = highest(H,Period);
#매수진입/매도청산
if MACDV > MACDV[1] and MACDV[1] <= MACDV[2] and ML[2] < MACDV[1] and
(L < LL[1] or L[1] < LL[2] or L[2] < LL[3]) Then
buy();
#매도진입/매수청산
if MACDV < MACDV[1]and MACDV[1] >= MACDV[2] and MH[2] > MACDV[1]and
(H > HH[1] or H[1] > HH[2] or H[2] > HH[3]) Then
sell();
2016-07-21
228
글번호 100269
답변완료
문의 드립니다
특정이평선(예를 들면 20이평선)의 기울기나 강도를 알 수 있는 그런 지표가 있을까요 ?
즉 20이평선이 강하게 솟아 오르거나 하락하면... 그 강도나 기울기를 수치나 지표로 알고 싶습니다.
감사합니다
2016-07-21
242
글번호 100268