커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7537
글번호 230811
답변완료
수식문의 드립니다
봉이완성된 종가가 특정가격대(EX. 선물250~250.1) 이상일때 진입
봉이완성된 종가가 특정가격대에 도달하면 청산
봉이완성된 종가가 특정가격대 이하일때 손절
부탁드립니다
2013-09-17
138
글번호 67646
회원 님에 의해서 삭제되었습니다.
2013-09-17
6
글번호 67636
답변완료
수식 문의
추석입니다.
항상 감사드리며 아래와 같은 수식을 부탁드리고 싶습니다.
----------
00시 00분 부터 ~~ AA시 AA분 까지의
최고값, 최저값, 중간값(최고+최저/2) 을
선으로 긋는 수식을 얻고 싶습니다.
AA시 AA분이 지나면 더이상 선을 긋지 않습니다.
다음날 00시 00분이 되면 다시 선을 그어 줍니다.
--------------
감사합니다.
2013-09-17
178
글번호 67629
2wnwn 님에 의해서 삭제되었습니다.
2013-09-17
11
글번호 67628
답변완료
수식 질문입니다
당일 최고가 대비 1피 하락시 매도
당일 최저가 대비 1피 상승시 매수
2013-09-17
141
글번호 67627
답변완료
질문입니다.
1.주식 분봉에서 17봉최고가에서 두틱 아래의 값으로 청산하는 수식부탁드립니다.
2.매수주문에서 시스템 설정이 아닌 주문식에서 매도호가+1 또는 매도호가+2로 주문셋팅 가능한가요? 또한 매수청산 시스템식에서 매수호가+1로 또는 매수호가+2로 주문셋팅이 가능한지요?
2013-09-17
137
글번호 67626
답변완료
간단한 수식문의입니다
20이평 아래에서 1000계약 이상 일목구름대 하단돌파시 매도
20이평 위에서 1000계약 이상 일목구름대 상당돌파시 매수
2013-09-17
139
글번호 67625
답변완료
다시 봐주세요.
아래식에 추가해 주세요. 감사합니다.
<매수 금지>
-당일 일봉의 시초가가 5일(일봉) 이동평균선 이격 100 이하이면 매수 금지.
<청산>
-5일(일봉)이평선 이격 99이하 이고 매수가 대비 -2% 이하까지 하락하면, 매수가를 상향돌파(초과)시 다음 첫봉에 청산
-매수가 대비 -3.5% 이하까지 하락하였다면, 저점대비 80%까지 상승하면, 다음 첫봉에 청산
-매수가 대비 +4% 이상까지 상승하였다면, 상승고점대비 50%이하 까지 하락하면, 다음 첫봉에 청산
==========================================
input : P(5);
var : cnt(0),sum(0),sum1(0),mav(0),mav1(0),dis(0),dis1(0),daycnt(0),PredayVol(0);
Var : Pivot(0),R1(0),R2(0),S1(0),S2(0);
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
if date != date[1] Then
Daycnt = daycnt+1;
sum = 0;
sum1 = 0;
for cnt = 0 to P-1{
sum = sum+DayClose(cnt);
sum1 = sum1+DayClose(cnt+1);
}
mav = sum/P;
mav1 = sum1/P;
dis = c/mav*100;
dis1 = DayClose(1)/mav1*100;
for cnt = 1 to 1000 {
if stime == stime[cnt] and sdate != sdate[cnt] then{
PredayVol = DayVolume[cnt];
cnt = 1001;
}
}
if dayopen <= DayClose(1)*1.05 and
dayhigh <= dayopen*1.05 and
dis1 >= 103 and
ExitDate(1) != sdate and
DayVolume < PredayVol*1 Then{
if stime >= 90000 and stime < 100000 and dis >= 100.5 and dis < 102.0 Then
buy("b1",AtMarket);
if stime >= 100000 and stime < 110000 and dis >= 100.5 and dis < 102.5 Then
buy("b2",AtMarket);
if stime >= 110000 and stime < 120000 and dis >= 100.5 and dis < 103.0 Then
buy("b3",AtMarket);
if stime >= 120000 and stime < 130000 and dis >= 100.5 and dis < 103.5 Then
buy("b4",AtMarket);
if stime >= 130000 and stime < 140000 and dis >= 100.5 and dis < 104.0 Then
buy("b5",AtMarket);
if stime >= 140000 and stime < 144800 and dis >= 100.5 and dis < 104.5 Then
buy("b6",AtMarket);
if stime >= 143000 and stime < 144800 and c < Pivot and dis >= 100.5 and dis < 105.0 Then
buy("b7",AtMarket);
}
if MarketPosition == 1 Then{
if C >= EntryPrice*1.08 Then
exitlong("bx1",AtMarket);
if C <= EntryPrice*0.945 Then
exitlong("bx2",AtMarket);
if sdate == EntryDate and C >= EntryPrice*1.045 then
exitlong("bx3",AtMarket);
if sdate > EntryDate and daycnt == daycnt[BarsSinceEntry]+2 and stime >= 94000 Then
exitlong("bx4",AtMarket);
}
2013-09-17
152
글번호 67624
답변완료
지표 문의 드립니다.
한꺼번에 여쭤봐야 하는데 번거롭게 해드려 죄송합니다.
ADX에서 DIMINUS값의 DIMINUS값을 출력하는 지표 문의드립니다.
즉 주가의 DIMINUS값을 다시 DIMINUS에 넣어서 나오는 값을 출력하는 겁니다.
사용자함수 보고 넣으려해도 어렵습니다.
------
( diplus 출력문입니다.)
안녕하세요
예스스탁입니다.
식을 완전히 풀어서 작성하셔야 합니다.
아래식 참고하시기 바랍니다.
Inputs: Length(14) ;
Var : cnt1(0), TRange1(0), MyRange1(0), PlusDM1141(0), PlusDM1(0), MinusDM1(0),DIP1(0);
Var : cnt2(0), TRange2(0), MyRange2(0), PlusDM2142(0), PlusDM2(0), MinusDM2(0),DIP2(0);
var : TH(0),TL(0),TR(0),idx(0);
If index == Length+2 Then {
MyRange1 = Length;
DIP1 = 0;
PlusDM1141 = 0;
TRange1 = 0;
For cnt1 = 0 To MyRange1 - 1 {
If High[cnt1] - High[cnt1+1] < 0 Then
PlusDM1 = 0;
Else
PlusDM1 = High[cnt1] - High[cnt1+1];
If Low[cnt1+1] - Low[cnt1] < 0 Then
MinusDM1 = 0;
Else
MinusDM1 = Low[cnt1+1] - Low[cnt1];
If MinusDM1 >= PlusDM1 Then
PlusDM1 = 0;
TRange1 = TRange1 + TrueRange[cnt1];
PlusDM1141 = PlusDM1141 + PlusDM1;
}
If TRange1 <> 0 Then
DIP1 = 100 * PlusDM1141 / TRange1;
Else
DIP1 = 0 ;
}
Else If index > Length+2 Then {
If High[0] - High[1] < 0 Then
PlusDM1 = 0;
Else
PlusDM1 = High[0] - High[1];
If Low [1] - Low [0] < 0 Then
MinusDM1 = 0;
Else
MinusDM1 = Low[1] - Low[0];
If MinusDM1 >= PlusDM1 Then
PlusDM1 = 0;
If MyRange1 > 0 Then {
TRange1 = TRange1[1] - (TRange1[1] / MyRange1) + TrueRange;
PlusDM1141 = PlusDM1141[1] - (PlusDM1141[1] / MyRange1) + PlusDM1;
}
If TRange1 <> 0 Then
DIP1 = 100 * PlusDM1141 / TRange1;
Else
DIP1 = 0 ;
}
if DIP1 > 0 Then
idx = idx+1;
if idx >= 2 Then{
If DIP1[1] > DIP1 then
TH = DIP1[1];
else
TH = DIP1;
If DIP1[1] < DIP1 then
TL = DIP1[1];
else
TL = DIP1;
TR = TH-TL;
}
If idx == Length+2 Then {
MyRange2 = Length;
DIP2 = 0;
PlusDM2142 = 0;
TRange2 = 0;
For cnt2 = 0 To MyRange2 - 1 {
If DIP1[cnt2] - DIP1[cnt2+1] < 0 Then
PlusDM2 = 0;
Else
PlusDM2 = DIP1[cnt2] - DIP1[cnt2+1];
If DIP1[cnt2+1] - DIP1[cnt2] < 0 Then
MinusDM2 = 0;
Else
MinusDM2 = DIP1[cnt2+1] - DIP1[cnt2];
If MinusDM2 >= PlusDM2 Then
PlusDM2 = 0;
TRange2 = TRange2 + TR[cnt2];
PlusDM2142 = PlusDM2142 + PlusDM2;
}
If TRange2 <> 0 Then
DIP2 = 100 * PlusDM2142 / TRange2;
Else
DIP2 = 0 ;
}
Else If idx > Length+2 Then {
If DIP1[0] - DIP1[1] < 0 Then
PlusDM2 = 0;
Else
PlusDM2 = DIP1[0] - DIP1[1];
If DIP1[1] - DIP1[0] < 0 Then
MinusDM2 = 0;
Else
MinusDM2 = DIP1[1] - DIP1[0];
If MinusDM2 >= PlusDM2 Then
PlusDM2 = 0;
If MyRange2 > 0 Then {
TRange2 = TRange2[1] - (TRange2[1] / MyRange2) + TR;
PlusDM2142 = PlusDM2142[1] - (PlusDM2142[1] / MyRange2) + PlusDM2;
}
If TRange2 <> 0 Then
DIP2 = 100 * PlusDM2142 / TRange2;
Else
DIP2 = 0 ;
}
plot1(DIP2);
즐거운 하루되세요
2013-09-16
173
글번호 67623