커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7220
글번호 230811
답변완료
함수 문의드립니다
60일 이격도가 105이하 에서만 매수진입
90이상 에서만 매도진입
2018-12-04
208
글번호 124151
답변완료
지표식부탁드립니다
당일 5분봉차트에서
1) 양봉이고
2) 거래량이 당일 양분봉중 최고거래량이면 해당봉의 저가와 고가 가격
3) 음봉이고
4) 거래량이 당일 음분봉중 최고거래량이면 해당봉의 저가와 고가 가격
2018-12-04
206
글번호 124150
답변완료
60일선과 20일선
60일선과 20일선 간격이 점점 넓어지는 지표 또는 시스템식을 구하고 싶습니다
2018-12-04
228
글번호 124149
답변완료
지표문의
일마다 미결제약정 누적지표 받고 싶은데 어떻게 하면 될까요?
1분봉으로 보고 싶습니다.
2018-12-04
205
글번호 124148
답변완료
수식 문의드립니다
high-low oscillator 최고갑 의 신호 뛰울려고 해는데 검색결과 이상케 나왓어 수식수정 부탁드립니다
Input :
Period(3) ,period1(30);
Vars :
v1(0),
v2(0),
v3(0);
if (H-L) <> 0 then
v1 = ( H-C[1]) / (H-L);
Else
v1 = 0.01;
v3 = Highest (v1,period1);
if v3 Then
begin
Plot1( c, "buy" );
end
else
NoPlot(1);
2018-12-04
229
글번호 124147
답변완료
종목검색식 부탁함니다.
안녕하십니까!
아래와 같은 조건으로 종목검색을 하고 합니다.
검색조건
- 일봉 60일선과 주봉 60일선 위
- 20과 60선의 이격도는 30% 이내(일봉 및 주봉)
- 60선의 우상향 추세(일봉 및 주봉)
종목검색식으로 어떻게 종목검색을 해야 하는지 절차를 알려주세요.
감사합니다.
2018-12-04
229
글번호 124146
답변완료
문의드립니다
문의드립니다.
분봉에서 일봉 주봉 월봉의 price channel 과 볼린저밴드를 불러올때
수식 cnt 와 counter 사용범위가 궁금합니다.
분봉의 pc 는 cnt 볼린저밴드는 counter 를 사용하고
일,주,월의 pc 는 dcnt wcnt mcnt 볼린저밴드는 dCounter wcounter mcounter
Top dTop wTop mTop 에서는 cnt 를 맞게 사용하고
있는지 알려주시기 바랍니다.
분봉의 pc 에서 cnt 와 counter의 차이점이 무엇인지 궁금합니다
감사합니다.
2018-12-04
337
글번호 124145
답변완료
확인부탁드립니다!
안녕하세요!
아래는 어제 만들어 주신 수식인데요!
월물(콜과 풋의 당월 근월물 첫날 저가와 고가)가 표현이 안되는것 같습니다!
적용을 해보니 콜은 적용이 되면 풋은 0으로 선 구현이 됩니다!
다시 한번 수식 점검을 부탁드립니다!
감사합니다!
------------------------------------------------------
var : nday1(0,data1),week1(0,data1),Exdate1(false,data1);
var : H1(0,data1),L1(0,data1),D1(0,data1),V11(0,data1),V12(0,data1);
var : nday2(0,data2),week2(0,data2),Exdate2(false,data2);
var : H2(0,data2),L2(0,data2),D2(0,data2),V21(0,data2),V22(0,data2);
nday1 = data1(date - int(date/100)*100);
week1 = data1(DayOfWeek(date));
if nday1 >= 8 and nday1 <= 14 and week1 == 4 then
Exdate1 = true;
Else
Exdate1 = false;
if data1(bdate != bdate[1] and Exdate1 == false and Exdate1[1] == true) Then
{
D1 = data1(bdate);
H1 = data1(H);
L1 = data1(L);
}
if sdate == D1 Then
{
v11 = data1(daylow);
v12 = data1(DayHigh);
}
if data1(H) > H1 Then
H1 = data1(H);
if data1(L) < L1 Then
L1 = data1(L);
plot1(data1(DayHigh(1)),"전일고가");
plot2(data1(daylow(1)),"전일저가");
plot3(data1(DayOpen(0)),"전일시가");
if H1 > 0 and L1 > 0 then
{
plot4(H1,"월고");
plot5(L1,"월저");
}
plot6(v11,"월물첫날저가");
plot7(v12,"월물첫날고가");
nday2 = data2(date - int(date/100)*100);
week2 = data2(DayOfWeek(date));
if nday2 >= 8 and nday2 <= 14 and week2 == 4 then
Exdate2 = true;
Else
Exdate2 = false;
if data2(bdate != bdate[1] and Exdate2 == false and Exdate2[1] == true) Then
{
D2 = data2(bdate);
H2 = data2(H);
L2 = data2(L);
}
if sdate == D2 Then
{
v21 = data2(lowD(0));
v22 = data2(HighD(0));
}
if data2(H) > H2 Then
H2 = data2(H);
if data2(L) < L2 Then
L2 = data2(L);
plot11(data2(HighD(1)),"전일고가");
plot12(data2(lowD(1)),"전일저가");
plot13(data2(OpenD(0)),"전일시가");
if H2 > 0 and L2 > 0 then
{
plot14(H2,"월고");
plot15(L2,"월저");
}
plot16(v21,"월물첫날저가");
plot17(v22,"월물첫날고가");
2018-12-04
222
글번호 124144
답변완료
부탁드립니다.
항상 감사드립니다.
매구 가능 조건 후 (BuyEntry == true)
mav1 > mav2 and mav3[1] < mav3 상태이면서
U2 == 1 and U2!=U2[1] 이면 매수하는 식으로 해보았습니다.
매구 가능 조건 후 (BuyEntry == true)
mav1 > mav2 and mav3[1] < mav3 상태가 풀리면
U2 == 1 and U2!=U2[1] 이어도 매수하지 않고 싶습니다.
아래식은 매수 가능 조건후 mav1 > mav2 and mav3[1] < mav3 상태가 풀리더라도
한참뒤어 mav1 > mav2 and mav3[1] < mav3 와 U2 == 1 and U2!=U2[1] 가 만족되면
매수가 들어갑니다.
부탁드립니다.
1식은 제가 구성해 본 식이며, 2식은 작성해 주신 식입니다.
두개 모두 동일합니다.
1.
Input : Period(5), Period1(5);
Input : P1(30), P2(60), P3(300);
var : FstK(0),FstD(0);
var : mav1(0), mav2(0), mav3(0);
var : t(0), t1(0), tx(0), U2(0);
var : BH(0),SL(0),HE(0),LE(0);
var : BuyEntry(false);
FstK = FastK(Period);
FstD = FastD(Period,Period1);
mav1 = wma(C, P1);
mav2 = wma(C, P2);
mav3 = wma(c, P3);
if FstK[1] < FstK Then #FstK 상승
U2 = 1;
if FstK[1] > FstK Then #FstK 하강
U2 = -1;
if mav1 > mav2 and mav3[1] < mav3 then
{
t = 1; #t는1 mav1>mav2 & mav3 상향구간 t값은 t1에 저장
t1 = t[1];
}
# t가 1인 상태에서 Fstk가 80을 CrossDown 하면 t = 2로 변경 ● 출력
if t == 1 and Crossdown(FstD, 80) Then
{
t = 2; #t는 2로 변경
#●출력
tx = Text_New(sdate,stime,H+PriceScale,"●"+NumToStr(C,2));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,RED);
BuyEntry = true; //매수가능
}
# mav1>mav2 & mav3 상향구간
# Crossdown(Fastk, 80) t는 2까지 기록했고
# mav1>mav2 & mav3 상향구간 인 상태이고 FastK가 다시 상승하면 매수
if BuyEntry == true
and mav1 > mav2 and mav3[1] < mav3
and U2 == 1 and U2!=U2[1] then
BuyEntry = false; # false로 초기화
buy("B3");
}
if MarketPosition == 1 Then
{
BH = highest(H,BarsSinceEntry);
if MaxEntries == 1 Then
HE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then
HE = LatestEntryPrice(0);
SetStopProfittarget(0.4);
ExitLong("B손절",AtStop,HE-PriceScale*80);
}
2.
Input : Period(5), Period1(5);
Input : P1(30), P2(60), P3(300);
var : FstK(0),FstD(0);
var : mav1(0), mav2(0), mav3(0);
var : t(0), t1(0), tx(0), U2(0);
var : BH(0),SL(0),HE(0),LE(0);
var : BuyEntry(false);
FstK = FastK(Period);
FstD = FastD(Period,Period1);
mav1 = wma(C, P1);
mav2 = wma(C, P2);
mav3 = wma(c, P3);
if FstK[1] < FstK Then #FstK 상승
U2 = 1;
if FstK[1] > FstK Then #FstK 하강
U2 = -1;
if mav1 > mav2 and mav3[1] < mav3 then
{
t = 1; #t는1 mav1>mav2 & mav3 상향구간 t값은 t1에 저장
t1 = t[1];
}
# t가 1인 상태에서 Fstk가 80을 CrossDown 하면 t = 2로 변경 ● 출력
if t == 1 and Crossdown(FstD, 80) Then
{
t = 2; #t는 2로 변경
#●출력
tx = Text_New(sdate,stime,H+PriceScale,"●"+NumToStr(C,2));
Text_SetStyle(tx,2,2);
Text_SetColor(tx,RED);
BuyEntry = true; //매수가능
}
# mav1>mav2 & mav3 상향구간
# Crossdown(Fastk, 80) t는 2까지 기록했고
# mav1>mav2 & mav3 상향구간 인 상태이고 FastK가 다시 상승하면 매수
if t > 0 and t1 >= 2
and U2 == 1 and U2!=U2[1] and
BuyEntry == true Then 매수가능일때만 매수
{
BuyEntry = false;# false로 초기화
buy("B3");
}
if MarketPosition == 1 Then
{
BH = highest(H,BarsSinceEntry);
if MaxEntries == 1 Then
HE = LatestEntryPrice(0);
if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then
HE = LatestEntryPrice(0);
SetStopProfittarget(0.4);
ExitLong("B손절",AtStop,HE-PriceScale*80);
}
2018-12-04
211
글번호 124143