커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7529
글번호 230811
답변완료
다시 문의요
안녕하세요~~
하루에 한번들어가는 식 문의했는데요
매수하는 방법이 35개정도 되는데요 이식 모두 하루에 한번 일어나게 해주세요
예를들어) a1식이 매수가들어가면 a2,a3,b1,b2.... 등등식은 오늘하루 진입안되게해주세요
그다음날은 다시 진입되게 해주세요
분봉으로 적용합니다
수고하십시오~~~
input : 투자금액(100000);
Var : Body(0),HighBody(0),LowBody(0),Height(0),UpTail(0),DnTail(0),Long(False);
var : Vol(0),cnt(0),count(0);
count = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) Then
count = count+1;
}
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;
if count < 1 Then{
If (C[3] > Ma(C,10)[3] and C[3] > O[3] and C[2] > O[2] and C[1] > O[1]) and
(O[3] < O[2] and O[2] < O[1]) and
(C[3] < C[2] and C[2] < C[1]) and
(H[3] < H[2] and H[2] < H[1]) and
(C[3] > O[2] and O[2] > O[3]) and
(C[2] > O[1] and O[1] > O[2]) and
(Body > ma(Body,10)*2 and C < O) and
(O > H[1] and C < L[3]) Then
buy("b1",OnClose,def,vol);
If (C[4] >= Ma(C,10)[4] and C[4] > O[4] and Body[4] > Ma(Body,10)[4]*2) and
(LowBody[3] > Highbody[4]) and
(HighBody[3] >= HighBody[2] and HighBody[2] >= HighBody[1]) and
(C > O and Body > Ma(Body,10)*2 and Close == Highest(C,5)) Then
buy("b2",OnClose,def,vol);
If (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 Open[1]<=HighBody[2]) and
(O > LowBody[1] and O <= HighBody[1]) and
(C[2] < C[1] and C[1] < C[0]) and
(Body[2]>Body[1] and Body[1]>Body[0]) Then
buy("b3",OnClose,def,vol);
If (C[1] >= Ma(C,10)[1] and C[1] < O[1] and Body[1] > Ma(Body,10)[1]*2 and C > O) and
(Abs(Open-Open[1]) < Ma(Height,10)*0.1) Then
buy("b4",OnClose,def,vol);
If C[2] >= ma(C,10)[2] and C[2] > O[2] and Body[2] > Ma(Body,10)[2]*2 and
C[1] > O[1] and Body[1] > Ma(Body,10)[1]*2 and Open[1] > Max(O,C)[2] and
C < O and C < C[2] Then
buy("b5",OnClose,def,vol);
If C[2] >= Ma(C,10)[2] and C[2] > O[2] and Body[2] > Ma(Body,10)[2]*2 and
C[1] > O[1] and C > O and
O[1] > C[2] and
Abs(Body-Body[1]) < Body*0.1 and
Abs(O-O[1]) < Ma(Height,10)*0.1 Then
buy("b6",OnClose,def,vol);
If C[4] >= Ma(C,10)[4] and C[4] > O[4] and Body[4] > Ma(Body,10)[4]*2 and
HighBody[3] < H[4] and LowBody[3] >= L[4] and
HighBody[2] < H[4] and LowBody[2] >= L[4] and
HighBody[1] < H[4] and LowBody[1] >= L[4] and
HighBody[3] >= HighBody[2] and HighBody[2]>=HighBody[1] and
C > O and Body > Ma(Body,10)*2 and
Close == Highest(C,5) Then
buy("b7",OnClose,def,vol);
If C[2] > Ma(C,10)[2] and C[2] > O[2] and C[1] > O[1] and O[1] > Max(O,C)[2] and
C < O and O >= LowBody[1] and O <= HighBody[1] and
C > C[2] Then
buy("b8",OnClose,def,vol);
If C > Ma(C,10) and Body > Ma(Body,10)*2 and C > O and
UpTail < Height*0.1 and DnTail < Height*0.1 Then
buy("b9",OnClose,def,vol);
If 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 >= LowBody[1] and O <= HighBody[1] and
C[2] < C[1] and C[1] < C and
Body < Ma(Body,10)*0.5 and O > Max(C,O)[1] Then
buy("b10",OnClose,def,vol);
}
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 count < 1 Then{
If C < Ma(C,10) and DnTail < Height*0.1 and C == O and Height > Ma(Height,10) Then
buy("a1",OnClose,def,vol);
Else
If C < Ma(C,10) and (Uptail < Height * 0.1) and C == O and (Height > Ma(Height,10)) Then
buy("a2",OnClose,def,vol);
Else
If 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);
Else
If (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);
Else
If 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);
Else
If (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);
Else
If (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);
Else
If (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);
Else
If 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);
Else
If 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);
Else
If 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);
Else
If 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);
Else
If 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);
Else
If 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);
Else
If 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);
Else
If 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);
Else
If (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);
Else
If 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);
Else
If 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);
Else
If 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);
Else
If 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);
Else
If 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);
Else
If 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);
Else
If 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);
Else
If (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);
}
SetStopProfittarget(3,PercentStop);
if CurrentEntries >= 2 Then
exitlong("매도2",atlimit,AvgEntryPrice*1.02);
2013-11-05
207
글번호 69246
답변완료
문의드립니다
수고많으세요
선형회귀선 LRL 의 기울기를 표현한것이 LRS 인데,
마찬가지로
문의내용 1.지수선, 2.다항선 각각에 대하여
기울기를 출력하는 식만 부탁드립니다.
2013-11-06
209
글번호 69239
답변완료
타주기 불러오기 수식 부탁드립니다
안녕하세요~
타주기 불러오기 수식 부탁드립니다
var : V1(0,data1), V2(0,data1), V3(0,data1), V4(0,data1), V5(0,data1), V6(0,data1);
V1 = Data1(Volume);
V2 = Data2(Volume);
V3 = Data3(Volume);
V4 = Data4(Volume);
V5 = Data5(Volume);
V6 = Data6(Volume);
위에처럼 Data6 까지는 설정이 되는데
Data7 부터는 설정이 되지 않습니다
차트에는 더많은 데이타 추가가 되는데~
# Data7 보다 더많은 타주기 데이타를 사용할 수 있게 부탁드립니다
감사합니다~
좋은하루 되세요~
2013-11-05
195
글번호 69229
답변완료
지표설정 부탁합니다
지표 설정
지표중 BinaryWave MACD가 있는데 다른거 다 사용 안하고 시그널만 사용 하고 싶은데요 기존은 기준선이 0으로 설정이 되있는데 그걸 그림처럼 1차(-1.5 ,1.5)2차 (-2.9,2.9)로 임의로 넣어 사용 하고 싶습니다.
2013-11-20
198
글번호 69228
답변완료
지표식 부탁드립니다.
안녕하세요?
지표식 하나 부탁드립니다.
내용은 볼린저밴드에서 중간값을 20일 지수이동평균으로 하여 만들어 주십시오
감사합니다.
2013-11-05
166
글번호 69223
답변완료
감사합니다.
항상 친절한 답변에 감사드립니다.
손절가를 일정 비율 상승후에는 진입가를 기준으로 하는 수식부탁드립니다.
(예, 옵션 2.00 진입시 진입가 대비 5% 하락한 1.9를 손절가를 정하지만 진입이후 10% 상승후에는 2.00)
손절, 트레일링 스탑(시스템매매설정 창의 강제청산 이용 중)후 일정시간이 경과(40분)후에만 진입이 허용되는 수식 부탁드립니다.
감사합니다.
2013-11-05
165
글번호 69222
답변완료
시스템식 부탁드립니다.
일단 매수식만 작성 부탁드려요
1. 지난 7일 변동성이 가장 적은 날의 고점 돌파시 매수
2. 직전봉이 4일동안 변동성이 제일 적고 인사이드데이 형성(직직전봉보다 고가 저가 포함)되고 고점 돌파시 매수
변동성 : 고가 - 저가 의 크기
2013-11-05
181
글번호 69221
답변완료
문의합니다
어제 답변 감사합니다
장시작후 첫봉부터 5번째봉까지
이평선의 cross없이 전일 마지막신호와 방향이 동일하면 같은 신호가
다시 나오게하는 방법을 원합니다
(오바없이 당일 청산합니다)
예를 들면 전일마지막 신호가 매도이고 20 이평선이 첫봉부터 계속 하락하면
다섯째봉에서 매도를 발생시키는 방법을 알고싶습니다
부탁드립니다
감사합니다
2013-11-05
184
글번호 69220
답변완료
수정 요청
안녕하세요
참조종목 일간 대만가권지수 data2 를 사용하여
청산 식을 만들었는데요 맞는지요 거래 불가라면 어떻게 수정해야 하는지봐주세요
5분차트 적용
if ( 조건 ) 매수
if sTime == 142500 && data2 (NextBaropen < c -0.09) Then
ExitLong("el",AtMarket);
if ( 조건 ) 매도
if sTime == 142500 && data2 (NextBaropen > c +0.09) Then
ExitShort("es",AtMarket);
SetStopProfittarget(7,PointStop);
SetStopLoss(7,PointStop);
특히 대만가권지수 끝나는시간 14시 35분 이니까
14시 30분 에서 40분사이 청산되도록 하고싶거든요 도움주시면 감사 드립니다
강제청산식 하지말구요 위 수식을 고쳐주십시요
2013-11-05
191
글번호 69219