커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4444
글번호 230811
답변완료
수식문의
2017-02-07
120
글번호 106590
답변완료
지표문의드립니다
안영하세요?
아래첨부된지표는 추세선관련지표인데요
추세선이 그려지고 가격이추세선근처에적히는 수식입니다
그런데 가격이없이 단지 추세선만그려지는것을원합니다
감사합니다
Input:length(5);
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);
Var:TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),TL16(0),TL17(0),TL18(0),TL19(0),TL20(0);
Var:TL21(0),TL22(0),TL23(0),TL24(0),TL25(0),TL26(0),TL27(0),TL28(0),TL29(0),TL30(0),mav(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
{
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);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],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
{
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);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],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];
}
}
}
mav = ma(C,20);
2017-02-07
119
글번호 106589
softtoug 님에 의해서 삭제되었습니다.
2017-02-07
0
글번호 106583
답변완료
수식부탁드립니다.
매수
- 시가에 매수
매수 주문수량이 == 1 이면
익절 PriceScale*10
매도
- 시가에 매도
매도 주문수량이 == 1 이면
익절 PriceScale*10
2017-02-07
99
글번호 106582
답변완료
수식 문의 드립니다.
아침저녁으로 쌀쌀합니다. 감기조심하시구요^^ 수식좀 부탁드립니다.
input : P1(1),P2(2),P3(3);
input : Period11(1),Period12(2),Period13(3);
input : Period21(4),Period22(5),Period23(2);
input : Period31(6),Period32(7),Period33(2);
input : Period41(8),Period42(9),Period43(2);
var : wma1(0),wma2(0),wma3(0);
var : SMI1(0),SMI2(0),SMI3(0),SMI4(0);
wma1 = wma(c,P1);
wma2 = wma(c,P2);
wma3 = wma(C,P3);
SMI1 = SMI(Period11,Period12,Period13);
SMI2 = SMI(Period21,Period22,Period23);
SMI3 = SMI(Period31,Period32,Period33);
SMI4 = SMI(Period41,Period42,Period43);
if
SMI3 > 0 and SMI4 > 0 and SMI3 > SMI4 and
((SMI2 > 0 and crossup(SMI1,0)) or (SMI1 > 0 and crossup(SMI2,0))) Then
buy();
if
SMI3 < 0 and SMI4 < 0 and SMI3 < SMI4 and
((SMI2 < 0 and CrossDown(SMI1,0)) or (SMI1 < 0 and CrossDown(SMI2,0))) Then
sell();
if MarketPosition == 1 and wma1 < wma2 Then
exitlong();
if MarketPosition == -1 and wma1 > wma2 Then
ExitShort();
위 조건식에서요 RSI조건을 추가 하고 싶습니다.
매수조건 :위 조건식을 만족하면서(동시에) RSI 기준선 70이상일때
매도조건 :위 조건식을 만족하면서(동시에) RSI 기준선 30이하일때
부탁드립니다.~~~~~
2017-02-07
113
글번호 106580
답변완료
지표와 속도
안녕하세요?
장 초반이나 시세가 급변할때 무거운 지표를 사용할 경우 속도가 느려지는데
가급적 지표를 단순화 하고자 합니다.
다음 몇가지 중 속도개선에 더 도움이 되는 것이 어떤 것인지 알고 싶습니다.
(지표 한개일때는 속도 차이가 별로 없지만 여러차트에 여러지표를 적용할 때에는
차이가 커지므로 가급적 줄이고 싶습니다)
1. 이동평균 식에서 ma(c,20); 과 accumn(c,20)/20; 중 어떠것이 조금이나마 더 빠른지
2. if c>ma(c,20) then sig=1; else sig=0; 와 signal=iff(c>ma(c,20),1,0); (sig는 변수)
3. 여러 변수를 var 와 array 중 어느 것을 통해 선언하는 것이 더 빠른지
4. 사용자 함수를 만드는 것이 더 빠른지
5. for문(엄청나게 속도를 저해하네요) 등 속도를 저하시키는 함수에는 어떤 것들이 있는지
6. 한 봉이 만들어질 때 마지막 한 번만 연산하게 하는 방법
7. 기타 속도를 향상시킬 수 있는 팁
질문이 너무 많아서 죄송합니다.
장초반이나 시세 급변시 차트가 현재가창의 시세보다 한참 뒤에서 뒤따라가며
그려지는걸 볼 수 있는데요 조금이라도 더 속도를 개선시키는 방법을 알고 싶습니다.
새해 복 많이 받으시고요. 행복한 하루 되세요!
2017-02-07
133
글번호 106579
답변완료
전날 동시간대에 값을 가져올려면??
수고하십니다.
전날 동 시간대에 값을 가져올려고 하는데요...
해당일꺼난 TimeHigh를 써서 가져오는데
전날꺼는 TimeHigh(1) 이게 안먹히네요?
HH = TimeHigh(090000,093000)
HH(1)
이렇게 했을때 HH(1) 이런식으로는 사용 못하는건가요?
2017-02-07
118
글번호 106578
답변완료
수식 부탁드립니다.
안녕하세요
수식하나 부탁드립니다.
1.120이평이 상승추세일때에 20이평이 120 이평을 상향돌파시 매수
2,120이평이 하락추세일때에 20이평이 120 이평을 하향돌파시 매도
하는 식입니다.
미리 감사드립니다.,
2017-02-06
105
글번호 106577
답변완료
수식문의드려요
전봉과 고점이 같은 뒤부터 저점카운팅
전봉과 저점이 같은 뒤부터 고점카운팅
부탁드립니다 감사합니다
2017-02-06
103
글번호 106576