커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8161
글번호 230811
답변완료
키움용 수식을 예스트레이더용으로 변환부탁드려요!
선으로 나타내는 수식
bull=O == L AND C > O;
valuewhen(1,bull,avg(c,5))
highest(if(c>o,eavg(c,10),0),20)
신호검색수식
매수
c>o and c>highest(c(1),10) and
avg(c,5)>avg(c,5,1)and c>avg(c,5)
매도
c<o and c<lowest(c(1),10) and
avg(c,5)<avg(c,5,1) and c<avg(c,5)
그림2 맨밑에 있는그림 수식
c-avg(c,100)
키움용 수식을 예스트레이더용으로 변환부탁드려요!
5분 챠트에 적용할 계획입니다
감사합니다!
2017-02-07
428
글번호 106601
답변완료
문의드립니다
안녕하세요
한가지만더 부탁드리겠습니다
아래수식에서 가격은 표시안되고 추세선막대기만 표시 되기를 원합니다
감사합니다
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
197
글번호 106600
답변완료
함수변환요청(키움)
안녕하세요?
아래는 키움에서 사용하였던
전략입니다.
YT언어로 변환 요청드립니다.
감사합니다.
Vars :
TickValue( 0 ),
RSI_value( 0 ),
RSI_period( 14 ),
MACD_OSC_value( 0 ),
MACD_period1( 12 ),
MACD_period2( 26 ),
MACD_signal_period( 9 ),
H_value1( 0 ),
H_bar1( 0 ),
L_value1( 0 ),
L_bar1( 0 ),
H_value2( 0 ),
H_bar2( 0 ),
L_value2( 0 ),
L_bar2( 0 ),
ShortPeriod( 9 ),
LongPeriod( 26 );
TickValue = OneTick * PriceScale;
RSI_value = RSI(C, RSI_period);
v0 = MACD(C, MACD_period1, MACD_period2);
v1 = Ema(v0, MACD_signal_period);
MACD_Osc_value = v0 - v1;
highestlowest(H, L, ShortPeriod, H_value1, H_bar1, L_value1, L_bar1);
highestlowest(H, L, LongPeriod, H_value2, H_bar2, L_value2, L_bar2);
Value1 = (H_value1 + L_value1)/2;
Value2 = (H_value2 + L_value2)/2;
If Value1 > Value2
And MACD_Osc_value > 0
And CrossUp(RSI_value, 70)
Then Buy("매수");
If Value1 < Value2
And MACD_Osc_value < 0
And CrossDown(RSI_value, 30)
Then Sell("매도");
If ContractProfit > TickValue * 10 Then
Begin
If CrossDown(RSI_value, 70) then ExitLong("매수청산");
If CrossUp(RSI_value, 30) Then ExitShort("매도청산");
End;
SetStopLoss(TickValue * 10);
2017-02-07
229
글번호 106599
답변완료
종목검색식 부탁드립니다.
일봉상 종가가 엔벨로프(20,2) 하단선 이탈되는 종목검색식 부탁드립니다.
2017-02-07
200
글번호 106592
답변완료
시스템식 문의드립니다
기본 지표를 바탕으로 시스템식 문의드립니다.
----------------------------------------------------------------
input : Period(20);
var : gb(0),V1(0),V2(0),V3(0),V4(0),V5(0);
var1 = highest(h,period);
var2 = lowest(L,Period);
if var1[1] < var1 Then
gb = (var1+var2)/2;
V1 = var1-((var1-gb)/8)*6;
V2 = var1-((var1-gb)/8)*7;
V3 = var1-((var1-gb)/8)*8;
V4 = var1-((var1-gb)/8)*9;
V5 = var1-((var1-gb)/8)*10;
plot1(var1,"최고점");
plot2(v1,"1타점");
plot3(v2,"2타점");
plot4(v3,"3타점");
plot5(v4,"4타점");
plot6(v5,"5타점");
---------------------------------------------------------------------------
변수선언
kh = 20일 신고가 & 20일 신고거래량
k1 = 20일 신고가 (20일 신고거래량은 총족 못함)
lowk = kh+1봉에서부터 다음 kh봉 발생 이전까지의 최저가
kk = v1-v2
buylow = 매수이후 최저가
매수조건
kh발생이후 kh발생이면
조건은 처음으로 돌아갑니다.
kh발생이후 kh나 k1 미발생이면
v1에 1차매수
kk만큼 반등없이 추가하락하면 v1 - kk 에 2차매수
kk만큼 반등없이 추가하락하면 v1 - kk*2 에 3차매수
kk만큼 반등없이 추가하락하면 v1 - kk*3 에 4차매수
kh발생이후 k1발생이면
buylow < v1 이면 buylow에 1차매수
kk만큼 반등없이 추가하락하면 buylow - kk 에 2차매수
kk만큼 반등없이 추가하락하면 buylow - kk*2 에 3차매수
kk만큼 반등없이 추가하락하면 buylow - kk*3 에 4차매수
매도조건
1,2차 매수했으면 buylow + kk에 매도.
3차이상 매수면 본절에 매도
한번 매수 매도 이후
kh가 발생하지 않고,
buylow 가
v1보다 작고 v2보다 크면 v2에 1차 매수
v2보다 작고 v3보다 크면 v3에 1차 매수
v3보다 작고 v4보다 크면 v4에 1차 매수
v4보다 작고 v5보다 크면 v5에 1차 매수
추매와 청산 조건은 kk만큼의 반등이 없으면 위의 상황과 동일 합니다.
kh가 발생하면 매수조건 처음으로 돌아갑니다.
모자라는 부분 말씀주시면 보충하겠습니다
2017-02-07
210
글번호 106591
답변완료
수식문의
2017-02-07
182
글번호 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
189
글번호 106589
softtoug 님에 의해서 삭제되었습니다.
2017-02-07
0
글번호 106583
답변완료
수식부탁드립니다.
매수
- 시가에 매수
매수 주문수량이 == 1 이면
익절 PriceScale*10
매도
- 시가에 매도
매도 주문수량이 == 1 이면
익절 PriceScale*10
2017-02-07
162
글번호 106582