커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

추가 문의드립니다.

먼저 지난번 정성껏 답변을 작성해주신데에 너무 감사드립니다. 이전에 답변해주신 수식을 1분봉차트에서 시험해보았습니다. 첫 봉에서 진입 주문은 잘 발생했는데 청산주문에 문제가 있습니다. 1 익절 손절여하에 관계없이 청산주문이 항상 진입한 봉이 완성되고 그 다음봉의 시가에서 발생합니다. 무엇이 문제인지 모르겠네요. 2 첫봉에서 진입주문이 발생한뒤 같은 첫봉에서 손절이나 익절조건이 맞았을경우 다음 봉이 아닌 첫봉에서 청산주문이 발생하도록 할 수 있을까요? 3 첫봉에서 감시를 발생시키기 위한 아래의 수식은 첫봉이 끝나면 더이상 영향을 미치지 않는 것인가요? 그리고 1분봉일 경우 stime == 151500으로 해줘야 하는게 맞는건가요? If Marketposition == 0 and stime == 143000 then{ buy("b",AtStop,NextBarOpen+DayATR); Sell("s",AtStop,NextBarOpen-DayATR); } 미리 감사드립니다. 아래는 예전에 답변해주신 수식입니다. ------------------------------------------------------------ 안녕하세요 예스스탁입니다. atstop이나 atlimit은 최근완성봉에서 값을 셋팅하고 현재봉에서 해당 값 이상이나 이하의 시세가 발생하는지 체크하여 신호를 발생하게 됩니다. 당일 첫봉에서 if조건이 만족하면 다음봉인 두번째 봉부터 가격을 감시하게 됩니다. 첫봉에 신호를 발생하게 하려면 첫봉의 이전봉인 전일 마지막봉에 if문을 만족시켜 다음봉인 당일첫봉의 시세를 감시해 신호가 발생하게 해야 합니다. 차트가 1분봉이시면 선물이나 옵션은 15시 15분봉이 마지막봉입니다. 차트의 주기에 따라 마지막봉 시간이 다르므로 주의하시기 바랍니다. input : ATRP(14),N(1); var : TH(0),TL(0),Sum(0),TR(0),DayATR(0),cnt(0),count(0); //당일 진입횟수 count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } DayATR = 0.3; If Marketposition == 0 and stime == 143000 then{ buy("b",AtStop,NextBarOpen+DayATR); Sell("s",AtStop,NextBarOpen-DayATR); } If Marketposition == 0 and stime < 143000 and count < N then{ buy("buy",AtStop,dayopen+DayATR); Sell("sell",AtStop,dayopen-DayATR); } if MarketPosition == 1 Then{ ExitLong("매수익절",AtStop,DayOpen+DayATR*4); ExitLong("매수손절",AtStop,DayOpen-DayATR); } if MarketPosition == -1 Then{ ExitShort("매도익절",AtStop,DayOpen-DayATR*4); ExitShort("매도손절",AtStop,DayOpen+DayATR); } SetStopEndofday(143000);
프로필 이미지
deepye
2013-10-15
193
글번호 68470
시스템
답변완료

문의드립니다

안녕하세요 항상 빠르고 친절한 답변 감사 드립니다 싸이칸에 있는식인데 예스언어로 부탁드립니다 Stochastics 기준선 FastK기간 5 5 5 0 SlowK기간 3 3 3 0 buyLevel 20 3 3 0 sellLevel 80 80 20 0 A=StochasticsslowK(FastK기간,SlowK기간,지수); Crossup(A,buylevel) A=StochasticsslowK(FastK기간,SlowK기간,지수); Crossdown(A,selllevel) A=StochasticsslowK(FastK기간,SlowK기간,지수); Crossdown(A,selllevel) A=StochasticsslowK(FastK기간,SlowK기간,지수); Crossup(A,buylevel) 감사합니다
프로필 이미지
회원
2013-10-15
138
글번호 68469
시스템
답변완료

청산 문의 드립니다.

매수진입 이후부터 두번째 5이평이 20이평을 두번 데드크로스하면 청산해라. accumn(iff(crossdown(ma(c,5),ma(c,20)),1,0),30)>=2 이렇게 하면 종종 진입 이전에 데드크로스 했던 것을 첫번째로 인식해서 청산이 빨리 일어나는 경우가 생기더라구요. 꼭 진입 이후에 두번의 데드크로스가 발생하도록 수식 부탁드립니다. 감사합니다.
프로필 이미지
하우즐영
2013-10-15
159
글번호 68468
시스템

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

프로필 이미지
회원
2013-10-15
19
글번호 68467
지표
답변완료

print 문 오류 점검 요청

항상 신속하고 상세하게 답변 주셔서 많은 도움을 받고 있습니다. 감사합니다. 아래 지표식 하단의 Print 문에 오류가 있는지 C: 아래의 __C 폴더에 파일이 만들어지지 않고 있습니다. 화면에는 정상적으로 잘 출력되고 있습니다. 점검을 좀 부탁드립니다. //===◑옵션_콜풋 전체 수급_금액◐ Var : 외인(0), 개인(0), 기관(0); 외인=data4(C); 개인=data5(C); 기관=data6(C); Plot1(외인, "외인"); Plot2(개인, "개인"); Plot3(기관, "기관"); print("C:₩__c₩op_sugb.csv",", 날짜,%.0f,시간,%.0f,외인,%.2f,개인,%.2f,기관,%.2f", sdate,stime,외인,개인,기관);
프로필 이미지
스퍼트시커
2013-10-14
133
글번호 68466
지표
답변완료

수식문의

1. 2분봉에서 60분의 5 20 60일선이평선을 나타내는수식부탁합니다. 그리고 아래수식을 반올림해서 나타나게부탁합니다 2. Input:value(3.3),p1(36),p2(28),p3(5),stopPer(1); Var: chUp(0), chDn(0),slowK(0),slowD(0), Bap(0); chUp=dayOpen()+(DayHigh(1)-DayLow(1))/Value; chDn=dayOpen()-(DayHigh(1)-DayLow(1))/Value; slowK=StochasticsK(p1,p2); slowD=StochasticsD(p1,p2,p3); bap=(daylow()+dayhigh())/2; plot1(chup); plot2(chDn);
프로필 이미지
백진강
2013-10-14
127
글번호 68465
시스템
답변완료

수식 문의 드립니다.

[기존수식] input : BBP(20),dv(2),CCI18(18); input : CCIup(100),CCIDn(-100); var : BBup(0),BBdn(0),CCIV18(0); Var : 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0); 전환선 = (Highest(High, 9) + Lowest(Low, 9)) / 2; 기준선 = (Highest(High, 26) + Lowest(Low, 26)) / 2; 후행스팬 = Close ; 선행스팬1 = (전환선 + 기준선) / 2 ; 선행스팬2 = (Highest(High, 52) + Lowest(Low, 52)) / 2; BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBp,Dv); CCIV18 = CCI(CCI18); if C > O and ((C >= BBdn and BBdn >= O) or (C <= BBdn)) and CCIV18 <= -100 Then var1 = 1; if MarketPosition == 0 and var1 == 1 and C > O and ((C >= BBdn and BBdn >= O) or (C <= BBdn)) and CCIV18 <= -100 Then{ var1 = 2; Buy("매수"); } if C < O and ((O >= BBup and BBUp>= C) or (C >= BBup)) and CCIV18 >= 100 Then var1 = -1; if MarketPosition == 0 and var1 == -1 and C < O and ((O >= BBup and BBUp>= C) or (C >= BBup)) and CCIV18 >= 100 Then{ var1 = -2; sell("매도"); } if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then var1 = 0; if MarketPosition == 1 and (crossup(c,선행스팬2[25]) or CrossDown(c,선행스팬2[25])) Then ExitLong("매수청산"); if MarketPosition == -1 and (crossup(c,선행스팬1[25]) or CrossDown(c,선행스팬1[25])) Then ExitShort("매도청산"); [수정내용] * 신호발생후 매수 신호봉의 최저가보다 낮은 가격의 봉(시작가,현재가,종가 셋중에 하나라도)이 출현시 바로 청산 반대로, 매도 신호봉의 최고가보다 높은 가격의 봉이 출현시 바로 청산 신호가 발생하지 않을경우 기존대로 청산 그럼 수고하세요
프로필 이미지
칼봉산
2013-10-14
136
글번호 68463
시스템
답변완료

문의 드립니다....

데이타2가 연속으로 누적 7음봉매수 데이터2가 연속으로 누적 7양봉매도 부탁드립니다....
프로필 이미지
오마쥬
2013-10-14
119
글번호 68462
시스템

지킴이 님에 의해서 삭제되었습니다.

프로필 이미지
지킴이
2013-10-14
12
글번호 68461
지표