커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식수정

61695 그물망 80개부탁드립니다 수고하세요^^
프로필 이미지
용각산
2019-03-13
293
글번호 127005
지표
답변완료

문의

안녕하세요. 일봉차트를 열어놓고 당월의시가(즉, 이번달월봉의 시가)를 돌파했을때 매수, 이탈하면 매도를 수식으로 어떻게 표현하나요? 그리고 일봉차트를 열어놓고 이번주시가(이번주주봉의 시가)를 돌파했을때 매수, 이탈하면 매도를 수식으로 어떻게 표현하나요?
프로필 이미지
만복이
2019-03-13
289
글번호 127004
시스템
답변완료

수식 문의 드립니다

스토케스틱 골든크로스 매매를 하고 있는데요 1계약씩 2번 되버려서 수수료가 2번 나가는 상황입니다 2계약씩 1번 매매 할수 있도록 수정 부탁드립니다 원하는 매매 수식 골든 크로스 또는 데드크로스가 나면 2계약(또는 3계약 4계약) 을 1번 골든크로스때 매수 또는 데드크로스일때 매도 할수있게 수정 부탁트립니다 Input : Period(5), Period1(3), Period2(3); value1 = StochasticsK(Period,Period1); value2 = StochasticsD(Period,Period1,Period2); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { sell(); } 어떻게 바꿔야 할지 잘 모르겠어요...ㅠ
프로필 이미지
부는바람
2019-03-13
309
글번호 127003
시스템
답변완료

질문입니다.

안녕하세요. 오랫만입니다. 그동안 수고 많으셨습니다. 부탁있습니다. 아래 지표를 보시면 input : weekP1(5),weekP2(20); var : weekcnt(0),cnt(0),count1(0),sum1(0),mav1(0),count2(0),sum2(0),mav2(0); array : WeekC[50](0); if DayOfWeek(date) < DayOfWeek(date)[1] then{ weekcnt = weekcnt+1; for cnt = 1 to 49{ WeekC[cnt] = WeekC[cnt-1][1]; } } WeekC[0] = C; sum1 = 0; if weekcnt >= weekP1 Then{ for count1 = 0 to weekP1-1{ sum1 = sum1+WeekC[count1]; } mav1 = sum1/weekP1; plot1(mav1); } sum2 = 0; if weekcnt >= weekP2 Then{ for count2 = 0 to weekP2-1{ sum2 = sum2+WeekC[count2]; } mav2 = sum2/weekP2; plot2(mav2); 이것은 60분봉에 주이평선을 보게 할 수 있는 것인데요 이것을 60분봉에 일봉차트에볼수있는 이평선을 보게 할 수 있게 수정할 수 없을까요? 잘 부탁드립니다. ㅠㅠ 감사합니다.
프로필 이미지
스오어스
2019-03-13
309
글번호 127002
지표
답변완료

종료시간 확인요청

* 유진쓰고 있는데요. 썸머타임관련 시간을 어떻게 조정해야 하나요? if sdate != sdate[1] Then SetStopEndofday(060000); if bdate != bdate[1] Then SetStopEndofday(0); <기존> 06시에 마감 했습니다. 그냥 05시로 변경만 하면 되나요? if sdate != sdate[1] Then SetStopEndofday(050000); if bdate != bdate[1] Then SetStopEndofday(0);
프로필 이미지
요타
2019-03-12
305
글번호 127001
시스템
답변완료

텍스트 표시 위치 변경식 문의

수고하십니다. 현물 주봉 차트에서 아래와 같이 하니 20이평 우측끝에 ★표시가 됩니다. 이 때 차트 맨 우측에 표시되는데 글씨를 많이 쓰는 경우 X축 우측 여백이 많이 필요하네요.. 이것을 좌측으로 5캔들 이동하고, 그봉이 양봉인 경우 종가의 1.2배 위의 위치에, 음봉인 경우 그날 종가의 1.3배 아래에 ★표시가 표시되도록 이동하려면 어떻게 해야 되는지요? 수고하세요 ************* var : tx2(0); var2 = ma(C,20); Plot92(var2,"★표시"); Text_Delete(tx2); tx2 = Text_New(sdate,stime,var2,"★"); Text_SetStyle(tx2,0,2); Text_SetColor(tx2,blue); Text_SetBold(tx2,3); Text_SetLocation(tx2, currentdate, currentTime, var2); //
프로필 이미지
오이도인
2019-03-12
351
글번호 126999
지표
답변완료

당일 매수 다음날 시가매도

래리윌리엄스 변동성 돌파 전략을 하려고 합니다. 일간으로 적용. 당일 매수.(매도는 없음,아래 손절만 있고.) 2% 손절 다음날 9시30분 매도. 다시 전략 시작. 부탁드립니다.
프로필 이미지
와이비엘
2019-03-12
349
글번호 126998
시스템
답변완료

거래량 관련

안녕하세요 선물 10 분봉에서 앞선 10 개봉중에서 현재봉이 최저 거래량일경우, 다음봉에서 (특정 조건이 만족할 때, 매수 또는 매도) 진입하는 수식을 만들고 싶은데, 도움을 부탁드립니다. 감사합니다.
프로필 이미지
워싱턴
2019-03-12
315
글번호 126997
시스템
답변완료

수식변환 부탁드립니다

렌코차트를 활용하여 MACD 크로스 전략을 작성하여 보았습니다. 하나의 시그널 메이커 수식 입니다 벽돌크기는 20틱으로 설정했으며, 국내시간제한으로 09;00 - 익일05:00 까지로 강제청산되게 하였습니다 이익설정은 0.3% 이며, 0.2% 도달후 10%하락시도 이익청산 입니다 죄송 스럽지만 변환 부탁 드립니다 Params : vSSTIME(090000), vEETIME(050000); Vars : TCOND(False); If vSSTIME < vEETIME Then Begin IF vSSTIME <= TIME And TIME < vEETIME Then TCOND = True Else TCOND = False; End Else Begin IF vSSTIME <= TIME Or TIME < vEETIME Then TCOND = True Else TCOND = False; End; Param : BlockSize_Tick( 20 ); // 벽돌의 최소 변화폭(단위 : 틱) Vars : BlockSize( 0 ), // 벽돌크기 BlockN( 0 ), // 벽돌 개수 Trend( 0 ); // 추세 Arrays : HighValue[2](0), // 벽돌의 고가 LowValue[2](0); // 벽돌의 저가 If TCOND Then Begin If CB = 1 // 초기 벽돌의 고가와 저가 설정 Then Begin BlockSize = PriceScale * OneTick * BlockSize_Tick; HighValue[0] = Close; LowValue[0] = Close; End; // 렌코 계산 If Trend = 0 // 추세 없음 Then Begin // 종가가 현재 벽돌의 저가에서 벽돌크기 뺀 가격보다 내려가면 => 하락 추세 If Close < LowValue[0] - BlockSize Then Begin BlockN = IntPortion((LowValue[0] - Close)/BlockSize); LowValue[0] = LowValue[0] - (BlockSize * BlockN); Trend = -1; End // 종가가 현재 벽돌의 고가에서 벽돌크기 더한 가격보다 올라가면 => 상승 추세 Else if close > HighValue[0] + BlockSize Then Begin BlockN = IntPortion((Close - HighValue[0])/BlockSize); HighValue[0] = HighValue[0] + (BlockSize * BlockN); Trend = 1; End; End Else if Trend = -1 // 하락 추세 Then Begin // 종가가 현재 벽돌의 저가에서 벽돌크기 뺀 가격보다 내려가면 => 하락 추세 지속 If Close < LowValue[0] - BlockSize Then Begin BlockN = IntPortion((LowValue[0] - Close)/BlockSize); HighValue[0] = LowValue[0]; LowValue[0] = LowValue[0] - (BlockSize * BlockN); // 벽돌의 저가 갱신 End // 종가가 현재 벽돌의 고가에서 벽돌크기 더한 가격보다 올라가면 => 상승추세로 전환 Else If Close > HighValue[0] + BlockSize Then Begin BlockN = IntPortion((Close - HighValue[0])/BlockSize); HighValue[1] = HighValue[0]; HighValue[0] = HighValue[1] + (BlockSize * BlockN); LowValue[0] = HighValue[1]; Trend = 1; End; End Else if Trend = 1 // 상승 추세 Then Begin // 종가가 현재 벽돌의 고가에서 벽돌크기 더한 가격보다 올라가면 => 상승추세 지속 If Close > HighValue[0] + BlockSize Then Begin BlockN = IntPortion((Close - HighValue[0])/BlockSize); LowValue[0] = HighValue[0]; HighValue[0] = HighValue[0] + (BlockSize * BlockN); End // 종가가 현재 벽돌의 고가에서 벽돌크기 뺀 가격보다 내려가면 => 하락 추세로 전환 Else If Close < LowValue[0] - BlockSize Then Begin BlockN = IntPortion((LowValue[0] - Close)/BlockSize); LowValue[1] = LowValue[0]; LowValue[0] = LowValue[1] - (BlockSize * BlockN); HighValue[0] = LowValue[1]; Trend = -1; End; End; End; Var : Renko_price(0), oMACD(0), oSignal(0); // 렌코차트의 종가? : 상승벽돌에서는 고가, 하락벽돌에서는 저가 If trend = 1 Then Renko_price = HighValue[0] Else If trend = -1 Then Renko_price = LowValue[0]; // 최초 렌코차트의 MACD 값은 첫번째 렌코차트 값으로 정의 If Renko_price <> 0 And Renko_price[1] = 0 Then Begin oMACD = Renko_price; oSignal = Renko_price; End; input : period1(12), period2(26), period3(9); // 벽돌이 갱신될 때마다 MACD 와 시그널 계산 If Renko_price <> Renko_price[1] Then Begin oMACD = EMA(C, period1) - EMA(C, period2); oSignal = EMA(oMACD, period3); End; //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyProfitTargetPercent(0.3); //////////////////////////////////////////////////////////////////////////////////////// Inputs: MyPercentTrailingBefore(0.2), MyPercentTrailingAfter(10); If TCOND Then Begin // MACD 가 시그널 상향돌파 시, 매수 If CrossUp(oMACD, oSignal) Then Buy(); // MACD 가 시그널 하향돌파 시, 매도 If CrossDown(oMACD, oSignal) Then Sell(); SetStopProfittarget( MyProfitTargetPercent, PercentStop ); SetStopTrailing( MyPercentTrailingAfter, MyPercentTrailingBefore, PercentStop ); End Else Begin SetStopProfitTarget(0); SetStopTrailing(0, 0); End; SetStopEndOfday(vEETIME);
프로필 이미지
vlfaud3
2019-03-12
363
글번호 126991
시스템