커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1352
글번호 230811
답변완료
dayindex 진입제한
국내선물 1분봉
데이트레이딩 기준
개장 후 봉발생이 15개 생기면 진입을 못하게 하는 수식을 부탁드립니다.
input : 진입제한봉수(15);
if c>opend(0)+0.5 and 진입제한봉수 then
buy();
항상 고맙습니다.
2025-01-07
578
글번호 186264
답변완료
수식요청
수고 많으십니다
볼린저밴드(30),(2) 와 (50),(3) 그리고 RSI(14)를 이용하고 싶습니다
..## 매수 조건 ##..
반드시 캔들 1개이상이 완전히 (30),(2)하단선을 하향 이탈 후 RSI(14)가 30 이하에서만 볼밴(30),(2)를 상향 조건만족 돌파시
..## 매도 조건 ##
RSI70 이상에서만 (50),(3) 상단 톨파후 하향이탈시 50% 매도,나머지는 (30),(2) 이탈하거나 혹은 이전 양봉 몸통 길이의75% 이상 클때 양봉에 청산 수식 부탁합니다.
이전 양봉 윗꼬리길이 포함 75%이상 클때 Sell,하단 반대상황도 2회분할 Buy 추기 부탁해요
수고하세요
2024-12-16
584
글번호 186263
답변완료
질문 몇가지 부탁드리겠습니다
아래 수식은 up 구간에서의 고점 갱신 (HH) 을 나타낸 상황인데요,
(스크린샷에서 붉은수직선은 up 지점, cyan 은 down으로 표시)
var: p1(0),p2(0);
var : m1(0),m2(0),T(0),HH(0),LL(0);
var: tlup(0),tldown(0);
p1=10;
p2=60;
m1 = ma(C,P1);
m2 = ma(C,P2);
# Plot1(m1);
# plot2(m2);
if CrossUp(m1,m2) Then
{
tlup=TL_NEW(sDatE,sTimE,h*1.05,sDatE,sTimE,99999);
TL_SetColor(tlup,Red);
TL_SetSize(tlup,1);
T = 1;
hh = h;
ll = l;
}
if CrossDown(m1,m2) Then
{
tldown=TL_NEW(sDatE,sTimE,l*0.95,sDatE,sTimE,0);
TL_SetColor(tldown,Cyan);
T = -1;
}
if t ==1 Then
{
if h >hh Then
hh = h;
if l < ll Then
ll = l;
Plot13(hh,"hh",blue,Def,1);
}
질문1-1)
마지막 고점까지의 모든봉의 평균을 크로스down 지점에서 나타내고 싶습니다
질문1-2)
사이사이의 봉들은 제외하고,
갱신에 해당되는 고점들만으로 평균을 나타내고 싶습니다 (스크린샷 1)
질문2)
up 이후 마지막 고점봉의 위치가 모든 봉 갯수의 절반보다 높을때만 평균을 구하려고 합니다
예를들어서 up 과 down 사이 봉 갯수가 18개 일때 ,
마지막 고점봉이 up지점 기준으로 12번째일 경우 (전체의 절반이상) 평균을 구하고자 합니다
질문3)
두번째 스크린샷으로 올렸습니다
마지막 HH 봉을 기준으로
좌측과 (A구간) 우측(B구간- 더이상 고점 갱신이 없는 봉들)의 평균을
비교할 수 있는 수식이 가능할까요?
예로 좌측봉들의 (마지막 hh 봉까지) 평균값과 우측 (마지막 고가 봉 이후부터 ~ down 나오기까지) 의 평균을 비교해서,
좌측이 높을때만 down이후에 plot 하고자 합니다
우측 구간 평균 구할때 down봉을 포함했을때로 작성해주시고
포함하지 않을 경우도 따로 #로 작성해주시면 감사하겠습니다
다소 복잡하지만 부탁드리겠습니다
매번 감사드립니다
2024-12-16
674
글번호 186262
답변완료
종목검색식 부탁드림니다.
항상 노고에 감사드림니다.
아래의 수식을 종목검색식으로 부탁드림니다.
A=V(1) >= V(2) *5;
B=V <= V(1) * 0.25;
도=(O/avg(c,5) * 100) >=92;
D=(O/avg(c,5) * 100) <=108;
E=(c(1)/o(1)-1) * 100>=5;
A and b and 도 and D and E
2024-12-13
622
글번호 186261
러블리 님에 의해서 삭제되었습니다.
2024-12-13
0
글번호 186260
답변완료
수식추가
Inputs : Period(20), Sence(1.5), CC_DN(Yellow);
Vars:
VLineUp(0),
VLineDn(0),
HHighest(0),
LLowest(0),
JustChanged(FALSE),
VLine(0), DBN(0),T(0);
Array:
Highs[35](0),
Lows[35](0),
RRange[35](0),
UpWave[1](FALSE),
DnWave[1](FALSE);
If STime == 180000 Then
DBN = 0;
DBN = DBN + 1;
Var1 = Period;
Var2 = Var1 - 1;
Var3 = Var1 - 2;
Var5 = Sence;
Var6 = H-L;
JustChanged = FALSE;
if CurrentBar <= Var2 then begin
Highs[CurrentBar] = Close;
Lows[CurrentBar] = Close;
RRange[CurrentBar] = (H-L) /2;
end;
if CurrentBar == Var1 then begin
if Highs[Var2] >= Highs[Var3] then begin
UpWave[1] = TRUE;
HHighest = Highs[Var2];
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
#Plot1(VLineUp,"VLineUp");
end;
if Highs[Var2] < Highs[Var3] then begin
DnWave[1] = TRUE;
LLowest = Lows[Var2];
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
#Plot2(VLineDn,"VLineDn");
end;
end;
if CurrentBar > Var1 then begin
if DnWave[1] and Close > VLineDn then begin
DnWave[1] = FALSE;
UpWave[1] = TRUE;
JustChanged = TRUE;
HHighest = Close;
LLowest = 0;
end;
if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin
UpWave[1] = FALSE;
DnWave[1] = TRUE;
JustChanged = TRUE;
LLowest = Close;
HHighest = 0;
end;
if JustChanged == FALSE then begin
if Close > HHighest then
HHighest = Close;
else if Close < LLowest then
LLowest = Close;
end;
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
if UpWave[1] then
T = 1;
else if DnWave[1] then
T = -1;
end;
Input : BBP(20), MultiD(2),P(30);
var : BBmd(0),BBup(0),BBdn(0),mav(0);
BBmd = ma(C,Period);
BBup = BollBandUp(BBP,MultiD);
BBdn = BollBandDown(BBP,MultiD);
mav = ma(C,P);
if CrossDown(C,BBup) and t == -1 and c > mav Then
sell();
if crossup(C,BBdn) and t == 1 and c < mav Then
buy();
안녕하세요
위식에 추가부탁드림니다
매수 기존식 +이평60선위에서만 매수
청산 이평60선 하향돌파시
매도 기존식 + 이평60선아래서는 매도만
청산 이평60상향돌파시
2024-12-13
633
글번호 186257
답변완료
수식수정
Inputs : Period(20), Sence(1.5), CC_DN(Yellow);
Vars:
VLineUp(0),
VLineDn(0),
HHighest(0),
LLowest(0),
JustChanged(FALSE),
VLine(0), DBN(0),T(0);
Array:
Highs[35](0),
Lows[35](0),
RRange[35](0),
UpWave[1](FALSE),
DnWave[1](FALSE);
If STime == 180000 Then
DBN = 0;
DBN = DBN + 1;
Var1 = Period;
Var2 = Var1 - 1;
Var3 = Var1 - 2;
Var5 = Sence;
Var6 = H-L;
JustChanged = FALSE;
if CurrentBar <= Var2 then begin
Highs[CurrentBar] = Close;
Lows[CurrentBar] = Close;
RRange[CurrentBar] = (H-L) /2;
end;
if CurrentBar == Var1 then begin
if Highs[Var2] >= Highs[Var3] then begin
UpWave[1] = TRUE;
HHighest = Highs[Var2];
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
#Plot1(VLineUp,"VLineUp");
end;
if Highs[Var2] < Highs[Var3] then begin
DnWave[1] = TRUE;
LLowest = Lows[Var2];
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
#Plot2(VLineDn,"VLineDn");
end;
end;
if CurrentBar > Var1 then begin
if DnWave[1] and Close > VLineDn then begin
DnWave[1] = FALSE;
UpWave[1] = TRUE;
JustChanged = TRUE;
HHighest = Close;
LLowest = 0;
end;
if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin
UpWave[1] = FALSE;
DnWave[1] = TRUE;
JustChanged = TRUE;
LLowest = Close;
HHighest = 0;
end;
if JustChanged == FALSE then begin
if Close > HHighest then
HHighest = Close;
else if Close < LLowest then
LLowest = Close;
end;
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
if UpWave[1] then
T = 1;
else if DnWave[1] then
T = -1;
end;
Input : BBP(20), MultiD(2),P(30);
var : BBmd(0),BBup(0),BBdn(0),mav(0);
BBmd = ma(C,Period);
BBup = BollBandUp(BBP,MultiD);
BBdn = BollBandDown(BBP,MultiD);
mav = ma(C,P);
if CrossDown(C,BBup) and t == -1 and c > mav Then
sell();
if crossup(C,BBdn) and t == 1 and c < mav Then
buy();
안녕하세요
위식에 추가부탁드림니다
Date 2 30분봉
매수 기존식+30분봉 볼밴중심선위 양봉일때
청산 30분봉 볼중심선 하향돌파시.
매도 기존식에 30분봉 볼중심선 아래서 매도
청산 30분봉 볼밴중심선 상향돌파시.
2024-12-13
578
글번호 186256
답변완료
조금전에 올려주신 식입니다.
안녕하세요.
조금전에 올려주신 식입니다.
input : sto1(50),sto2(50),sto3(50);
var : stok(0),stod(0);
stok = stochasticsK(sto1,sto2);
stod = stochasticsD(sto1,sto2,sto3);
if MarketPosition == 0 and CrossUp(stok,stod) Then
Buy("b1",OnClose,Def,1);
if MarketPosition == 1 Then
{
if MaxEntries == 1 and CrossDown(stok,stod) == False Then
Buy("b2",AtLimit,LatestEntryPrice(0)-PriceScale*10,1);
if CrossDown(stok,stod) Then
ExitLong("bx");
}
11월 25일에 적용해 보니 추가매수가 나오지 않습니다.
수정해 주시면은 감사하겠습니다.
올린 그림중에 A 에서 b1신호가 나와서 1계약 매수한후에(335.75 에 매수)
스토캐스틱 하락 신호가 나어기전에 지수가 밀려서 334.80(19틱)까지 갔습니다.
그런데 B 지점이 335.25(10틱 하락한 지점)인데 여기서 추가 매수 1계약이 나와야 하는데
나오지 않습니다.
B 지점에서(10틱 하락한 지점) 추가 1계약더 매수한후에 C 지점(스토캐스틱 하락한지점)
2계약 모두 청산되는 식을 부탁드리겠습니다.
시스템 성능보고서를 클릭해서 거래 내역을 볼때에 C 지점에서 2계약 청산이되었다고 기록되게 수정해주시면 감사하겠습니다.
항상 감사드립니다.
2024-12-13
607
글번호 186255
답변완료
수식작성 문의드립니다
안녕하세요
추운날씨에 수고가 많으십니다.
종목 검색식에서 아래 와 같이 검색 예시-)
A그룹 (D or F or I) and B그룹 (G or H)
A그룹은 일봉 적용
B 그룹은 분봉 적용 을 해서 종목 검색식을 하고 있습니다.
1번.여기에서 위 종목에 부합하는 종목이 검색 되면 해당 종목들을 관심 종목으로
등록하고 나서
2번. 검색식의 대상을 1번 검색된 종목(관심종목)만을 대상으로 시가대비 OR 저가대비
예)10%이상 으로 적용해서 종목 검색을 하고 있습니다.
위 사항에서 A,B 그룹 검색후 관심 종목 등록없이
실시간으로 1번 . 2번을 추가 할수 있는 IF문이 있을까요?
현재 1봉전 종가에 검색되는 종목을 전부 관심 종목으로 등록해서 0봉전 예(시가OR저가대비 10%) 이상 상승인 종목을 검색하여 종목선정을 하고 있습니다.
원하는 예시 실시간 검색식
(D or F or I) and B그룹 (G or H)
위검색을 괄호로 하나로 묶고 AND (?) 검색식으로 가능 할까요?
아니면 (D or F or I) and (G or H) 해당 검색식에서 IF문에 따로 추가 해야 할까요?
수식도움 부탁드리겠습니다.
항상 감사 드리며
추운 날씨에 건강 관리 잘하시길 바랍니다.
2024-12-13
659
글번호 186254