커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

질문있씁니다.

Inputs : n(Numeric); var : value(""); if n== 1 then value = "A"; else if n== 2 then value = "B"; else if n== 3 then value = "C"; else if n== 4 then value = "D"; else if n== 5 then value = "E"; else if n== 6 then value = "F"; else if n== 7 then value = "G"; else if n== 8 then value = "H"; else if n== 9 then value = "I"; else if n==10 then value = "J"; else if n==11 then value = "K"; else if n==12 then value = "L"; else if n==13 then value = "M"; else if n==14 then value = "N"; else if n==15 then value = "O"; else if n==16 then value = "P"; else if n==17 then value = "Q"; else if n==18 then value = "R"; else if n==19 then value = "S"; else if n==20 then value = "T"; else if n==21 then value = "U"; else if n==22 then value = "V"; else if n==23 then value = "W"; else if n==24 then value = "X"; else if n==25 then value = "Y"; else if n==26 then value = "Z"; else if n==27 then value = "AA"; else if n==28 then value = "AB"; else if n==29 then value = "AC"; else if n==30 then value = "AD"; else if n==31 then value = "AE"; else if n==32 then value = "AF"; else if n==33 then value = "AG"; else if n==34 then value = "AH"; else if n==35 then value = "AI"; else if n==36 then value = "AJ"; else if n==37 then value = "AK"; else if n==38 then value = "AL"; else if n==39 then value = "AM"; else if n==40 then value = "AN"; else if n==41 then value = "AO"; else if n==42 then value = "AP"; else if n==43 then value = "AQ"; else if n==44 then value = "AR"; else if n==45 then value = "AS"; else if n==46 then value = "AT"; else if n==47 then value = "AU"; else if n==48 then value = "AV"; else if n==49 then value = "AW"; else if n==50 then value = "AX"; else if n==51 then value = "AY"; else if n==52 then value = "AZ"; else if n==53 then value = "BA"; else if n==54 then value = "BB"; else if n==55 then value = "BC"; else if n==56 then value = "BD"; else if n==57 then value = "BE"; else if n==58 then value = "BF"; else if n==59 then value = "BG"; else if n==60 then value = "BH"; else if n==61 then value = "BI"; else if n==62 then value = "BJ"; else if n==63 then value = "BK"; else if n==64 then value = "BL"; else if n==65 then value = "BM"; else if n==66 then value = "BN"; else if n==67 then value = "BO"; else if n==68 then value = "BP"; else if n==69 then value = "BQ"; else if n==70 then value = "BR"; else if n==71 then value = "BS"; else if n==72 then value = "BT"; else if n==73 then value = "BU"; else if n==74 then value = "BV"; else if n==75 then value = "BW"; else if n==76 then value = "BX"; else if n==77 then value = "BY"; else if n==78 then value = "BZ"; else if n==79 then value = "CA"; else if n==80 then value = "CB"; else if n==81 then value = "CC"; else if n==82 then value = "CD"; else if n==83 then value = "CE"; else if n==84 then value = "CF"; else if n==85 then value = "CG"; else if n==86 then value = "CH"; else if n==87 then value = "CI"; else if n==88 then value = "CJ"; else if n==89 then value = "CK"; else if n==90 then value = "CL"; else if n==91 then value = "CM"; else if n==92 then value = "CN"; else if n==93 then value = "CO"; else if n==94 then value = "CP"; else if n==95 then value = "CQ"; else if n==96 then value = "CR"; else if n==97 then value = "CS"; else if n==98 then value = "CT"; else if n==99 then value = "CU"; else value = "CV"; NumToAlphabet = value; 예스스탁에서 예전에 마켓프로파일 수식적어주신건데 그대로 편집기에 입력하면 선언되지 않은 이름 'NumToAlphabet'이(가) 사용되었습니다. 값을 대입할 수 있는 변수나 배열의 요소, 입력변수, 입력변... 이런 두가지오류가뜨는데 확인좀해주세요.
프로필 이미지
타고난스캘퍼
2012-02-16
1424
글번호 47818
시스템
답변완료

시스템식 부탁드립니다.

안녕하세요~ 외환선물 거래일 때 10분봉에서 오전 8시봉부터 현재봉 전까지의 거래량 평균값보다 현재봉의 거래량이 2배 이상될 때 매수하는 식을 만들고 싶습니다. 답변 부탁드려요^^
프로필 이미지
란돌
2012-02-16
492
글번호 47817
시스템
답변완료

수식문의

안녕하세요 10분봉에서 2분봉의 20일 이평선 구현 부탁드립니다 (상승시 적색 하락시 청색)
프로필 이미지
bupgong
2012-02-16
480
글번호 47816
지표
답변완료

문의/

안녕하세요? 당일청산 3분봉을 가지고 시스템 수식을 짜고 있습니다. 그림처럼 수식 부탁드립니다. (진입부분) 1. 전일 시가대비 종가가 +3포인트이상 상승으로 끝나고[전제조건], 당일은 10시 이전 시가을 하향돌파 할때 매도. ====> 그림 매도 부분 2. 전일 시가대비 종가가 -3포인트이상 하락으로 끝나고[전제조건], 당일은 10시 이전 고가을 상향돌파 할때 매수. ====> 그림 매수 부분 (청산부분) 1. 매도진입 가격 대비 +1포인트 상승할대 매도청산. 2. 매수진입 가격 대비 -1포인트 하락할대 매수청산. 감사합니다.
프로필 이미지
노블레스
2012-02-16
455
글번호 47815
시스템
답변완료

문의?

안녕하세요? 항상 도움을 주셔서 감사합니다. INPUT : LENGTH(10); VAR : TCHAN(0), BCHAN(0); TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; if crossup (c,bchan)then buy("A"); 매수 "A"가 Tchan 라인 가격에서 매수 청산하라. Tchan에 도달했을때 매수청산은 아래와 같죠? if MarketPosition == 1 Then exitlong("bx",Atlimit,Tchan); 여기서 Tcahn 라인을 첫번째가 아닌 두번째 도달할때 청산식 부탁드립니다. (즉 쌍고점에 청산하는 의미 입니다)
프로필 이미지
시스템매니아
2012-02-16
458
글번호 47814
시스템
답변완료

문의드림니다

다음수식 문의드림니다 Input : mult(9); if MarketPosition == 1 then { ExitLong("ex",AtStop,Highest(h,BarsSinceEntry+1-mult; } 위 수식에서 진입후 최고가가 진입가대비 5% 상승 이후에 진입후 최고가가 진입가대비 0.2%단위로 증가시 마다 mult값이 -1씩 차감되는 수식부탁드림니다
프로필 이미지
logos
2012-02-16
441
글번호 47813
시스템
답변완료

수정부탁드립니다-------

//일정기간의 를 테마한값// Input:length1(65),length2(150),장기전봉차(0.006),초장기전봉차(0.1); Var:초장기봉기간(1),장기봉기간(1); var:Ep(0),T1(0),T2(0),T3(0),TEMA82(0); var:TEMA71(0),eep(0),tt1(0),tt2(0),tt3(0),TEMA92(0); //장기최고저테마값 시작************************************************** if dayindex+1 < 장기봉기간 Then{ var81 = DayHigh; var82 = DayLow; } Else{ var81 = highest(H,장기봉기간); var82 = Lowest(L,장기봉기간); } value81 = var81+0.1; Ep = 2/(LENGTH1+1); if dayindex == 0 Then T1 = value81; Else T1 = value81*EP + T1[1] * (1-EP); if dayindex <= 1 Then T2 = T1; Else T2 = T1*EP + T2[1] * (1-EP); if dayindex <= 2 Then T3 = T2; Else T3 = T2*EP + T3[1] * (1-EP); TEMA82 = (3 * T1) - (3 * T2) + (T3); //장기최고저테마값 끝************************************************** //초장기최고저테마값 시작************************************************** if dayindex+1 < 초장기봉기간 Then{ var91 = DayHigh; var92 = DayLow; } Else{ var91 = highest(H,초장기봉기간); var92 = Lowest(L,초장기봉기간); } value91 = var92-0.1; eEp = 2/(LENGTH2+1); if dayindex == 0 Then tT1 = value91; Else tT1 = value91*eEP + tT1[1] * (1-eEP); if dayindex <= 1 Then tT2 = tT1; Else tT2 = tT1*eEP + tT2[1] * (1-eEP); if dayindex <= 2 Then tT3 = tT2; Else tT3 = tT2*eEP + tT3[1] * (1-eEP); TEMA92 = (3 * tT1) - (3 * tT2) + (tT3); //초장기최고저테마값 끝************************************************** if sdate != sdate[1] Then Condition1 = false; plot3(TEMA82,"장기테마등락",iff(tema82>tema82[1]+장기전봉차,red,iff(tema82<tema82[1]-장기전봉차,BLUE,WHITE))); plot4(TEMA92,"초장기테마등락",iff(tema92>tema92[1]+초장기전봉차,red,iff(tema92<tema92[1]-초장기전봉차,BLUE,YELLOW))); 너무고맙게도 예스의 도움을받아 힘들게 두게라인을 만들었는데 첨부와같은 요철을 없앨수 없나요? 물론 length 변수는 변경하지 말고요 항상수고하세요
프로필 이미지
leekss1
2012-02-16
502
글번호 47812
지표
답변완료

수식 문의 드립니다.

dayindex 는 분봉에서의 "당일"의 봉 번호 입니다. 그렇다면 "전일 또는 전전일"의 봉 번호는 어떻게 나타내는지요 dayindex로 구현되지 않는다면 다른 수식으로도 부탁드립니다. 수고하세요.
프로필 이미지
kwanq
2012-02-16
557
글번호 47811
지표
답변완료

수식 오류 해결 부탁드립니다.

첨부파일 1. 일봉매매_test1.ysg : 일봉 시가기준 상승 6000 이면 매수, 손절은 시가 아래 한틱(500), 아니면 종가청산. 일봉 시가기준 하락 6000 이면 매도, 손절은 시가 위 한틱(500), 아니면 종가청산 시스템식입니다. 2. 삼성전자 시뮬: 삼성전자 연결선물을 2008년부터 현재까지 1분차트에서 시뮬한 결과입니다. 오류: 1. 수수료를 진입 550, 청산 550 도합 1100, 슬립피지 0으로 설정하여 손실은 7600 으로 일관되게 나와야 할것으로 생각하는데...일부분은 더 작게 나오거나 아주 크게 나오고..심지어는 손절임에도 불구하고 수익으로 청산된 것도 나옵니다. 2. 손실값이 크게 이상한 것들의 진입시점을 살펴보면 장시작후 09:00 진입, 09:01 에 손실청산이 많고 대부분 장시작후 얼마안되서 청산된걸로 나옵니다. 진입청산 시점을 1분차트로 확인해보면 진입조건이 아닌데 진입하고 청산된것들이 대부분입니다. 3. 시뮬 엑셀파일에서 결과값이 이상한 것들은 별도의 색깔로 구분하였습니다. 위의 결과가 오류이면 원인이 무엇인지, 위의 시스템식에 어떤 것이 잘못된것인지 정정해주시면 감사하겠습니다.
프로필 이미지
도시유목민
2012-02-16
523
글번호 47810
시스템