커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3596
글번호 230811
dasfasdf 님에 의해서 삭제되었습니다.
2019-10-03
14
글번호 132485
답변완료
질문드립니다.
Input : Period1(6), Period2(28), Period3(50);
input : ATRP(15),ATRS(3);
input : sto1(10),sto2(5),sto3(5);
var : 단기(0),중기(0),장기(0),stok(0),stod(0);
단기 = ma(C,Period1);
중기 = ma(C,Period2);
장기 = ma(C,Period3);
stok = StochasticsK(sto1,sto2);
stod = StochasticsD(sto1,sto2,sto3);
IF MarketPosition <= 0 and
단기 > 중기 and 중기 > 장기 and
(단기[1] <= 중기[1] OR 중기[1] <= 장기[1]) and
crossup(stok,stod) Then
Buy("매수");
IF MarketPosition >= 0 and
단기 < 중기 and 중기 < 장기 and
(단기[1] <= 중기[1] OR 중기[1] <= 장기[1]) and
CrossDown(stok,stod) Then
Sell("매도");
if MarketPosition == 1 Then
ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-ATR(ATRP)*ATRS);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+ATR(ATRP)*ATRS);
1.
위 식이 스토캐스틱 기능을 추가한것인데 외부변수를 늘리지않고 스토캐스틱기능을 넣을 수 있나요? (변수 고정시킨다면) 가능하다면 어떻게 변경해야할까요?
2.
highest(H,BarsSinceEntry)가 진입이후 최고가를 나타내는데 그렇다면
highest(H,BarsSinceEntry+1)와는 무슨 차이인가요?
3.
IF MarketPosition <= 0 and
단기 > 중기 and 중기 > 장기 and
(단기[1] <= 중기[1] OR 중기[1] <= 장기[1]) and
crossup(stok,stod) Then
Buy("매수");
IF MarketPosition >= 0 and
단기 < 중기 and 중기 < 장기 and
(단기[1] <= 중기[1] OR 중기[1] <= 장기[1]) and
CrossDown(stok,stod) Then
Sell("매도");
여기서
(단기[1] <= 중기[1] OR 중기[1] <= 장기[1]) 방향이 매수 때 정배열과는 반대인데 매도때와는 왜 방향이 같나요?
(단기[1] <= 중기[1] OR 중기[1] <= 장기[1]) 가 정확히 어떤 의미인지 알려주세요.
4.ATR에서 period(15)는 기간을 나타내지만 atr signal(3)은 무슨 의미를 가지나요?
그냥 atr(15)*3 이면 true range 15일 이동평균값*3 인건가요?
항상 친절한 답변 정말 감사드립니다! 좋은하루 되세요!
2019-10-04
204
글번호 132484
답변완료
계단식이평선을 상승하락 구분하고 싶습니다.
계단식이평선 지표를 싱승하락 구분을 하고 싶은데 될까요?
수식은 밑에 적어놓겠습니다.
키움수식인데 예스수식으로 변환해서 이 수식을 또 이평선을 색상구분하고싶습니다.
<계단식이평선>
M=ma(c,기간);
S=sum(1);
valuewhen(1,S%k==0,M)
기간 22
k 5
2019-10-03
267
글번호 132483
답변완료
지표수식
안녕하세요.
일봉의 5.10.20.60 이평을 역이평 수평으로 만들어 주실수 있으시면 부탁 드립니다.
2019-10-03
202
글번호 132482
답변완료
키움 보조지표 → 예스수식 전환
수고많으십니다^^
예스트레이더 입문합니다^^
많은 도움 청하겠습니다
고맙습니다...
=================================
수식1.
disparity(period1)
수식2.
a=disparity(period1);
tema(a,t1)
수식3.
a=disparity(period1);
tema(a,t2)
수식4.
a=disparity(period1);
tema(a,t3)
수식5.
수식3.
a=disparity(period);
bb=tema(a,t1):
cc=tema(a,t3):
valuewhen(1,crossup(bb,cc) or crossdown(bb,cc),cc);
======================================================
[지표조건]
period1 = 12
t1 = 2
t2 = 4
t3 = 5
=======================================================
2019-10-03
474
글번호 132481
답변완료
문의드립니다
Input:기간(100),매물대개수(10),선두께(1);
Var:j(0),k(0),구간최고가(0),구간최저가(0),가격단위(0),
총거래량(0),최대거래량(0),최대매물대(0),비중(0),TL1(0),TL2(0);
Array:매물대[30,3](0); // 열번호 1:가격이상,2:가격미만,3:수량
//============= 매물대 계산 =======================//
구간최고가 = Highest(H,기간);
구간최저가 = Lowest(L,기간);
If !(구간최고가[1] == 구간최고가 and 구간최저가[1] == 구간최저가) Then {
가격단위 = (구간최고가 - 구간최저가)/매물대개수;
매물대[1,1] = 구간최저가;
매물대[1,2] = 매물대[1,1] + 가격단위;
매물대[1,3] = 0;
For j = 2 To 매물대개수 {
매물대[j,1] = 매물대[j-1,1] + 가격단위;
매물대[j,2] = 매물대[j-1,2] + 가격단위;
매물대[j,3] = 0;
}
총거래량 = 0;
For k = 0 To 기간 - 1 {
총거래량 = 총거래량 + V[k];
For j = 1 To 매물대개수 {
If 매물대[j,1] <= C[k] and C[k] < 매물대[j,2] Then {
매물대[j,3] = 매물대[j,3] + V[k];
j = 매물대개수;
}
}
}
} Else {
총거래량 = 총거래량 + V;
For j = 1 To 매물대개수 {
If 매물대[j,1] <= C and C < 매물대[j,2] Then {
매물대[j,3] = 매물대[j,3] + V;
j = 매물대개수;
}
}
}
최대거래량 = 0;
최대매물대 = 0;
For j = 1 To 매물대개수 {
If 최대거래량 < 매물대[j,3] Then {
최대거래량 = 매물대[j,3];
최대매물대 = j; // 값이 큰 행의 번호
}
}
//============= 매물벽 출력 =======================//
If 최대매물대 > 0 Then {
TL1 = TL_New(sDate[1],sTime[1],매물대[최대매물대,1],sDate,sTime,매물대[최대매물대,2]);
TL_SetSize(TL1,선두께);
비중 = int(최대거래량 / 총거래량 * 200);
TL_SetColor(TL1,RGB(200 - 비중, 200 - 비중, 200 - 비중)); // 비중이 클수록 더 진해집니다.);
TL_SetColor(TL1,GRAY);
TL_SetSize(TL1,1);
}
위수식으로 맨마지막것만 수평선으로 나오게 수정부탁드립니다~`매번감사드립니다
2019-10-03
263
글번호 132480
답변완료
타주기 참조하여 이평선 상승/하락 색상 구분하기
안녕하세요, 코드 작성을 매번 해주셔서 너무 감사드립니다.
제가 요청드릴 사항은 아래와 같습니다.
기본적인 컨셉은 타주기의 모든 이평선이 상승(하락)일때, 최소단위 주기상 이평선은 타주기를 참조하여 상승(하락)을 색상을 구분하여 표시를 하는 것입니다.
# 상승 추세
1. 30분봉, 5분봉 20이평선 각도가 상향과 동시에 가격이 20이평 상단 위치 시,
2. 1분봉 상 20이평선 또한 각도가 상향 및 가격이 20이평 상단 위치 시, 20이평선 색상이 붉은색으로 바뀌고,
3. 위 조건 중 하나라도 만족하지 않으면 1분봉 상 20이평의 각도가 상향 및 가격이 20이평에 위치하더라도 파란색으로 전환(1분봉 상 20이평의 각도가 하향이거나 가격이 20이평 아래이면 당연히 파란색 시현)
# 하락 추세는 위의 컨셉과 정반대입니다.
수식 작성 부탁드립니다.
2019-10-02
317
글번호 132478
답변완료
진입가 바로 표시 되는 수식
Input : shortPeriod(12), longPeriod(26);
Var : value(0);
value = MACD(shortPeriod, longPeriod);
# 매수/매도청산
If CrossUP(value, 0) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value, 0) Then
{
Sell();
}
진입가 바로 표시 되는 수식으로 부탁 드립니다 수고하세요
2019-10-02
190
글번호 132477
미운오리 님에 의해서 삭제되었습니다.
2019-10-02
2
글번호 132475