커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6550
글번호 230811
답변완료
수식 부탁 드립니다.
Input : shortP210(12), longP210(26), emaP10(9);
Var : MACDlong10(0),MACDlongSIG10(0);
MACDlong10 = MACD(shortP210, longP210);
MACDlongSIG10 = ema(MACD(shortP210, longP210), emaP10);
Inputs: ShortPeriod(5),LongPeriod(20),매수기준선(100),매도기준선(-100);
Variables: Fval(0),FvalFast(0),FvalSlow(0);
Fval = (Close - Close[1]) * Volume ;
FvalFast = Ema(Fval, ShortPeriod);
FvalSlow = Ema(Fval, LongPeriod);
if crossdown(Fvalfast,-100) && macdlong10>0 then exitlong();
if Crossup(Fvalfast,0) then buy();
수고 많으십니다.
상기 식 매수 매도 조건을 모두 data2 를 사용하는 식으로 바꾸어 주시면 감사 하겠습니다.
2015-08-05
129
글번호 89177
답변완료
주간 손실액 특정치 넘을시 진입제한 수식 문의합니다
주간 손실누적액이 특정치를 넘을때 그 주의 남은 날은 거래 진입을 못하게 하는 수식이 궁금합니다
주간 손실누적액은 매주 마다 초기화 되고요
2015-08-05
127
글번호 89176
답변완료
지표요청
* 항상 많은 도움 고맙습니다.
* 질문1: DMI지표 오실레이터 부탁 드립니다.
→ 분봉으로 매수 할경우
DMIv 지표가 10개봉 평균으로 연결된 그래프로 나타나게 부탁드립니다.
<자작 만든것> 안됨 -.-
Input : Period(10),P(10) ;
var : DMIv(0),DP(0),DM(0);
DMIv = DMI(Period);
DP = DIPlus(Period);
DM = DIMinus(Period);
var1 = (DMIv[1]+DMIv[3])/2;//3개봉의 중간값
var2 = ma(var1,P);//중간값의 10 이평
Plot1(var2, "MCC");
상기식을 가지고
IF 매수조건 and var2[1] > var2[10] then buy(); // 현재봉이 10봉전보다 클때 매수
하였는데 안되는데요?
무엇이 잘못되었나요?
*질문2) 시스템구현 부탁
IF 매수조건 and 현재봉이 10봉전 가격 보다 10% 이하일때 매수 then buy();
▶(and var33[1] < var33[10]*(1+1.10/100) 이게 안되네요....)
즉 너무 갑자기 급등하는 주식은 안살라고 하는데요.....
구현좀 부탁드립니다.
* 고맙습니다.
2015-08-04
158
글번호 89175
답변완료
수정문의드림니다
안녕하세요...늘감사합니다....글번호43382
건수,잔량 라인색 구분가능한가요.
가능하면 아래와같이 만들어주세요.
건수 +이면 빨간색 -면 파란색
잔량 +이면 빨간색 -면 파란색
수고하세요...꾸벅
2015-08-04
153
글번호 89174
통큰베팅 님에 의해서 삭제되었습니다.
2015-08-04
0
글번호 89173
통큰베팅 님에 의해서 삭제되었습니다.
2015-08-04
0
글번호 89172
답변완료
수식 좀 부탁드립니다.
안녕하세요.
항상 감사드립니다.
만들어주신 수식을 좀 수정해서 작성했는데 에러가 생깁니다. 제가 수식은 잘 몰라서요.
무엇이 잘못된것인가요?
수정좀 부탁드립니다.
그리고 아래 수식에 60>30>20 이평 이고 20, 30, 60 이평이 모두 1개전 이평대비 하락하고 있는 종목은 검색에서 제외하고
5개전봉부터 15개전봉까지의 종가로 최저가 대비 현재가가 15%이상 올라야 되는 조건도
and 로 추가해주세요.
input : 년도(2014),Month(2),N(6);
var : Year(0);
Year = round(sdate/10000,0);
if date > date[1]+1000 Then
var3 = 0;
if date > date[1]+30 Then
var3 = var3+1;
var1= C - O;
value1 = ma(C,10);
value2 = ma(C,20);
value3 = ma(C,30);
value4 = ma(C,60);
value5 = max(ma(C,20),ma(C,30),ma(C,60))
if var1<=0 and
((var1[1]<0 and var1[2]<0 and var1[3]>0 and var1[4]<0 and var1[5]<0 and var1[6]>0 and var1[6]>value1 and (var1[6]>value2 or var1[6]>value3)) or
(var1[1]<0 and var1[2]<0 and var1[3]>0 and var1[4]>0 and var1[5]<0 and var1[6]>0 and var1[6]>value1 and (var1[6]>value2 or var1[6]>value3))) and
ma(Money,3) >= 100000000 Then
Condition1 = true;
Else
Condition1 = false;
if Year == 년도 and var1 == Month and countif(Condition1,N+1) >= 1 Then
Condition2 = true;
if Condition2 == true Then
find(1);
2015-08-05
131
글번호 89171
답변완료
yesglobal 편집기에서 사용가능토록요청
아래수식도 yesglobal편집기에서 검증이 않됩니다
수식을 검토하시고 수정하여 주시면 대단히 감사하겠습니다
==========================================================
data2(ma(C,50)[1]) < data2(ma(C,50)) and
data2(ma(C,100)[1]) < data2(ma(C,100)) and
data2(ma(C,200)[1]) < data2(ma(C,200)) and
data2(ma(C,150)[1]) < data2(ma(C,150)) and
data2(ma(C,175)[1]) < data2(ma(C,175));
_1번대장01분추세매도 =
data2(ma(C,50)[1]) > data2(ma(C,50)) and
data2(ma(C,100)[1]) > data2(ma(C,100)) and
data2(ma(C,200)[1]) > data2(ma(C,200)) and
data2(ma(C,150)[1]) > data2(ma(C,150)) and
data2(ma(C,175)[1]) > data2(ma(C,175));
If _1번대장01분추세매수 Then _1번대장방향 = 1;
If _1번대장01분추세매도 Then _1번대장방향 = -1;
if _1번대장방향 == 1
then
방향 = 1;
if _1번대장방향 == -1
then
방향 = -1;
input : RSIP1(14),RSIsig1(6),RSI_B1(45),RSI_S1(55),
sto11(50),sto21(6),sto31(6),STOK_B1(14),STOK_S1(86),
RSIP2(21),RSIsig2(6),RSI_B2(45),RSI_S2(55),
sto12(25),sto22(6),sto32(6),STOK_B2(8),STOK_S2(92),
RSIP3(14),RSIsig3(6),RSI_B3(45),RSI_S3(55),
sto13(50),sto23(6),sto33(6),STOK_B3(16),STOK_S3(84),
RSIP4(25),RSIsig4(6),RSI_B4(45),RSI_S4(55),
sto14(25),sto24(6),sto34(6),STOK_B4(10),STOK_S4(90),
inTime(240000),exTime(240000);
var:매수조건(false),매도조건(false);
Value1 = RSI_Y(RSIP1);
Value2 = StochasticsKS(sto11,sto21);
Value3 = RSI_Y(RSIP2);
Value4 = StochasticsKS(sto12,sto22);
Value5 = RSI_Y(RSIP3);
Value6 = StochasticsKS(sto13,sto23);
Value7 = RSI_Y(RSIP4);
Value8 = StochasticsKS(sto14,sto24);
매수조건 = ((time < inTime or inTime == 0) and Value1 <= RSI_B1 and Value2 <= STOK_B1 and Value3 <= RSI_B2 and Value4 <= STOK_B2) or
((time >= inTime or inTime == 0) and Value5 <= RSI_B3 and Value6 <= STOK_B3 and Value7 <= RSI_B4 and Value8 <= STOK_B4);
매도조건 = ((time < inTime or inTime == 0) and Value1 >= RSI_S1 and Value2 >= STOK_S1 and Value3 >= RSI_S2 and Value4 >= STOK_S2) or
((time >= inTime or inTime == 0) and Value5 >= RSI_S3 and Value6 >= STOK_S3 and Value7 >= RSI_S4 and Value8 >= STOK_S4);
if 방향 > 0 then
{
//ExitShort("추세전환(+)",AtMarket);
If 매수조건 and time <= exTime Then
buy("매수",AtMarket);
If 매도조건 Then
ExitLong("매수청산",AtLimit,EntryPrice+PriceScale);
}
if 방향 < 0 then
{
//ExitLong("추세전환(-)",AtMarket);
If 매도조건 and time <= exTime Then
Sell("매도",AtMarket);
If 매수조건 Then
ExitShort("매도청산",AtLimit,EntryPrice-PriceScale);
}
2015-08-04
142
글번호 89170
답변완료
수식문의
input : p1(5),N(10);
var : cnt(0),sum(0),maxv(0),minv(0);
var : LL0(0),LL1(0),LL2(0);
sum = 0;
maxv = ma(C,P1);
minv = max(c,P1);
for cnt = 0 to (5*N)-1
{
sum = sum+DayClose(cnt);
if cnt > 0 and cnt%5 == 4 Then{
var1 = sum/(cnt+1);
if var1 > maxv Then
maxv = var1;
if var1 < minv Then
minv = var1;
}
}
LL0 = daylow(0);
LL1 = daylow(1);
LL2 = daylow(2);
for cnt = 0 to 26-1
{
if daylow(cnt) < LL0 Then
LL0 = daylow(cnt);
if daylow(cnt+1) < LL1 Then
LL1 = daylow(cnt+1);
if daylow(cnt+2) < LL1 Then
LL2 = daylow(cnt+2);
}
if
C <= DayClose(1)*1.1389 And
O < minv And
C > maxv And !
(DayLow == LL0 or
daylow(1) == LL1 or
daylow(2) == LL2) Then
buy("매수");
SetStopProfittarget(5,PercentStop);
SetStopLoss(10,PercentStop);
위위 식에서 익절과 손절부분을 시스템 트레이딩 설정 - 변수 항목에서 표시되어 변수 편집될
수 있게 부탁드립니다.
수치를 바꿔가며 시뮬레이션 차트에서 최적화 해볼려고 하는데 위의 식대로 하면 표시가 안되
네요.
부탁드립니다.
2015-08-04
108
글번호 89167