커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3479
글번호 230811
답변완료
추세선연장
안녕하세요
아래 파동선추세수식중
당일 수평선을 전부 우측연장되게
부탁드립니다
감사합니다
좋은하루되세요
Input:length(6);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),
TL1(0),처리구분(""),T(0),TL2(0),TL3(0);
var : hh(0),ll(0),ii(0),diff(0),TL41(0),TL42(0),TL43(0),TL44(0),TL45(0),TL46(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);
TL_Delete(TL2);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
TL_SetExtRight(TL2,False);
TL2 = TL_New(sDate[1],sTime[1],고점[1,1],sdate,sTime,고점[1,1]);
TL_SetColor(TL2,BLUE);
TL_SetSize(TL2,2);
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);
TL_Delete(TL3);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
TL_SetExtRight(TL3,False);
TL3 = TL_New(sDate[1],sTime[1],저점[1,1],sdate,sTime,저점[1,1]);
TL_SetColor(TL3,RED);
TL_SetSize(TL3,2);
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,0);
TL_SetColor(TL1,YELLOW);
TL_SetEnd(TL2,sdate,stime,고점[1,1]);
TL_SetEnd(TL3,sdate,stime,저점[1,1]);
TL_SetExtRight(TL2,true);
TL_SetExtRight(TL3,true);
if T != T[1] then
{
if T == 1 Then
{
HH = 고점[2,1];
LL = 저점[1,1];
ii = index-고점[2,2];
diff = abs(HH-LL);
}
Else
{
HH = 고점[1,1];
LL = 저점[2,1];
ii = index-저점[2,2];
diff = abs(HH-LL);
}
TL_Delete(TL41);
TL_Delete(TL42);
TL_Delete(TL43);
TL_Delete(TL44);
TL_Delete(TL45);
TL_Delete(TL46);
TL41 = TL_New(sdate[ii],stime[ii],LL+diff*2.00,sdate,stime,LL+diff*2.00);
TL42 = TL_New(sdate[ii],stime[ii],LL+diff*2.618,sdate,stime,LL+diff*2.618);
TL43 = TL_New(sdate[ii],stime[ii],LL+diff*3.618,sdate,stime,LL+diff*3.618);
TL44 = TL_New(sdate[ii],stime[ii],HH-diff*2.00,sdate,stime,HH-diff*2.00);
TL45 = TL_New(sdate[ii],stime[ii],HH-diff*2.618,sdate,stime,HH-diff*2.618);
TL46 = TL_New(sdate[ii],stime[ii],HH-diff*3.618,sdate,stime,HH-diff*3.618);
TL_SetExtRight(TL41,true);
TL_SetExtRight(TL42,true);
TL_SetExtRight(TL43,true);
TL_SetExtRight(TL44,true);
TL_SetExtRight(TL45,true);
TL_SetExtRight(TL46,true);
TL_SetSize(TL41,2);
TL_SetSize(TL42,2);
TL_SetSize(TL43,2);
TL_SetSize(TL44,2);
TL_SetSize(TL45,2);
TL_SetSize(TL46,2);
}
2020-02-13
440
글번호 135913
답변완료
추가라인부탁드립니다
안녕하세요...글번호65863에 추가라인부탁드립니다
MACD 지표에서도 가격차트와 동시에 라인이그려지게요.
수고하세요...꾸벅
2020-02-13
366
글번호 135908
답변완료
수식 문의
안녕하세요?
Draw Down 을 %로 나타내는 지표식을 부탁드립니다.
그러니까 차트상 최대값이 100 인데, 현재값이 80 이면 -20(%)이 나와야 합니다.
당근, 차트상 신고가를 갱신하면 0 (%) 값이 나와야 하구요.
Input: 기준(0), n(100), C_H(0);
기준 == 0 => 최대값은 차트전체에서의 최대값
기준 == 1 => 최대값은 직전 n(100)봉 중에서의 최대값.
C_H == 0 => C 기준
C_H == 1 => H 기준.
따라서,
기준 == 0 && C_H == 0 => 차트상 C 의 최대값 대비 드로다운을 표시: 예) -20%,
기준 == 0 && C_H == 1 => 차트상 H 의 최대값 대비 드로다운을 표시: 예) -25%...
기준 == 1 && C_H == 0 => n(100)봉 중 C 의 최대값 대비 드로다운을 표시: 예) -20%,
기준 == 1 && C_H == 1 => n(100)봉 중 H 의 최대값 대비 드로다운을 표시: 예) -25%...
감사합니다.
2020-02-13
408
글번호 135905
답변완료
수식 문의 드립니다
안녕하세요
아래 수식
문의 드립니다
틱차트와 초차트에서 적용 부탁드립니다
1).
ma20>ma120 이며,
30초 이내에 0.5p 상승하면 매수
2).
ma60<ma120 이며,
30초 이내에 0.5p 하락하면 매도
감사합니다
건강하세요!!!
2020-02-13
371
글번호 135904
답변완료
진입청산물량 수식부탁드립니다
매수수식
A라는 조건충족시
100만원어치 매수
청산수식
S1라는 조건충족시
진입한물량의 50프로 청산
S2라는 조건충족시
나머지 전부 청산
부탁드립니다
2020-02-13
422
글번호 135902
답변완료
10분봉 30분봉 60분봉 의 각각의 조건 교집합시 매수 되는 수식 요청해요
적용종목: 쿠르드오일
적용조건:
10분봉: RSI(14) < 20
30분봉: RSI(14) < 30
60분봉: RSI(14) < 40
3개 조건의 교집합(만족할때) 일때 진입하는 수식 부탁드림니다.
참고로 위 사진처럼 챠트를 저렇게 설정한 다음 하는 수식과
혹시 차트 10분봉에다가 30분봉 60분봉을 적용하는 수식을
각각 알려주시면 감사하겠습니다.
2020-02-13
429
글번호 135900
답변완료
안녕하세요
MAlength = input(15, title="LOMS")
var1 = ema(close, MAlength)
var2 = wma(close, MAlength)
var3 = sma(close, MAlength)
if (close > var1) and (close > var2) and (close > var3)의 경우,
차트상에 캔들의 색깔이 Yellow로 변화하도록 구현 가능할지요
감사합니다.
2020-02-13
344
글번호 135899
답변완료
지표 수정부탁드립니다.
안녕하세요.
아래 수식을 그림파일에 표시한대로 오른쪽에 수치가 표시되도록 부탁드립니다.
수식에서 H2, L2 두가지의 수치가 맨 오른쪽에 표시 되도록 부탁드립니다.
예스트레이더에서 종목수치가 검정색으로 나오기에 잘 구별할수 있게끔 H2, L2는 파란색으로 표현되면 좋겠구요.
다른색상으로 안되면 그냥 검정색으로라도 부탁드립니다.
항상 감사드립니다.
INPUT : LENGTH(30),N(0);
VAR : TCHAN(0),BCHAN(0),T180(0),t(0);
TCHAN = HIGHEST(High, LENGTH)[0];
BCHAN = LOWEST(low, LENGTH)[0];
t180 = HIGHEST(High, LENGTH)-LOWEST(low, LENGTH);
PLOT1(TCHAN-PriceScale*N,"H1");
PLOT2(TCHAN+PriceScale*N,"H2");
PLOT3(BCHAN+PriceScale*N,"L1");
PLOT4(BCHAN-PriceScale*N,"L2");
PLOT5(tchan-t180*0.618,"0.382");
var1 = Highest(h,LENGTH);
var2 = Lowest(L,LENGTH);
var3 = var1-var2;
value1 = var1-var3*0.618;
value2 = var1-var3*0.382;
value3 = var1-var3*1.0;
if value2 > value2[1] Then
T = 1;
if value2 < value2[1] Then
T = -1;
if T == 1 then{
plot6(value1,"1");
plot7(value2,"2");
}
else{
plot6(value3,"1");
plot7(value2,"2");
}
2020-02-13
376
글번호 135898
답변완료
안녕하세요^^문의드립니다~
Input : shortPeriod(3), longPeriod(15);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
Sell();
}
*1) 매수신호/매도신호값 신호옆에 나타나게 부탁드립니다
2)매수신호나타나면~동시에-10틱에 손절(지지선)값과 점선으로(손절지지선)도
다음신호(매도신호)나올때까지만 선이 나타나게 해주세요
매도신호나타나면~동시에+10틱에 손절(저항선)값과 점선으로(손절저항선)도
다음신호(매수신호)나올때까지만 선이 나타나게 해주세요
첨부파일 올립니다(EX)
★부탁드립니다^^ 수고하세요~
2020-02-12
358
글번호 135897