커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 수정부탁드립니다.

1. 안녕하세요. 수식 수정좀 부탁드립니다. 아래 진입금지 수식을 기존 수식에 넣어달라고 햇는데 여기서 0.42% 수익은 단순히 진입후 0.42% 의 단순 목표수익이 아니라 진입후 최저가나 최고가 대비 0.42% 상승 하락을 말씀드렸는데요. 다시 수정 부탁드립니다.  기존 수식이 하나더 추가되었습니다. 만약에 수식이 복잡하면 강제청산 설정에서 <최대수익대비 하락>에서 두번째칸에 ~%수익하락 부분에 0.42%로 설정하고 아래 조건을 만족하도록 수식 작성해주셔도 됩니다. 이방법이 가능하다면요.... 1. 매수진입후 최저가격대비 0.42% 이상 상승시 스탑으로 청산히되 이때 청산후는 선물이 60이평 아래면 그 이후 추가로 신규 매수주문은 진입금지. 2. 매도진입후 최고가격대비 0.42% 이하 하락시 스탑으로 청산하되 이때 청산후는 선물이 60이평 위이면 그 이후 추가로 신규 매도주문은 진입금지. if data1(dayindex+1 >= 1 and dayindex+1 <= 20)   then{ if C > Max(mav1,mav2,mav3) Then{ if data2(iff(C>O or (C==O and C>=C[1]),1,0))+ data3(iff(C>O or (C==O and C>=C[1]),1,0))+ data4(iff(C>O or (C==O and C>=C[1]),1,0)) >= 2 Then buy("b3_1"); } if C < Min(mav1,mav2,mav3) Then{ if data2(iff(C<O or (C==O and C<C[1]),1,0))+ data3(iff(C<O or (C==O and C<C[1]),1,0))+ data4(iff(C<O or (C==O and C<C[1]),1,0)) >= 2 Then Sell("s3_1"); } } if data1(dayindex+1 >=5 and dayindex+1 <= 30)   then{ if  C <=dayopen and data3(C>OpenD(0))) and data1(C> ma(c,15))  then{ buy("b1-1"); } if  C >=dayopen And data3(C<OpenD(0)) and data1(C< ma(c,15))  then{ Sell("s1-1"); } } 답변을 아래와 같이 주셨는데 식 내용중 !(IsExitName("stopprofittarget",1) and C < ma(C,60)) 부분은 직전 청산이 목표수익으로 청산되고 현재가가 60이평보다 작은 상태 이외의 경우의 의미입니다. 즉, 직전 청산이 목표수익 이외의 방법으로 청산되었거나 종가가 60이평보다 큰 경우가 이에 해당됩니다. [시스템식] if data1(dayindex+1 >= 1 and dayindex+1 <= 20) and   then{ if C > Max(mav1,mav2,mav3) !(IsExitName("stopprofittarget",1) and C < ma(C,60)) Then{ if data2(iff(C>O or (C==O and C>=C[1]),1,0))+ data3(iff(C>O or (C==O and C>=C[1]),1,0))+ data4(iff(C>O or (C==O and C>=C[1]),1,0)) >= 2 Then buy("b3_1"); } if C < Min(mav1,mav2,mav3) !(IsExitName("stopprofittarget",1) and C > ma(C,60)) Then{ if data2(iff(C<O or (C==O and C<C[1]),1,0))+ data3(iff(C<O or (C==O and C<C[1]),1,0))+ data4(iff(C<O or (C==O and C<C[1]),1,0)) >= 2 Then Sell("s3_1"); } } SetStopProfittarget(0.42);
프로필 이미지
강태공3
2012-02-08
435
글번호 47498
시스템
답변완료

두가지 조건성립에 대한 지표설정

조건A와 B가 있는데 조건A가 먼저 만족된 후에 조건B가 만족되면 신호가 발생하는 방법을 알고 싶습니다. 감사합니다.
프로필 이미지
스로우
2012-02-07
385
글번호 47497
지표
답변완료

당일 이전 거래

IsEntryName(“진입명”,N) 이전의 거래의 이름에 따라 조건을 주는 것을 써보려고 하는데요 이 함수가 전일의 진입명까지 인식하는 것 같아 쓰기가 불편하더라구요. 오늘의 이전 거래를 표현하려면 어떻게 해야 할까요?
프로필 이미지
하얀마음흑구
2012-02-07
385
글번호 47485
시스템
답변완료

수정해주세요---------

input :가격(260),매수매도(1),최소익틱(2),손절틱(10), 익절틱(10),눌림틱(3); var : cnt(0),count(0); count = 0; for cnt = 0 to 10{ if sdate == EntryDate(cnt) Then count = count+1; } if 매수매도 == 1 Then{ if (count == 0 ) or (count >= 1 and IsExitName("b본",1) == true and lowest(L,BarsSinceExit(1)) <= 가격-PriceScale*눌림틱) Then { if L > 가격 Then buy("b1",atlimit,가격); if H < 가격 Then buy("b2",AtStop,가격); } } if MarketPosition == 1 Then{ ExitLong("BP",atlimit,가격+PriceScale*익절틱); if highest(H,BarsSinceEntry) < EntryPrice+PriceScale*최소익틱 Then ExitLong("BL",AtStop,가격-PriceScale*손절틱); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*최소익틱 Then ExitLong("B본",AtStop,가격); } if 매수매도 == -1 Then{ if (count == 0 ) or (count >= 1 and IsExitName("S본",1) == true and lowest(L,BarsSinceExit(1)) <= 가격-PriceScale*눌림틱) Then { if H < 가격 Then Sell("s1",AtLimit,가격); if L > 가격 Then Sell("s2",AtStop,가격); } } if MarketPosition == -1 Then{ ExitShort("SP",AtLimit,가격-PriceScale*익절틱); if Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*최소익틱 Then ExitShort("SL",AtStop,가격+PriceScale*손절틱); if Lowest(L,BarsSinceEntry) <= EntryPrice+PriceScale*최소익틱 Then ExitShort("S본",AtStop,가격); } 위식은 2틱이상이익 나면 진입가에 청산하게 되있는데요 이를 4틱이상 수익나면 진입가+1틱 이익나게 청산 5틱이상 수익나면 진입가+2틱 이익나게 청산 6틱이상 수익나면 진입가+2틱 이익나게 청산 7틱이상 수익나면 진입가+2틱 이익나게 청산 8틱이상 수익나면 진입가+3틱 이익나게 청산 수고하세요
프로필 이미지
leekss1
2012-02-07
429
글번호 47482
시스템
답변완료

DMI를 사용하려고 하는데 잘 crossup이 안됩니다

DMI를 사용해서 PDI가 MDI를 상향 돌파할때 MDI가 PDI를 하향 돌파할때 를 찾아내려고 하는데요 crossup과 crossdown을 쓰는데 잘 안잡힙니다. crossup이 안잡혀서 이를 풀어서(yes language 도움말 참조) if문에 적용도 해보았는데 역시나 안되네요 하지만 리딩스타에서 DMI지표를 적용시키면 상향돌파와 하향돌파하는 구간이 있거든요..답변 부탁드립니다. 아래는 코드입니다. Input : Period(14); value1 = DIPlus(Period); value2 = DIMinus(Period); //if CrossUp(plusDI, minusDI) Then if (value1 > value2) and (value1[1] <= value2[1]) Then { Alert("adx"); ADX_sig = 1; // plusDI가 minusDI를 상향돌파하면 ADX_sig 매수 신호 } Else { ADX_sig = 0; } if (value1 < value2) and (value1[1] >= value2[1]) Then { Alert("adx"); ADX_sig = -1; // plusDI가 minusDI를 하향돌파하면 ADX_sig 매도 신호 } Else { ADX_sig = 0; }
프로필 이미지
testtt
2012-02-07
507
글번호 47480
검색
답변완료

바쁘신데 정말 죄송합니다...

매번 감사드립니다. 아래 수식은 저번에 해주신 로직입니다. 다름이 아니오라 저 수식에서 매수매도가 반복적으로 이뤄지지 않고 매수신호는 제한없이 진입하고 매도포지션 잡지않고 저점지지선을 손절선으로 바꿔 주시면 대단이 고맙겠습니다. if dayindex+1 == 10 Then{ var1 = H; var2 = L; } if crossup(c,var1) Then buy("b",OnClose,def,4); if CrossDown(c,var2) Then sell("s",OnClose,def,4); SetStopEndofday(150000); 즐거운 하루되세요 > 마켓마스터 님이 쓴 글입니다. > 제목 : 수식부탁 드립니다. > 연결선물분봉차트에서 10번째켄들의 고점 저점을 기준으로 고점 돌파시 매수 저점 돌파시 매도. 매매횟수 제한 없고 계약수4계약동일진입 3시00분청산. 수식 부탁 드립니다.
프로필 이미지
마켓마스터
2012-02-07
412
글번호 47478
시스템
답변완료

죄송한데 질문좀요ㅠㅠ

볼린저밴드 하단선에 닿을때 매수주문 넣는건 식이 어케 되나요ㅠㅠ? 아래에서 뚫고 올라오든 위에서 떨어지다가 닿든 상관없이요..ㅡㅡㅋ 그리고 매수하는거 보니까 뚫는 순간 사는게 아니라 뚫고나서 그 봉이 끝날때 사는거 같던데 뚫는순간 살수는 없나요??
프로필 이미지
대박내자잉
2012-02-07
367
글번호 47477
시스템

lims114 님에 의해서 삭제되었습니다.

프로필 이미지
lims114
2012-02-07
8
글번호 47473
시스템
답변완료

부탁드립니다---------

3연속 양봉이나,음봉이면서 5이평이 3연속 전봉과 차이가 0.3이상 나면 다음봉에 "점" 찍어주세요
프로필 이미지
leekss1
2012-02-07
343
글번호 47470
지표