커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수고하십니다.예비신호에 대하여

빠른 답변에 감사드립니다. 예비신호 발생시에 변수로 예비신호가 나왔다는것을 저장하는 방법이 있나요?
프로필 이미지
구름달
2021-11-23
638
글번호 153830
시스템
답변완료

RSI

===================================================================== Inputs: Length(NumericSimple); Variables: Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); If CurrentBar == 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = C[Counter] - C[Counter+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If CurrentBar > 1 AND Length > 0 Then Begin UpAmt = C[0] - C[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSI = 100 * UpAvg / (UpAvg + DownAvg); Else RSI = 0; ========================================================================== RSI 지표 구성이 위와 같습니다.(예스랭귀지 내용 복사했습니다.) 스팟에서 RSI 지료를 쓰려고 하는데, 확장차트에서 할 수 없는 상황이 되었습니다. 위의 식을 스팟에서 구현하도록 도움 부탁드리겠습니다. CurrentBar를 어떻게 처리할 지 몰라서 여쭤봅니다. 확장 차트에서 C[Counter] ==> CT[i].GetClose(Counter) 이런 식으로 구성할 예정입니다.
프로필 이미지
cs아빠
2021-11-23
496
글번호 153829
지표
답변완료

지표 수식 부탁드립니다.

분봉에서 상한가 마감한 다음날 고가 대비 -10, -15, -20, -25, -30가 선으로 나타나게끔 지표 수식 부탁드립니다. 감사합니다.
프로필 이미지
after512
2021-11-23
622
글번호 153827
지표

선물대장 님에 의해서 삭제되었습니다.

프로필 이미지
선물대장
2021-11-23
0
글번호 153824
시스템
답변완료

문의 드립니다.

당일 시가 기준으로 시가 위이면 1번 적용 당일 시가 기준으로 시가 아래면 2번 적용 그리고 매매 수량을 원하는 대로 입력할 수 있을까요? 현재는 하나만 가능한데요... 부탁드립니다. 1번 Input : Period(10), MultiD(2); var : BBmd(0),BBup(0),BBdn(0); BBmd = ma(C,Period); BBup = BollBandUp(Period,MultiD); BBdn = BollBandDown(Period,MultiD); if C > BBmd and crossup(C[1],BBmd[1]) Then buy(); input : P(10); var1 = ma(C,P); if CrossDown(c,var1) Then ExitLong(); 2번 Input : Period(100), MultiD(2); var : BBmd(0),BBup(0),BBdn(0); BBmd = ma(C,Period); BBup = BollBandUp(Period,MultiD); BBdn = BollBandDown(Period,MultiD); if C < BBmd and CrossDown(C[1],BBmd[1]) Then sell(); input : P(10); var1 = ma(C,P); if crossup(c,var1) Then ExitShort();
프로필 이미지
선물대장
2021-11-23
683
글번호 153823
시스템

안미남 님에 의해서 삭제되었습니다.

프로필 이미지
안미남
2021-11-23
0
글번호 153822
시스템
답변완료

순서 질문드립니다.

C2 = Data2(c); C3 = Data3(c); C4 = Data4(c); 위 구문을 아래처럼 놓을때랑 value1 위에 놓을때랑 수익이 달라지는데,,, 정석이 어떻게되는지 궁금합니다. ------------------------------- input : StartTime(93000),EndTime(144000); Input : s1(14), s2(198); input : 손절(1.2),익절(1.2); input : 최소이익(1.0),손실범위(0.1); var : Tcond(false,Data1); var : C2(0,Data2); var : C3(0,Data3); var : C4(0,Data4); value1 = ma(c3,s1); Value2 = ma(c3,s2); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; C2 = Data2(c); C3 = Data3(c); C4 = Data4(c); if Tcond == true Then { if CrossUp(value1,Value2) then Buy(); if CrossDown(value1,Value2) then Sell(); } SetStopEndofday(EndTime); SetStopProfittarget(익절,PointStop); SetStoploss(손절,PointStop); SetStopContract();#생략가능 SetStopTrailing(손실범위 , 최소이익 , PointStop);
프로필 이미지
캣피쉬
2021-11-23
874
글번호 153820
시스템
답변완료

다시 부탁드립니다

안녕하세요 예스스탁입니다. 문의하신 내용은 각진입별로 진입명을 부여하고 해당 진입명을 청산함수에 지정해서 청산하게 하셔야 합니다. if A조건 Then Buy("A"); if A조건 Then <== B 조건이지요? Buy("B"); if A조건 Then <== C 조건이지요? Buy("C"); if A조건 Then <== d 조건이지요? Buy("D"); if MarketPosition == 1 Then { if A1조건 Then <=== 여기부터 이해 안 됩니다 ExitLong("A1",OnClose,DEF,"a"); 다시 좀 부탁드립니다 if A2조건 Then 수고하세요~~ ExitLong("A2",OnClose,DEF,"a"); if A3조건 Then ExitLong("A3",OnClose,DEF,"a"); if A4조건 Then ExitLong("A4",OnClose,DEF,"a"); } 즐거운 하루되세요 > 안미남 님이 쓴 글입니다. > 제목 : 늘 수고 많습니다 > 식이 a b c d 로 4개의 식이 있습니다 A 식으로 들어간건 A1 청산 B 식으로 들어간건 B1 청산 C 식으로 들어간건 C1 청산 D 식으로 들어간건 D1 청산 으로 하고 싶습니다 예를 들어 만들어 주시길 부탁드립니다 늘 고맙습니다
프로필 이미지
안미남
2021-11-23
571
글번호 153819
시스템

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

프로필 이미지
knb
2021-11-23
11
글번호 153818
사용자 함수