커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁드립니다.

아래 수식에서 색상이 변하고 3개봉은 건너뛰고 다음 진입구간에 신호나오면 진입하도록 부탁드리고요 매수진입시 봉하단에서 끝에서 진입하고 매도진입은 봉상단 끝에서 진입하게 할 수 있을까요? 안된다면 매수진입이 봉하단끝은 아니더라도 근사치라도 매도진입도 봉상단은 아니더라도 상단근처에서 진입하도록 부탁드립니다. 마지막으로 수식을 차트에 적용하고 경보 후 주문이나 자동주문을 설정하고 확인을 누르려하면 확인글씨를 클릭할수 없게됩니다. 방법이나 조치좀 부탁드립니다. var1 = ma(c,9); var2 = ma(C,18); if MarketPosition == 0 and var2[1]>var2[0] and OPEN[0]>var1 and OPEN[0]>CLOSE[0] Then SELL(); if MarketPosition == 0 and var2[1]<var2[0] and OPEN[0]<var1 and OPEN[0]<CLOSE[0] Then BUY(); SetStopProfittarget(PriceScale*10,PointStop); SetStopLoss(PriceScale*1,PointStop);
프로필 이미지
매일상승
2015-06-27
165
글번호 87711
시스템
답변완료

Text_GetString() 함수를 문의합니다.

안녕하세요 초보라서 모르는 것이 많습니다. var2=0; for var1=0 to 9 { Text_New(20150618, 0,1320000-var2,Text_GetString(var1)); messagelog(",%s",Text_GetString(var1)); print("test₩배열.csv",",%s",Text_GetString(var1)); var2 = var2 + 3000; }; 이렇게 작성하였으나 Text_GetString() 함수가 정확하게 작동하지 않는 것 같아서 문의를 드립니다. 어떻게 하면 숫자를 문자로 받을 수 있을른지요? 친절한 지도를 바랍니다. 좋은 하루 되세요!!
프로필 이미지
장하늘
2015-06-27
151
글번호 87710
지표
답변완료

데이터 확인요청

안녕하세요. 아래와 같이 지표를 debug 해보았을 때, 첫번째, messaglog에서 찍는 CLOSED(2)값과 두번째 messagelog에서 찍는 CLOSED(2)값이 다릅니다. 동일 봉에서 실행되는 지표이니 동일한 값을 가져와야 할 것 같은데 첫번째 messaglog에서 찍는 CLOSED(2)나 CLOSED(3)이나 모두 전일 종가를 가져오는 것 같습니다. 제 수식에 문제가 있는 지 확인 부탁드립니다. VARS: CORR1(0), CORR2(0), CORR3(0); VARS: NORM_VAL1(0), NORM_VAL2(0), NORM_VAL3(0); VARS: NORM_VAL1_K(0), NORM_VAL2_K(0), NORM_VAL3_K(0); VARS: SIGMA1(0), SIGMA2(0), SIGMA3(0); VARS: MEAN1(0), MEAN2(0),MEAN3(0),V_MEAN(0); VARS: S_NUM(0), T_NUM(0), NUM(0), TEMP_NUM(0),VOLUME_ADJ(0); VARS: I(0), SUM(0), SUM_KOSPI(0), PRICE_MEAN(0), PRICE_MEAN1(0), PRICE_MEAN2(0); S_NUM=1; T_NUM=1; TEMP_NUM=140; V_MEAN=0; NUM=1; FOR I=1 TO TEMP_NUM { // MessageLog(" STIME[I]: %f sDate:%f, sDate[I]:%f", STIME[I], sDate, sDate[I]); IF (STIME[I] == 090000 AND sDate[I] != sDate) THEN T_NUM = I ; ELSE IF (STIME[I] == 090000 AND sDate[I] == sDate ) THEN S_NUM = I + 1; } // MessageLog("NUM: %f", NUM); NUM = T_NUM - S_NUM; SIGMA1 = STD(Data1(C),NUM); MEAN1 = MA(Data1(C),NUM); NORM_VAL1 = (Data1(C)-MEAN1)/SIGMA1; //Data1 SIGMA2 = STD(Data1(V),NUM); MEAN2 = MA(Data1(V),NUM); NORM_VAL2 = (Data1(V)-MEAN2)/SIGMA2; //달러Data2 SUM=0; SUM_KOSPI=0; FOR I=S_NUM TO T_NUM { V_MEAN = V_MEAN + Data1(V[I]); } V_MEAN = V_MEAN /(T_NUM-S_NUM) ; FOR I=S_NUM TO T_NUM { PRICE_MEAN1 = (DATA1(C[I])-CLOSED(2))/CLOSED(2); PRICE_MEAN2 = (Data2(C[I])- Data2(CloseD(2)))/Data2(CloseD(2)); PRICE_MEAN=PRICE_MEAN1 - PRICE_MEAN2; SUM = SUM + PRICE_MEAN/ NUM ; SUM_KOSPI = SUM_KOSPI+PRICE_MEAN * (DATA1(V[I]))/V_MEAN/(T_NUM-S_NUM) ; MessageLog("I: %f STIME[I] :%f SDATE[I]:%f PRICE_MEAN: %f, SUM:%f, DATA1(C[I]): %f, CLOSED(2):%f, Data2(C[I]):%f, Data2(CloseD(2)): %f", I,STIME[I], SDATE[I] , PRICE_MEAN, SUM, DATA1(C[I]), CLOSED(2),Data2(C[I]), Data2(CloseD(3))); } VOLUME_ADJ= SUM; //PRICE_MEAN=(DATA1(C)-CLOSED(1))/CLOSED(1) - (Data2(C)- Data2(CloseD(1))/Data2(CloseD(1)) ); PRICE_MEAN1=(DATA1(C)-CLOSED(2))/CLOSED(2) ; PRICE_MEAN2=(Data2(C)- Data2(CloseD(2)))/Data2(CloseD(2)) ; PRICE_MEAN=PRICE_MEAN1 - PRICE_MEAN2; MessageLog(" DATA1(C): %f, CLOSED(2):%f, CLOSED(1):%f, Data2(C):%f, Data2(CloseD(2)): %f, Data2(CloseD(1)): %f", DATA1(C), CLOSED(2), CLOSED(1), Data2(C), Data2(CloseD(2)), Data2(CloseD(1))); PLOT1(PRICE_MEAN,"VOLUME_ADJ", RED); PLOT2(SUM,"PRICE_MEAN", BLUE);
프로필 이미지
SJ
2015-06-26
162
글번호 87709
지표

칠곡저격수 님에 의해서 삭제되었습니다.

프로필 이미지
칠곡저격수
2015-06-26
15
글번호 87708
종목검색

칠곡저격수 님에 의해서 삭제되었습니다.

프로필 이미지
칠곡저격수
2015-06-26
14
글번호 87707
종목검색
답변완료

엔벨롭

envelope 지표선을 직각으로도 표현이 가능한가요?
프로필 이미지
매력쟁이슈
2015-06-26
160
글번호 87706
지표

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

프로필 이미지
앙두
2015-06-26
0
글번호 87705
시스템
답변완료

수식 질문드립니다.

아래의 수식을 만족시키는 수식이 궁금합니다. 주가가 해당월 시초가 및 5 이평선보다 위에 있고, 5이평선이 상승하고 있으면 매수진입, 주가각 해당월 시초가 및 5 이평선보다 밑에 있고, 5이평선이 하락하고 있으면 매도진입
프로필 이미지
앙두
2015-06-26
134
글번호 87704
시스템
답변완료

최근 도움받은 내용에서 추가 질문이 두가지 있습니다.

항상 수고 많으십니다. 최근 가이드 받아 진행한 코딩에서 추가 질문사항이 발생하여 도움을 요청드립니다. ----------------------- 1. 질문/답변내용 [질문] 20일선 하향이탈 100건을 배열에 담는다. 배열을 뒤져서 현재봉의 종가 또는 시가와 가장 근접한 봉의 위쪽, 봉의 아래쪽 값 두개를 찾아서 Plot으로 그려준다. *** 추가 질문사항 -> Y축을 뒤집었을 때에도 Plot을 똑바로 뒤집을 수 있는 방법 : 예전에 비슷한 질문을 드렸을 때 일일시가 기준으로 뒤집었는데 이번 케이스에는 아닌것같고 해서 질문을 드립니다. ㅡㅡ;;; [답변] 안녕하세요 예스스탁입니다. Input: 일선1(5), 일선2(20); Var: 종가변곡점2(0),Cnt(0), Cnt1(0), Cnt2(0), 상위값(0), 하위값(0),HH(0),LL(0); Array: 변곡발생[100](0), upv[100](0),dnv[100](0); var1 = ma(c,일선2); // 100개의 20일선 하향이탈을 기록한다. If (CrossDown(C, var1)) Then { 변곡발생[0] = (O + C) / 2; For Cnt = 1 To 99 { 변곡발생[Cnt] = 변곡발생[Cnt -1][1]; } } for cnt = 0 to 99{ if 변곡발생[cnt] >= C Then upv[cnt] = 변곡발생[cnt]; Else upv[cnt] = 99999999; if 변곡발생[cnt] <= C Then dnv[cnt] = 변곡발생[cnt]; Else dnv[cnt] = 0; } HH = 99999999; LL = 0; for cnt = 0 to 99{ if upv[cnt] < HH Then HH = upv[cnt]; if dnv[cnt] > LL Then LL = dnv[cnt]; } plot1(HH); plot2(LL); 즐거운 하루되세요 2. 특정조건에서 진입금지를 설정하고자 하는데 ex. 일일저가와 일일고가의 차이가 100% 이상인 경우 진입금지 하지만 전일 종가에서 시초가가 100% 상승해서 시작하는 경우 이 경우에만 예외를 설정해서 쭉가게 하는 법입니다. 감사합니다. 행복한 하루되십시오~!!!
프로필 이미지
가락국수
2015-06-26
173
글번호 87703
지표