커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7725
글번호 230811
답변완료
문의?
라인 오브젝트의 생성은 아래와 같습니다.
oLine = new Line( x1, y1, z1, x2, y2, z2 )
위의 문장은 위치 (x1, y1, z2)에서 위치 (x2, y2, z2)로
이어지는 oLine이라는 선을 생성합니다.
If LastBarOnChart Then
oLine2 = new Line( D[60], T[60], C[60], D, T, C )
위의 문장은 현재 종가와 60번째 이전 봉의 종가를 연결하는 선을 생성합니다.
실제 상황에서 봉이 새롭게 갱신될 때마다, 라인이 갱신되는 것을 보실 수 있습니다.
라인 오브젝트는 new, delete로 생성, 소멸이 가능하며
oLine2.Color = 2, oLine2.Size = 3 등으로 속성을 변경할 수 있습니다.
또한 oLine2.SetEnd( D, T, C ) 등으로 라인의 위치를 재지정할 수 있습니다.
실제 매매전략의 활용예를 통해, 라인 오브젝트 컨트롤을 살펴보겠습니다.
//데일리 채널 전략
//처음 10개의 봉 동안 최고점, 최저점을 찾은 후
//채널 돌파 시 매수 또는 매도 진입
Input: Len1(10)
Object: oL1(Line), oL2(Line)
If Date >Date[1] Then
DayIndex = 0
vPos1 = BarIndex
Else
DayIndex += 1
End If
If DayIndex = Len1 Then
vPos2 = BarIndex - vPos1
vHigh = Highest( H, Len1 )
vLow = Lowest( L, Len1 )
oL1 = new Line(D[vPos2], T[vPos2], vHigh, D, T, vHigh)
oL2 = new Line(D[vPos2], T[vPos2], vLow, D, T, vLow)
oL1.Color = Red
oL1.Size = 2
oL2.Color = Blue
oL2.Size = 2
End IF
If DayIndex>= Len1 Then
oL1.SetEnd ( D, T, vHigh )
oL2.SetEnd ( D, T, vLow )
Buy next bar at vHigh stop
Sell next bar at vLow stop
End If
예스랭귀지로 바꿔주세요
2011-05-06
618
글번호 38332
leekss1 님에 의해서 삭제되었습니다.
2011-05-05
12
글번호 38331
답변완료
5분첯봉
5분첯봉 고점 저점 중간값을선으로표시
단 어던 봉에도 즉15분 30분봉에적용해도
향상 5분봉첯봉 값을 나타나게해주세요
2011-05-05
598
글번호 38330
빌리언 님에 의해서 삭제되었습니다.
2011-05-05
296
글번호 38329
답변완료
주문거부시 주문실행 계속시도...
Setstop 함수를 사용해서 청산하는 수식을 적용해놨는데, 5~6번에 1번은 주문거부가 일어나는 군요. 이유는 잘 모르겠습니다만, 주문거부가 일어나면 타격이 매우 크네요.
SetStop 함수 청산주문시에 주문거부가 일어나면, 주문 실행을 성공할 때까지 청산주문을 계속 반복하는 수식 부탁합니다.
추가로 매수 주문도 마찬가지로 주문거부가 일어나면 주문 실행을 성공할 때까지 계속 반복하는 수식도요..
미리 감사드립니다.
2011-05-05
733
글번호 38328
답변완료
일정한 간격으로 선긋기
시가 기준으로 0.6P간격으로 위아래 라인을
점선으로 20개씩 긋고 싶습니다.
그리고 Y축에 그 라인값이 음영으로 표시되게 부탁합니다
2011-05-05
725
글번호 38327
답변완료
문의드립니다
if BWidth >= BWidth[N]*(1+Per/100) And #N봉전 대비 밴드폭이 Per%이상 큼
countif(CrossDown(MACDV,MACDS),3) >= 1 And #현재봉과 전봉중에 MACD 데드크로스 있음
(c >= BBTop*0.98 And CrossDown(c,ma(C,20))) or CrossDown (C,BBTOP)Then #종가가 밴드 상단 2% 이내이거나 20이평 하향이탈
sell("매도",AtMarket);
위식을 가지고 테스트해보는데 첨부사진처럼 나오고 제가 원하는데로 나오지 않네가요
============================================================================
볼린저 하단에서도 신호가 나오네요 아마도 0.98이하에서 이평을 데드만
하면 다 나오는것 갔습니다
상단이탈을 봉으로도 규정하고자 수정 부탁합니다.
if BWidth >= BWidth[N]*(1+Per/100) And
countif(CrossDown(MACDV,MACDS),3) >= 1 And #필수조건
countif(C <= O-PriceScale*P1 And C >= O-PriceScale*P2)# 현재봉이나 몇봉전 장대음봉 이것도 필수조건으로 countif라는 함수를 사용하여 몇봉전 이런식으로 수정좀 부탁드립니다.
and
(countif(CrossDown(C,BBTOP),1) >= 1) and 현재봉이 상단을 하락하거나
(countif(CrossDown(c,ma(C,5),1) >=1 and (c <= BBTop*1.00 And c >= BBTop*0.97) countif(CrossDown(C,BBTop),2) >= 1 #이부분은 5일선 하락과 동시에 볼벤상단 몇봉전이거나 몇퍼센트이내를 동시만족
Then sell("s1",AtMarket);
즉 if 문 뒤에 조건을 countif라는 함수를 많이 이용하여 봉의수를 제가 수정하면서
하려고 합니다.
위식을 수정좀 부탁좀 드릴께요.
항상도움주심에 감사드립니다.
2011-05-06
671
글번호 38326
답변완료
행복; 수식 작성 바랍니다
진진한 답변 감사드립니다
추가 질문 드립니다
보내주신 아래의 답변 중에
===========================================================
목표이익과 손절매가 하나의 봉에서 동시에 만족할 경우에는
봉의 움직임 가설에 의해 실전과 조금 차이가 발생할 수 있지만
각 설정 수치의 내용이 작은 폭이 아니므로 크게 변경될 내용은 없습니다.
====================================================================
에 대한 내용입니다
설전수치를 아래와 같이 작은 폭으로 할 경우에는 실전과 차이가 많이 날 수 있을텐데
이를 방지하기 위하여 주기를 분봉이나 틱으로 해야하지 않을지요?
=======================================================================
< 매도 조건 >
- 매수가격 대비 1.0% 상승시 즉시 매도(봉 완성 전이라도)
or
- 매수가격 대비 0.5% 하락시 즉시 매도(봉 완성 전이라도)
or
- 매수후 주가가 상승하다 하락하여 최고가 대비 0.6% 하락시(TS; Trailing Stop) 시
즉시 매도 (봉 완성 전이라도)
============================================================================
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 행복; 수식 작성 바랍니다
> 안녕하세요
예스스탁입니다.
input : Profit(10),Loss(5),TR(6);
if data2(C[2]>C[3]) Then
buy();
if MarketPosition == 1 Then
exitlong("bx",AtStop,Highest(H,BarsSinceEntry)*(1-TR/100));
SetStopProfittarget(Profit,PercentStop);
SetStopLoss(Loss,PercentStop);
강제청산중 최대수익대비하락을 사용하지 않기 떄문에
해당 내용은 일봉에 시뮬레이션 하셔도 큰 지장이 없습니다.
목표이익과 손절매가 하나의 봉에서 동시에 만족할 경우에는
봉의 움직임 가설에 의해 실전과 조금 차이가 발생할 수 있지만
각 설정 수치의 내용이 작은 폭이 아니므로 크게 변경될 내용은 없습니다.
즐거운 하루되세요
> 행복한가방 님이 쓴 글입니다.
> 제목 : 행복; 수식 작성 바랍니다
> ==========
시뮬레이션을 위한 시스템식 작성 바랍니다
==========
참조데이다(data2) 주기; 일봉
참조데이타(data2) 종목; 삼성전자
대상 종목; 현대차
< 매수 조건 >
- 삼성전자가 상승한 날(1월 2일) 이틀 후(1월 4일) 종가(onclose)에 매수
< 매도 조건 >
- 매수가격 대비 10% 상승시 즉시 매도(봉 완성 전이라도)
or
- 매수가격 대비 5% 하락시 즉시 매도(봉 완성 전이라도)
or
- 매수후 주가가 상승하다 하락하여 최고가 대비 6% 하락시(TS; Trailing Stop) 시
즉시 매도 (봉 완성 전이라도)
** 매도 조건의 시스템식을 작성할 때
주기를 일봉으로 하게 되면 시뮬레이션할 때
일봉의 고가와 저가가 전일 종가에 비하여 얼마나 가까운 가에 따라
매도 우선순위가 결정되어
일봉 속에 숨겨진 하루동안의 실제 주가 흐름과 다르게
매도가 이루어질 수 있다고 공부를 하였습니다.
(예, 실전에서는 매도시 주기를 일봉으로 하고 atstop을 걸면 되는 듯..)
이러한 문제점을 해결하려면
매도 조건의 시스템식은 주기를 일봉이 아닌
분봉이나 틱으로 해야하는 것은 아닌지요?
실전용이 아니고 시뮬레이션 용도임을 잘 감안하여 수식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
2011-05-05
751
글번호 38325
답변완료
ETF
제가 미래에셋 HTS를 쓰고 있는데요,
2013-02-24
769
글번호 38324