커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8208
글번호 230811
회원 님에 의해서 삭제되었습니다.
2013-11-14
0
글번호 69466
답변완료
수식문의요
안녕하세요
이식에서 20분봉에 적용하려고하는데요
20분봉에서 60선 위에 주가가 위치해 있을때만 매수발생하는 식 가르쳐 만즐어주세요
수고하세요~~
그리고 60선을 다른선으로 바꾸려면 어떻게 해야하는지도 가르쳐주세요 60선을 다른선으로 적용해보려고요
input : 투자금액(150000);
Var : Body(0),HighBody(0),LowBody(0),Height(0),UpTail(0),DnTail(0),Long(False);
var : Vol(0),entrycond(false);
if date != date[1] Then
entrycond = false;
if CodeCategoryEx == 11 and BasePrice < 50000 Then
vol = int(int((투자금액)/C)/10)*10;
Else
vol = int((투자금액)/C);
Body = Abs(C-O);
HighBody = Max(C,O);
LowBody = Min(C,O);
Height = H-L;
UpTail = H-Max(C,O);
DnTail = Min(C,O)-L;
DnTail = Min(O,C) - L;
Uptail = H - Max(O,C);
Height = H - L;
body= Abs(O-C);
highbody = Max(O,C);
LowBody = Min(O,C);
If Abs(Open-Close) > ma(Abs(Open-Close),10)*2 Then
Long = True;
Else
Long = False;
If UpTail == 0 and DnTail == 0 Then
Condition1 = True;
Else
Condition1 = False;
If entrycond == false and C < Ma(C,10) and DnTail < Height*0.1 and C == O and Height > Ma(Height,10) then{
buy("a1",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C < Ma(C,10) and (Uptail < Height * 0.1) and C == O and (Height > Ma(Height,10)) then{
buy("a2",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[1] < Ma(C,10)[1] and C[1] < O[1] and Long[1] == True
and C > O and Long and O < L[1] and C >= (O[1]+C[1])/2 and C < O[1] then{
buy("a3",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and (C[2] >= Ma(C,10)[2] and C[2] < O[2] and C[1] < O[1] and C < O) and
(O[1] > Min(O,C)[2] and O[1] < Max(O,C)[2]) and
(O > Min(O,C)[1] and O < Max(O,C)[1]) and
(C[2] > C[1] and C[1] > C[0]) and
(L[2] < L[1] and L[1]< L[0]) then{
buy("a4",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[2] < Ma(C,10)[2] and C[2] < O[2] and C[1] > O[1] and C < O and
O[1] > C[2] and O[1] == L[1] and
O > Max(H[1],H[2]) and C[2] == C[0] then{
buy("a6",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and (C[4] < Ma(C,10)[4] and C[4] < O[4] and C[3] < O[3] and C[2] < O[2]) and
(O[4] > O[3] and O[3] > O[2]) and
(C[4] > C[3] and C[3] > C[2]) and
(C[1] < O[1] and H[1] - MaxList(O,C)[1] > 0) and
(H[1] < O[3] and C[2] > C[1]) and
Close > Open and (O > O[1] and C > MaxList(H[1],H[2])) then{
buy("a7",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and (C[2] < Ma(C,10)[2] and Long[2] == True and C[2] < O[2]) and
(C[1] == O[1] and Max(O,C)[1] < Min(O,C)[2])and
(C > O and Min(O,C) > Max(O,C)[1])and (C > C[2]) then{
buy("a8",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and (C[1] < O[1] and Long[1] == True and Condition1[1] == True ) and
(Long == True and C > O and Condition1 == True ) and (L > H[1]) then{
buy("a9",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[1] < Ma(C,10)[1] and C[1] < O[1] and body[1] > Ma(body[1],10)*2 and
C > O and
Abs(C-C[1]) < Ma(Height,10)*0.1 then{
buy("a10",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C < Ma(C,10) and body > Ma(body,10)*2 and C > O and
O == L and Uptail > 0 and Uptail < Height*0.1 then{
buy("a11",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[2] < Ma(C,10)[2] and C[2] == O[2] and C[1] == O[1] and C == O and
HighBody[1]< LowBody[2] and HighBody[1] < LowBody[0] then{
buy("a12",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[1] < Ma(C,10)[1] and C[1] < O[1] and body[1] > Ma(body[1],10)*2 and
C == O and Highbody < Highbody[1] and Lowbody > Lowbody[1] then{
buy("a13",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[1] < Ma(C,10)[1] and C[1] < O[1] and body[1] > Ma(body[1],10)*2
and C > O and Highbody < Highbody[1] and Lowbody > Lowbody[1] then{
buy("a14",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[2] < Ma(C,10)[2] and C[2] < O[2] and body[2] > Ma(body[2],10)*2 and
C[1] > O[1] and Highbody[1] < Highbody[2] and Lowbody[1] > Lowbody[2] and
C > O and C > C[1] then{
buy("a15",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[1] < Ma(c,10)[1] and C[1] < O[1] and
C > O and Body > Ma(Body,10)*2 and
Highbody > Highbody[1] and Lowbody < Lowbody[1] then{
buy("a16",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[2] < Ma(C,10)[2] and C[2] < O[2] and
C[1] > O[1] and Body[1] > Ma(Body[1],10)*2 and
Highbody[1] > Highbody[2] and Lowbody[1] < Lowbody[2] and
C > O and C > C[1] then{
buy("a17",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and (C[4] < Ma(c,10)[4] and Body[4] > Ma(Body,10)[4]*2 and C[4] < O[4]) and
(C[3] < O[3] and C[1] < O[1]) and
(Body > Ma(Body,10)*2 and C > O) and
(O[3] > HighBody[2] and HighBody[2] > O[1]) and
(C[3] > LowBody[2] and LowBody[2] > C[1]) and
(C >= O[1] and C > O[3] and C < C[4]) then{
buy("a18",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[2] < Ma(C,10)[2] and Body[2] > Ma(Body,10)[2]*2 and C[2] < O[2] and
C[1] == O[1] and HighBody[1]<LowBody[2] and
C > O and C > C[2] then{
buy("a19",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[2] < Ma(C,10)[2] and Body[2] > Ma(Body,10)[2]*2 and C[2] < O[2] and
Body[1] < Ma(Body,10)[1]*0.5 and HighBody[1] < LowBody[2] and
C > O and C > C[2] then{
buy("a20",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[3] < Ma(C,10)[3] and
Body[3] > Ma(Body,10)[3]*2 and C[3] < O[3] and
Body[2] > Ma(Body,10)[2]*2 and C[2] < O[2] and
O[3] == H[3] and C[3] == L[3] and
O[2] == H[2] and C[2] == L[2] and
O[1] < Min(O,C)[2] and H[1] > C[2] and UpTail[1] > Height*0.5 and
O > H[1] and C < L[1] then{
buy("a21",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C < Ma(C,10) and DnTail < Height*0.1 and
UpTail > Body*2 and
Height > Ma(Height,10) and
C != O then{
buy("a22",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[2] < Ma(C,10)[2] and C[2] > O[2] and C[1] > O[1] and C > O and
O[1] >= LowBody[2] and O[1]<= HighBody[2] and O <= HighBody[1] and
C[2] <= C[1] and C[1] <= C then{
buy("a23",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C[1] < Ma(C,10)[1] and C[1] < O[1] and Body[1] > Ma(Body,10)[1]*2 and
C < O and Highbody < Highbody[1] and Lowbody > Lowbody[1] then{
buy("a24",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and C < Ma(C,10) and UpTail < Height*0.1 and DnTail > Body*2 and
Height > Ma(Height,10) and C != O then{
buy("a26",OnClose,def,vol);
entrycond = true;
}
If entrycond == false and (C[2] < Ma(C,10)[2] and Body[2] > Ma(Body,10)[2]*2 and C[2] < O[2]) and
(C[1] < O[1] and C > O and Highbody[1] < Highbody[2] and Lowbody[1] > Lowbody[2]) and
(L[1] < L[2] or L[1] < Min(L[2],L[3],L[4])) and
(L[1] < O and C[1] > C) then{
buy("a27",OnClose,def,vol);
entrycond = true;
}
SetStopProfittarget(3,PercentStop);
if CurrentEntries >= 2 Then
exitlong("매도2",atlimit,AvgEntryPrice*1.02);
v
2013-11-14
282
글번호 69465
답변완료
수식으로 부탁드립니다.
이동평균선이 골든 크로스 된 상태에서 스톡캐스틱이 25이하일때 매수
이동평균선이 데드 크로스 된 상태에서 스톡캐스틱이 75이상일때 매도
2013-11-14
173
글번호 69464
답변완료
수식 문의 드립니다.
안녕하세요? 항상 친절한 답변에 감사드립니다.
아래와 같은 수식에 "최초에 1,000,000원으로 진입하되 2번 연속 손실이 나면 2배로 투입금액을 증가시키되 최대투자금액은 8,000,0000원 이다"라는 조건을 삽입하고 싶습니다.
if dayindex == 1 Then {
if data2(bids) > data2(asks) then
buy();
if data2(bids) < data2(asks) Then
sell();
}
2013-11-13
257
글번호 69463
답변완료
수식문의드립니다.
안녕하세요..
날이 많이 차가워졌습니다...
감기조심하세요.
1.옵션의 가격이(콜,풋) 서로 교차되는 시점에서
동일 가격 동일수량많큼 매수입니다.
1.옵션의 가격대는 0.3~0.04까지입니다..
1.매수수량은 1계약입니다..
1.진입후 수익이 1P이상 발생시...최고가대비 0.5p 하락하면 청산입니다..
여기서 최초 1회는 무시하고 다음 2회 발생시부터 청산하는식 부탁드립니다..
늘 감사드립니다...
2013-11-13
187
글번호 69462
답변완료
수식문의
아래식은 분봉에서일봉이평을 표시한건데요 이식을이용해서 30분의 5이평을 2분봉에 볼수있게끔 부탁합니다( 전에올려주신 30분의 5이평 수식이 안맞더라구요)그리고참조종목 30분챠트를띄우고 사용할겁니다
input : P1(5),N(10);
var : sumV(0), maV(0), count(0);
sumV = 0;
for count = 0 to P1-1 {
sumV = sumV+DayClose(count);
}
maV = sumV / P1;
if C <= mav+PriceScale*N and C >= mav-PriceScale*N Then{
plot1(mav,"분봉에서일봉이평");
2013-11-13
189
글번호 69461
답변완료
문의 드립니다.
안녕하십니까!
var1 = 매 10분동안의 upvol 거래량의 누적합;
var2 = 매 10분동안의 downvol 거래량의 누적합;
plot1(var1);
plot2(var2);
상기와 같이 하고자 합니다.
감사합니다.
2013-11-13
168
글번호 69459
백진강 님에 의해서 삭제되었습니다.
2013-11-13
0
글번호 69456
답변완료
안녕하세요~
안녕하세요!
33403 질문과 관련하여 아래식에서 도지(십자봉,시종가 같은봉) 아니면이 아니고,도지일떄 아예 봉으로 인정안하는 경우, 말 그대로 제외시키면 어떻게 되나요.
전봉 전전봉이 양봉 음봉만 캔들로 인정하고
도지는 캔들로 인정 안할 경우를 말씀 드립니다 진행중 도지는 삭제 되겠죠?
var : MaxCO(0);
var : minCO(0);
if (C[1] > O[1] and C < O[1]) or (C[1] < O[1] and C < C[1]) Then{
value1 = 0;
var1 = 0;
var2 = 0;
var3 = 0;
}
if value1 == 0 and C > C[1] Then{
var1 = C;
value1 = 1;
2013-11-13
200
글번호 69452