커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3173
글번호 230811
답변완료
수정 의뢰 드립니다!
안녕하세요!
아래 수식에서 가격만 표시하고 고저점 라인과 추세선은 표시되지 않도록 수정을 부탁드립니다! 그리고 가격의 폰트 크기도 제가 조정할 수 있도록 부탁드립니다!
항상 노고에 감사드립니다!
input:length(4),종가사용여부(0),파동선두께(1),수치표시(1);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),tl2(0),tl3(0),tl4(0),tl5(0),T(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = IFF(종가사용여부==1,C,H);
LL = IFF(종가사용여부==1,C,L);
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
# TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
If 수치표시 == 1 Then
{
Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2));
Text_SetStyle(Text1, 2, 0);
Text_SetColor(Text1,BLACK);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,yellow);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
# TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,NumToStr(고[1,1],2));
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
# TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2));
Text_SetStyle(Text1, 2, 1);
Text_SetColor(Text1,BLACK);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,blue);
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
# TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,NumToStr(저[1,1],2));
}
}
최종꼭지점 = "저점";
}
if T == -1 and T[1] != -1 Then{
TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]);
TL_Delete(TL3);
TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]);
TL_SetExtRight(TL3,true);
TL_SetSize(TL2,파동선두께);
TL_SetColor(TL2,rgb(126,126,126));
TL_SetSize(TL3,파동선두께);
TL_SetColor(TL3,rgb(126,126,126));
}
if T == 1 and T[1] != 1 Then{
TL4= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]);
TL_Delete(TL5);
TL5= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]);
TL_SetExtRight(TL5,true);
TL_SetSize(TL4,파동선두께);
TL_SetColor(TL4,rgb(128,128,128));
TL_SetSize(TL5,파동선두께);
TL_SetColor(TL5,rgb(128,128,128));
}
2020-09-08
1128
글번호 142154
답변완료
adx와 di 관련 수정부탁드립니다.
안녕하세요.
아래와 같이 작성하면 전일 di선을 연속적으로 인식하여 당일 신호가 안나오거나 9시에 바로 신호가 나옵니다.
전일과 전혀 상관없이 당일 dl선 나오는 것 부터 인식하여 당일 adx선이 당일 di선 돌파시 신호가 나오도록 부탁드립니다.
감사합니다.
Input : dix(10),Period(24);
value1 = DIPlus(Period);
value2 = DIMinus(Period);
value3 = ADX(Period);
var : T1(0),entry(0);
if Bdate != bdate[1] Then
T1 = TotalTrades[1];
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if dayindex <= dix then{
If CrossUp(value3, value1) or CrossDown(value3, value1) Then
if entry < 5 Then
Buy();
If CrossUp(value3, value2) or CrossDown(value3, value2) Then
if entry < 5 Then
Sell();
}
SetStopEndofday(150000);
SetStopProfittarget(100,PointStop);
SetStopLoss(10.0,PointStop);
2020-09-07
1050
글번호 142153
답변완료
부탁 드립니다.
도움에 깊이 감사 드립니다.
1)예를 들어 10분 차트에서 60분 지표 수식
2)60분 차트에서 일봉 지표 수식
부탁 드립니다.
미리 경배로 감사 인사 올립니다.
input :p(10),sig(5);
var1=cmo(p);//기본제공지표
var2=ma(var1,sig);
참고수식)
Input : Length(Numeric);
CMO = 100 * (C-C[Length]) / (AccumN(Abs(C-C[1]), Length));
input : Atime1(60),Length(10),sig(5);
var : TL(0),TH(0),cnt(0),Dcnt(0),preTRange(0),prePlusDM14(0),MinusDM14(0),TRange1(0),preMinusDM14(0);
Var : TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0),preADX(0);
Var : CummDMI(0), Cummi(0);
var : S1(0),D1(0),TM(0),TF1(0),CB(0);
Array : HH[61](0),LL[61](0),CC[61](0),TR[61](0),DMIv[61](0),ADXv[61](0);
Array : DPlus[61](0),DMinus[61](0);
if bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%Atime1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and Atime1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and Atime1 > 1 and TM >= TM[1]+Atime1) or
(Bdate == Bdate[1] and Atime1 == 1 and TM > TM[1]) Then
{
2020-09-08
1222
글번호 142152
답변완료
문의 드립니다
안녕하세요
키움전환 입니다
A; 수식1 a=RSI(14);
b=a>=70;
valuewhen(1,b,h)
수식2 a=RSI(14);
b=a<=30;
valuewhen(1,b,L)
B; 수식1 valuewhen(1,crossup(avg(c,5),avg(c,20)),avg(c,prd));
prd:20
2가지 수식 부탁드립니다
감사합니다
2020-09-07
890
글번호 142151
답변완료
이평선 색상변화와 틱차트에 분봉이평 표시
틱차트에 5분봉의 10선과 20선 60선을 표시하고
10선, 20선, 60선의 기울기가 양과 음에 따라 색상을 달리 주고 싶습니다.
추가로 일봉의 5일선도 표시하고 싶습니다.
항상 도움에 감사드립니다
2020-09-07
1111
글번호 142149
답변완료
이격도의 선을 차트에 구현(재질문)
안녕하세요 관리자님!!
재질문드립니다
아래 수식(이격도)에서 plot2,plot3가 일정수치(0.5/1.0/2.0/-0.5/-1.0/-2.0)에 도달하게 되는지점을 차트에서 선으로 구현하고 싶습니다
도와주세요!!
var : wo(0),wh(0),wl(0);
var : wo1(0),wh1(0),wl1(0);
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then
{
WO = O;
WH = H;
WL = L;
WO1 = WO[1];
WH1 = WH[1];
WL1 = WL[1];
}
if h > wh Then
wh = h;
if l < wl Then
wl = l;
if WO1 > 0 then
{
var1 = C/WO1*100-100;
plot1(var1,"시가");
}
if WH1 > 0 then
{
var2 = (C/WH1*100-100);
plot2(var2,"고가");
}
if WL1 > 0 then
{
var3 = C/WL1*100-100;
plot3(var3,"저가");
#plot4(WO[1],"주시가");
plot5(0.5,"0.5선");
plot6(-0.5,"-0.5선");
plot7(1.0,"1.0선");
plot8(-1.0,"-1.0선");
plot9(2,"2선");
plot10(-2,"-2선");
plot11(0,"중심선");
}
2020-09-07
1106
글번호 142145
답변완료
수식 부탁 드립니다.
1. 파라볼릭 점을 한개씩 당겨서 지표로 사용하고 있는데
그림 파일안에 있는 마지막 점을 돌파할때 종목검색되는 수식을 부탁 드립니다.
Input : af(0.02), maxAF(0.2);
Plot1(SAR(af,maxAF)[1], "SAR");
2. 그리고 아래 3개의 검색 조건을 하나로 통합시켜 주세요..
1)
Input : af(0.02), maxAF(0.2);
Var : value(0);
value = sar(af,maxAF);
If crossup(c,value) Then
find(1);
2)
input : P8(8),P5(5),S4(4);
var : E(0),NS(0),SS(0),EX(0),EY(0),STOS(0);
STOS = AccumN(C-lowest(L, P8), 1)/AccumN((highest(H, P8)-lowest(L, P8)), 1)* 100;
E = 2.718281828;
NS = 0.1 * (STOS - 50);
SS = ema(ema(NS, P5),P5);
EX = POW (E, SS)-1;
EY = POW (E, SS)+1;
var1 = EX/EY;
var2 = ema(EX/EY, S4);
if crossup(Var1,var2) Then
find(1);
3)
Input : Period(26), Period1(17), Period2(4.5);
value1 = StochasticsK(Period, Period1);
value2 = StochasticsD(Period, Period1, Period2);
If value1 > value2 Then
{
If C == C[1] Then
value3 = 0.001;
Else
value3 = (C-C[1])/C[1]*100;
}
Else value3 = 0;
Find(value3);
부탁 드리겠습니다.
2020-09-07
1037
글번호 142141
답변완료
부탁좀 드리겠습니다.
변환부탁드립니다.
highest(high,기간)
lowest(low,기간)
((highest(high,기간))+(lowest(low,기간)))/2
기간 = 60일
2020-09-07
1028
글번호 142132
답변완료
질문드립니다
늘 고생많으십니다!
1. 거래대금 100억이상 AND 분봉에서 n봉중에서 가장 최고거래량 양봉이 나왔을때
검색기에 잡히게 수식 부탁드립니다.
2. 마찬가지로 거래대금 100억이상 200억이하 AND 분봉에서 N봉중에서 가장 최고거래량 양봉
나왔을때 검색기에 잡히게 수식 부탁드립니다.
그리고 몇 분봉에 적용할지는 3201에서 적용하면 되나요?
2020-09-07
1088
글번호 142127