커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1630
글번호 230811
답변완료
수식부탁드립니다
수식부탁드립니다.
두개의 매수조건중 첫번째 매수조건이 장중 한번도 없을때만 진입하는 수식 부탁드립니다.
2022-11-14
744
글번호 163759
답변완료
문의드립니다.
다음 수식의 종목 검색식을 문의드립니다.
LR = LRS(30);
CrossUp(LR, 0)
and
MFI(30)<50
2022-11-13
805
글번호 163758
답변완료
지표
*항상감사합니다.
수식첨삭부탁드립니다.
1]아이콘표시
2]타주기에도 표시부탁드립니다.
3]정한데이타와 오늘시가의 수식부탁드립니다.
ex)
기존수식)Plot6(O2,"시2")
Plot7(H2,"고2")
Plot8(L2,"저2")
Plot9((H2+L2)/2,"중2")
Plot10(C2,"종2")
첨삭수식)
O2+오늘시가/2
H2+오늘시가/2
L2+오늘시가/2
(H2+L2)/2+오늘시가/2
C2+오늘시가/2
*varO2에 오늘시가를 나누워 보았읍니다
4]강조수식입니다.
2022년10월9일
2022년11월5일
2022년12월15일 등
.
.
.
.
지정한 날짜의 캔들bar가 색칠되는 수식 부탁드립니다.
(*bar위에 아이콘 표시도 부탁드립니다.)
만들어주신 이전수식]
input : 시작일1(20210102),종료일1(20210230);
input : 시작일2(20210228),종료일2(20210330);
var : O1(0),H1(0),L1(0),C1(0);
var : O2(0),H2(0),L2(0),C2(0);
if sDate != sDate[1] and sDate >= 시작일1 and sDate[1] < 시작일1 Then
{
O1 = O;
H1 = h;
L1 = L;
}
if O1 > 0 then
{
if sDate <= 종료일1 Then
{
if H > H1 Then
H1 = H;
if L < L1 Then
L1 = L;
C1 = C;
}
Plot1(O1,"시1");
Plot2(H1,"고1");
Plot3(L1,"저1");
Plot4((H1+L1)/2,"중1");
Plot5(C1,"종1");
}
if sDate != sDate[1] and sDate >= 시작일2 and sDate[1] < 시작일2 Then
{
O2 = O;
H2 = h;
L2 = L;
}
if O2 > 0 then
{
if sDate <= 종료일2 Then
{
if H > H2 Then
H2 = H;
if L < L2 Then
L2 = L;
C2 = C;
}
Plot6(O2,"시2");
Plot7(H2,"고2");
Plot8(L2,"저2");
Plot9((H2+L2)/2,"중2");
Plot10(C2,"종2");
}
2022-11-13
812
글번호 163757
답변완료
시스템수식
수식부탁드림니다.
일봉으로
11월첫시가매수
11월마지막종가매도
12월첫시가매수
12월마지막종가매도
01월첫시가매수
01월마지막종가매도
매년3개월만 반복 매매합니다.
위수식부탁드림니다.
감사합니다
2022-11-13
862
글번호 163756
답변완료
문의드립니다.
수고많으십니다.
장대양봉이나 장대음봉이 나올 때 꼭지에서 매수(매도)신호 나오는 것을 막기위해
문의를 통해 아래 수식을 적용해보니 30틱 이하 양봉에서도 매수1 이 나옵니다.
그리고 장대봉에서 나오지 않더라도 그 다음봉 이후 10틱을 넘어야 신호가 나와야 하는데
이또한 적용이 되지 않습니다.
이부분 세밀하게 한번 봐주시면 감사하겠습니다.
var : NN(30),MM(10);
if 매수조건 then{
if (C < O+PriceScale*NN) Then
Buy("매수1");
Else
Buy("매수2",AtStop,C+PriceScale*MM);
}
30틱 이상 양봉시 매수하지 말라는 조건에 걸려 해당봉에서는 매수신호가 나오지 않았으나
그 다음봉에서 원래의 매수조건을 만족하면 그다음봉 이후 10틱이상시 매수라는 조건을 만족하지않고도 신호가 나오는듯 보입니다.
★ 제가 원하는 진입로직을 재정리해서 문의드리고자 합니다 ★
30틱 이상 양봉일 때 매수조건을 만족하더라도 신호가 안나왔다가 이후 "5개봉 이내에서" 원래 매수조건을 만족하고 신호가 나올려고 했던 봉의 종가 기준으로 10틱 이상 상승하면 즉시 신호가 나오는 식입니다.
늘 노고에 감사드립니다~
2022-11-13
730
글번호 163755
답변완료
문의 드립니다.~~~~
CNE 거래시
아래식에서
매매시작시간과 종료시간을 설정하고 싶은데
도움 바랍니다.
input : N(10);
if NextBarSdate != sDate Then
{
      Buy("b1",AtStop,NextBarOpen+PriceScale*n);
      Sell("s1",AtStop,NextBarOpen-PriceScale*n);
}
Else
{
      if MarketPosition <= 0 or (MarketPosition == 1 and MaxEntries < 3 and h < DayOpen+PriceScale*10) Then
            Buy("b2",AtStop,DayOpen+PriceScale*n);
      if MarketPosition >= 0 or (MarketPosition == -1 and MaxEntries < 3 and L > DayOpen-PriceScale*10) Then
            Sell("s2",AtStop,DayOpen-PriceScale*n);
}
2022-11-13
922
글번호 163754
답변완료
문의드립니다.
30분봉기준입니다.
일봉기준 전일부터 10일내 전일종가 대비 29% 상승 ==>기준봉
당일 저가가 기준봉 중심선(전종+당일종가)/2 하단이고 스톡케스틱 (80,5)가 10 이하
1. 검색식
2. 지표식은 당일 조건에 만족하는 캔들의 저가선을 장마감까지 그어지게 부탁드립니다.
감사합니다.
2022-11-13
727
글번호 163753
러블리 님에 의해서 삭제되었습니다.
2022-11-13
9
글번호 163752
답변완료
수식 문의 드립니다
input : starttime(153000),endtime(630000),n(30);
var : Tcond(false),hh(0),h1(0),ll(0),l1(0);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
hh = h;
ll = l;
h1 = hh[1];
l1 = ll[1];
}
if h > hh Then
hh = h;
if l < ll Then
ll = l;
if tcond == true and h1 > 0 and l1 > 0 then
{
if crossup(C,l1+(h1-l1)*1.236+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*1.000+PriceScale*n) Then
buy();
if crossup(C,l1-(h1-l1)*0.618+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.500+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.236+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.000+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*-0.236+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*-0.382+PriceScale*n) Then
buy();
if CrossDown(C,l1+(h1-l1)*1.236-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*1.000-PriceScale*n) Then
sell();
if CrossDown(C,l1-(h1-l1)*0.618-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*0.500-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*0.236-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*-0.000-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*-0.236-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*-0.382-PriceScale*n) Then
sell();
}
if MarketPosition == 1 then
{
if crossup(c,h1+PriceScale*1) Then
exitlong();
if CrossDown(c,l1-PriceScale*1) Then
exitlong();
}
if MarketPosition == -1 then
{
if crossup(c,h1+PriceScale*1) Then
ExitShort();
if CrossDown(c,l1-PriceScale*1) Then
ExitShort();
}
--------------------------
위 수식어의 매매시간이 15:30~ 아침 06:30 까지인데 아침 06:30 에 오버없는
강제청산을 추가를 부탁드립니다.
한번 부탁드린적 있었는데 강제청산이 없어서 다시 올려봅니다.
아래는 청산이 안되었던 79482번의 답변입니다.
input : starttime(153000),endtime(630000),n(30);
var : Tcond(false),hh(0),h1(0),ll(0),l1(0);
if Bdate != Bdate[1] Then
SetStopEndofday(630000);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
SetStopEndofday(0);
Tcond = true;
hh = h;
ll = l;
h1 = hh[1];
l1 = ll[1];
}
if h > hh Then
hh = h;
if l < ll Then
ll = l;
if tcond == true and h1 > 0 and l1 > 0 then
{
if crossup(C,l1+(h1-l1)*1.236+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*1.000+PriceScale*n) Then
buy();
if crossup(C,l1-(h1-l1)*0.618+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.500+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.236+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*0.000+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*-0.236+PriceScale*n) Then
buy();
if crossup(C,l1+(h1-l1)*-0.382+PriceScale*n) Then
buy();
if CrossDown(C,l1+(h1-l1)*1.236-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*1.000-PriceScale*n) Then
sell();
if CrossDown(C,l1-(h1-l1)*0.618-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*0.500-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*0.236-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*-0.000-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*-0.236-PriceScale*n) Then
sell();
if CrossDown(C,l1+(h1-l1)*-0.382-PriceScale*n) Then
sell();
}
if MarketPosition == 1 then
{
if crossup(c,h1+PriceScale*1) Then
exitlong();
if CrossDown(c,l1-PriceScale*1) Then
exitlong();
}
if MarketPosition == -1 then
{
if crossup(c,h1+PriceScale*1) Then
ExitShort();
if CrossDown(c,l1-PriceScale*1) Then
ExitShort();
}
미리 감사드립니다.
2022-11-14
897
글번호 163751