커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
7705
글번호 230811
지표
답변완료

수식 문의 드립니다.

안녕하세요. 선물 30분봉 차트에서 전월의 시가와 최고가, 최저가를 출력하라는 지표식을 구합니다. 수고하세요.
프로필 이미지
골드드래곤
2011-09-09
654
글번호 42619
지표
답변완료

Crossdown / CrossUp의 식

수고 많으십니다. Crossdown과 CrossUp의 Source를 적어주시면 감사하겠습니다. 제가 전 특정가격 붕괴여부를 확인하기 위해 If CrossDown(C, nHighLimit) and ..... 라고 수식을 작성 후 검증을 하다보니 C 가 계속 그가격 아래에 있었는데 Crossdown이 True로 나오는 군요. nHighLimit도 같이 변경되기에 추적해 보았는데 이상을 발견하지 못하였습니다. ※ nHighLimit은 봉마다 변경되는 특정 값이기에 상기 함수의 Source가 있으면 좀 더 이해가 될 것 같습니다. 미리 감사드립니다.
프로필 이미지
꿈꾸는돌
2011-09-09
601
글번호 42618
검색
답변완료

시스템 식 문의

안녕하세요.. 추석은 잘 보내셨는지요? 시스템 식을 문의드립니다. 매매는 kodex레버리지로만 할 겁니다. 지수이동평균 VR 스토캐스틱 슬로오 3가지를 하는데 20분봉을 기준으로 매매를 할 것이며 1. 매수신호는 지수이동평균선 3분선이 50분선을 돌파시 그리고 VR 지표가 바닥을 탈피시 위 두가지 조건으로 매수를 하고 2.매도는 스토캐스틱 슬로우(12,5,5) 기준선 80선 아래로 내려올 때 주가의 위치가 5일선 아래에 있어야 함. 그림으로 그렸습니다. 빨간색 원안에서 매도 신호가 나오면 됩니다.
프로필 이미지
개미주주
2011-09-09
693
글번호 42617
시스템
답변완료

여기다 올립니다

추석연휴로 모두 퇴근을 일찍하셨네요 수식에 대한 문의는 아닙니다 잘 아시다시피 시스템차트에서 선물종목을 띄우고 틱차트로 해놓았을때 선물호가가 빠르게 움직이면 틱차트가 못쫓아가는 현상은 아실껍니다 예전에도 여러번 건의 했었고 그 가장 큰 원인을 알 것 같습니다 오른쪽에 있는 툴바도 문제지만 차트의 아래쪽에 시간단위가 매우 세밀하게 계산되어 나옵니다 이게 지금 차트를 느리게 만드는 가장 큰 이유인것 같습니다 타 HTS에서도 하단에 시간대가 이렇게 나오는 경우는 없습니다 이점은 차트에 있어서 너무나 치명적입니다 메뉴툴바와 함께 이 시간표시도 차트속성에서 체크박스로 만들어 활용할 사람과 활용하지 않을 사람을 조속히 나누어야 할 것 같습니다 매우 중요한 문제이니 조속히 처리해 주셨으면 합니다 리딩이나 우리 꺼에도 당연히 조속히 같이 작업해 주셔야 할 것입니다 답변 부탁 드리고 처리 부탁 드립니다 감사합니다
프로필 이미지
백스톰
2011-09-09
702
글번호 42616
지표

행복충전 님에 의해서 삭제되었습니다.

프로필 이미지
행복충전
2011-09-09
43
글번호 42615
검색
답변완료

매수시점과 또다른 조건문에 대해 질문드릴께요

항상 고맙습니다. 그리고 메리 추석입니다. 건강하세요 if문 다음에 매수주문을 할때에 AtStop은 봉이 완성된 다음봉의 시가에 매수주문이 이뤄진다고 했는데요 그러면 돌파한 시점에 곧바로 매수할 방법으로는 조건물을 빼면 된다는 건가요 예를들어서 전고점 AA를 뚫자마자 곧바로 한호가 위에서 매수를 하고 싶은데요 if (AA <= CC*1.015) and (BB > 하한가+PriceScale*2) Then buy("b1",AtStop,AA+PriceScale); 이렇게 하면 전고점을 돌파한다면이라는 조건을 뺏으므로 AA를 돌파하는 시점이 매수포인트가 되니까 곧바로 매수가 되겠네요 제가 저번에 쓴 글처럼 FF를 전고점보다 큰 수로 가정하였을때 아래처럼 if AA <= CC*1.015 and (FF > AA) and BB > 하한가+PriceScale*2 Then buy("b1",AtStop,AA+PriceScale); 이렇게 하면 전고점을 돌파하였으나 5분동안에 그 봉이 한참 올라있으면 그 다음봉 시가에 매수가 되니 이미 한참 올라 있을 확률이 있더라구요 두번째 질문입니다. 예전에 한번 쓴 글인데요 잘 안 맞는것 같아서 제가 생각해 봤는데요 조건1 if dayindex >= 2 and Condition1 == false Then{ if H[2] <= H[1] and H[1] > H Then{ AA = H[1]; BB = daylow[2]; CC = L; Condition1 = true; FF = H; } 조건2 if H[2] >= H[1] and H[1] > H and L[1] >= L[2] and L > L[2] Then{ AA = H[1]; BB = daylow; CC = L; Condition1 = true; FF = H; 조건1과 조건2를 만족하면 전고점이 된다고 했는데요 거기다가 조건3을 추가하여 그림 처럼 AA1의 전고점이 BB1을 깨고 그냥 하락하였는데 다시 그대로 쭉 돌파하여 AA2라는 전고점을 다시 만들었습니다. 그런데 조건1과 조건2만 하면 AA2를 새로운 전고점으로 인식하고 AA2를 돌파하면 매수시점을 찾게되거든요.. 그래서 아래와같이 CC<BB라는 조건을 추가하면 if dayindex >= 2 and Condition1 == false Then{ if H[2] <= H[1] and H[1] > H and CC<BB Then{ AA = H[1]; BB = daylow[2]; CC = L; Condition1 = true; FF = H; } if H[2] >= H[1] and H[1] > H and L[1] >= L[2] and L > L[2] and CC<BB Then{ AA = H[1]; BB = daylow; CC = L; Condition1 = true; FF = H; } 이렇게 하니까 생각하였던 대로 AA1을 전고점으로 인식하지 못하더라구요 그 이유를 생각해보니 아래 전체적인 조건식 하단부에 들어가있는 if L < BB Then Condition1 = false; 때문일까요? 당일 저가가 BB보다 낮으면 조건식은 거짓이다라는 말 때문인것 같기도 한데 그런데 이 조건식을 빼면 또 이상하게 나와버려요 이것을 해결할 방법은 없을까요 조건3에다가 다른 방법을 추가해서 CC<BB라고 해도 AA를 전고점이라는 조건문을 추가하 고 싶은데요 저의 조건식은 아래와 같습니다. var : AA(0),BB(0),CC(0),FF(0); if dayindex >= 2 and Condition1 == false Then{ if H[2] <= H[1] and H[1] > H Then{ AA = H[1]; BB = daylow[2]; CC = L; Condition1 = true; FF = H; } if H[2] >= H[1] and H[1] > H and L[1] >= L[2] and L > L[2] Then{ AA = H[1]; BB = daylow; CC = L; Condition1 = true; FF = H; } } if MarketPosition == 1 or dayindex == 0 Then Condition1 = false; if Condition1 == true and stime < 150000 Then{ if L < CC Then CC = L; if H > FF Then FF = H; if L < BB Then Condition1 = false; if (FF >= AA*1.1) or (BB < 1000)Then#FF가 AA대비 10%이상 크면 Condition1을 false로 함 Condition1 = false; if AA <= CC*1.012099 and BB > 하한가+PriceScale Then buy("b1",AtStop,AA+PriceScale); if ((AA > CC*1.0121) and (AA < CC*1.01599)) and (FF > AA) and BB > 하한가+PriceScale Then buy("b2",Atlimit,AA); if ((AA > CC*1.016) and (AA < CC*1.021099)) and (FF > AA) and BB > 하한가+PriceScale Then buy("b3",Atlimit,AA-PriceScale); if ((AA > CC*1.0211) and (AA < CC*1.0249)) and (FF > AA) and BB > 하한가+PriceScale Then buy("b4",Atlimit,(AA-CC)*0.66+CC); if ((AA > CC*1.025) and (AA < CC*1.0299)) and (FF > AA) and BB > 하한가+PriceScale Then buy("b5",Atlimit, (AA-CC)*0.5+CC); if (AA > CC*1.03) and (AA < CC*1.055) and (FF >AA) and BB > 하한가+PriceScale Then buy("b6",Atlimit,(AA-CC)*0.25+CC); } if MarketPosition == 1 Then exitlong("bx",AtStop,CC[BarsSinceEntry]-PriceScale*1);
프로필 이미지
블랙홀999
2011-09-10
714
글번호 42614
지표
답변완료

고점..저점

data3 보조차트 옵션을 표시하고 그옵션가격이 당일고점을 갱신하면 빨간점을 저점을 갱신하면 파란점을 표시하고 싶습니다... data3의 차트의봉에 표시;하고 고점은 봉위에 저점은 봉아래 찍고 싶습니다.. 좋은 명절되시길바라며 답변 감사드립니다..
프로필 이미지
다다
2011-09-09
686
글번호 42613
지표
답변완료

종목검색과 신호검색 혼합

아래 식을 실행해서 검색하면 여러 종목이 검색되는데, 위 그림은 그 중에서 하나의 종목을 캡쳐한 그림입니다. 이 그림을 보면 검색식의 결과와 맞지 않습니다. 즉, 10봉 안에 20이평 > 5이평 > 종가 를 만족하는 곳이 안보입니다. 예전에 이 식을 실행할때는 정확한 결과가 나온것 같았었는데, 왜 그런지 잘 모르겠습니다. 예스트레이더에서 실행했습니다. input : 기간1(5), 기간2(20); var : 단기이평(0), 장기이평(0); 단기이평 = MA(C,기간1); 장기이평 = MA(C,기간2); if countif(단기이평 < 장기이평 and 단기이평 > C,10) >= 1 Then find(1);
프로필 이미지
행복충전
2011-09-09
611
글번호 42612
검색
답변완료

data2 버근가요?

보조지표를 이용해서 매매시그널을 발생시켜보고 있습니다. data1은 연결선물지수 일봉이고, data2는 주봉입니다. (사실은 긴 식의 일부인데, 문제가 되는 부분만 잘라서 테스트해보아도 결과가 같아서 그 부분만 문의드립니다. ^^) 아래의 식을 사용해보시면 되구요, data2를 적용해보고싶어 식을 만들어보고 있는데, 적용하기도 전에 결과값이 이상해져서 한줄씩 디버깅하며 찾아보다 발견했습니다. 매매신호에 아직 data2는 적용도 안했는데, 변수에 data2 를 사용한 값을 대입만 해도 시뮬레이션 결과값이 차이가 납니다. 왜 그럴까요? (제가 아직 사용에미숙해서 그런건지...알려주셔요~^^) /*** MACD ***/ Input : MACDshortPeriod(12), MACDlongPeriod(26), MACDPeriod(9); Var : MACDvalue(0) , macdosc(0), MACDsignal(0) ; MACDvalue = MACD(MACDshortPeriod, MACDlongPeriod); macdosc = MACDvalue-ema(MACDvalue,MACDPeriod); MACDsignal =ema(MACDvalue,MACDPeriod); /*** data2 MACD ***/ Input : D2_MACDshortPeriod(12), D2_MACDlongPeriod(26), D2_MACDPeriod(9); Var : D2_MACDvalue(0) , D2_macdosc(0), D2_MACDsignal(0) ; D2_MACDvalue = data2(MACD(D2_MACDshortPeriod, D2_MACDlongPeriod)); // 이 줄을 주석에서 제거하니 값이 달라집니다.주석처리해보고 비교해보시면 됩니다. /* D2_macdosc = D2_MACDvalue-ema(D2_MACDvalue,D2_MACDPeriod); D2_MACDsignal =ema(D2_MACDvalue,D2_MACDPeriod); */ If MACDvalue>MACDsignal Then { Buy("LT_Ent", AtMarket, 1); } If MACDvalue<MACDsignal Then ExitLong("MACD_XS",AtMarket,DEF, "LT_Ent",1,1);
프로필 이미지
몸부림
2011-09-09
693
글번호 42611
시스템