커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁드립니다.

- 일봉 일자가 하루 늦게 표시되는데 이를 조정할 수 있는지요?(지난 금요일 일봉이 4월 22일로 나오는데 4월21일로 표시할 수는 없는지요?)
프로필 이미지
예시
2017-04-23
189
글번호 109075
지표
답변완료

시스템 수식 부탁드립니다~

두가지 수식 작성 도움 부탁드립니다~ 1) 밑에 식에서 청산 조건도 변수 조절 할수 있게 부탁드립니다. 그리고 밑에식에서 200일선 기준으로 캔들이 밑에 있을때는 매도만, 위에 있을때는 매수만 진입하고 오차 허용 범위도 5정도로 하려합니다. 그리고 200일선 위에 있어도 저점 보다 30틱 이상 상승시는 매수 신호 자리에서 한번 건너뛰기, 200일선 밑에 있어도 고점에서 30틱 이상 하락시는 매도 신호 자리에서 한번 건너뛰기, 또한 200일선을 넘어서고 50틱 이상 상승후 매수 진입 한번 금지 하고 매도 신호 가능, 매도 신호 후 매수 신호 나오면 진입, 200일선 밑으로 내려와서 50틱 이상 하락후 매도 진입 한번 금지, 매수 신호 가능하고 매수 신호 후 다시 매도 신호 나오면 진입. 하루 손실 50틱 제한도 설정 부탁드립니다. 모두 변수 조절할 수 있도록 부탁드립니다. --------------------------------------------------- Input : P1(5),P2(60),RSIP(30); Input : LENGTH(10); var : T(0); var : TCHAN(0), BCHAN(0),T1(0),T2(0); var1 = wma(c,P1); var2 = wma(c,P2); var3 = RSI(RSIP); Condition1 = var1 > var2 and var3 >=70; Condition2 = var1 < var2 and var3 <=30; TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; if Condition1 == true and Condition1[1] == false Then{ T = 1; if MarketPosition == -1 Then ExitShort(); } if Condition2 == true and Condition2[1] == false Then{ T = -1; if MarketPosition == 1 Then ExitLong(); } if TCHAN > TCHAN[1] and BCHAN > BCHAN[1] Then T1 = 1; if TCHAN < TCHAN[1] and BCHAN < BCHAN[1] Then T1 = -1; if T == -1 and T1 == -1 Then SELL("S",atlimit,TCHAN); if T == 1 and T1 == 1 Then buy("c",atlimit,BCHAN); if MarketPosition == 1 Then{ if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*10 Then exitlong("bx1",AtStop,EntryPrice+PriceScale*2); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*15 Then exitlong("bx2",AtStop,Highest(H,BarsSinceEntry)-PriceScale*6); } if MarketPosition == -1 Then{ if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*10 Then ExitShort("sx1",AtStop,EntryPrice-PriceScale*2); if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*15 Then ExitShort("sx2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*6); } ---------------------------------------------------- 2) 이전 고점과 저점을 구하고 그 이전에 고점이 낮았다면(상승중 이었다면), 고점과 저점에서 피보나치 수열로 4자리에서 매수 진입, 매도는 이전 고점과 저점을 구하고 그 이전에 저점이 높았다면(하락중 이었다면) 고점과 저점에서 피보나치 수열로 4자리에서 매도 진입 6틱 이상 상승시 2틱 익절에 mit 걸고, 10틱 이상 상승시 부터는 트레일링 스탑으로 수익 방향의 5틱 밑에 mit 걸어 익절 될수 있도록 부탁드립니다. 고점/저점, 수열, 그리고 익절에 대한 변수 조절 할 수 있도록 부탁드립니다.
프로필 이미지
phn
2017-04-23
221
글번호 109074
시스템
답변완료

전환가격

아래수식에서 전환가격을 상승전환가격과 하락전환가격으로 구분한 수식으로 변경하여 주시면 대단히 감사 하겠습니다. Input:전환가격(100),종가사용여부(1),파동선두께(2),수치표시(1); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부 == 1,C,H); LL = IFF(종가사용여부 == 1,C,L); If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then // Index가 0일때는 이전 봉이 없으므로 Index가 1일때부터 1씩 증가 { hiBar = hiBar + 1; // 최고점을 찍은 고[저]가의 위치를 저장 해놓기 위해 봉번호를 카운트한다. loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; // 현재 봉이 최고가이면 봉번호를 0으로 초기화 If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1] + 전환가격 < HH and hiBar == 0; // 최소변동률지그재그와 비교했을 때 비율 대신 가격을 사용한 게 다르다. // 전저점에서 전환가격만큼 더한 값보다 고가가 크다면 추세가 변한 것으로 보고 신규 고점으로 인식 Condition2 = 고[1,1] - 전환가격 > LL and loBar == 0; // 전고점에서 전환가격만큼 뺀 값보다 저가가 작다면 추세가 변한 것으로 보고 신규 저점으로 인식 처리구분 = ""; If Condition1 and Condition2 Then // 고점과 저점 조건 동시 만족 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; // 다음 봉의 고가가 기준 고가로 인식되려면 hiBar 값이 0이 되어야 한다. // 봉이 바뀔 때마다 hiBar의 값을 1씩 증가시키므로 다음 봉의 hiBar 값은 0이 된다. loBar = -1; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,Red); } Else If 고[1,1] < HH[hiBar] Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,Blue); } Else If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; }
프로필 이미지
너무조아
2017-04-23
216
글번호 109073
지표
답변완료

수식 문의드립니다.

안녕하세요 아래 수식은 스토캐스틱과 이평을 이용한것입니다. 아래 수식은 두조건이 1개의 분봉에서 동시에 만족할때에 신호가 나오게 되어있습니다. 장중에 두 조건이 동시에 만족하기는 상당히 어렵습니다. var1= ma(C,5); var2 = StochasticsD(5,3,3); if var1 > var1[1] And var2 < var2[1] Then buy(); if var1 < var1[1] And var2 > var2[1] Then sell(); 제가 원하는것은 5이평이 반전하거나 반전해서 상승중에 있을때에 Sto533이crossup할때 매수, sto533이 crossup 해서 반전하거나 반전해서 상승중인상태에서, 5이평이 반전할때에 매수신호가 나오게 하는것인데, 수식을 수정해 주시면은 감사하겠습니다. 반대로 crossdown 일때는 매도 입니다. 감사드립니다.
프로필 이미지
뭐이런걸다
2017-04-23
187
글번호 109072
시스템
답변완료

수식문의

10 20 30 이평 3개이평이전부 골드나오면 매수 한개라도 데드나오면청산 그리고 다시골드나오면 재매수하는식 부탁드립니다. 또한가지 30이평을 캔들이탈하면 청산 다시진입하면 재매수하는식도 부탁드립니다 감사합니다
프로필 이미지
백진강
2017-04-23
175
글번호 109071
시스템
답변완료

수식변경 요청드립니다

운영자님께 다음 지표 수식 중 중심선선의 수식을 우사향 시 red / 우하향시 Blue 로 색변경이 가능하도록 요청드립니다. INPUT : LENGTH(17); VAR : TCHAN1(0), BCHAN1(0), TCHAN2(0), BCHAN2(0); TCHAN1 = HIGHEST(HIGH+PriceScale*2, LENGTH)[0]; TCHAN2 = HIGHEST(HIGH+PriceScale*2, LENGTH)[0]; BCHAN1 = LOWEST(LOW-PriceScale*2, LENGTH)[0]; BCHAN2 = LOWEST(LOW-PriceScale*2, LENGTH)[0]; PLOT1(TCHAN1, "TOP1"); PLOT2(TCHAN1-PriceScale*6, "TOP2"); PLOT3(BCHAN1, "BOT2"); PLOT4(BCHAN1+PriceScale*6, "BOT1"); PLOT5((TCHAN1+BCHAN1)/2, "중심선"); 수고하세요
프로필 이미지
고박사122
2017-04-23
197
글번호 109070
지표
답변완료

예스스탁님의 엉터리 함수!. 하이스트 그리고 로우스트...

이것이 들어가면 당신의 모든 수식은 제로화가 된다!...
프로필 이미지
신호대로
2017-04-23
223
글번호 109069
검색
답변완료

질문드립니다.

value값이 3개가 되면 검색이 안되나요? 5이평 20이평 60이평 120이평 정배열 이것을 어떻게 해야하나요? 위에 대로 선언한뒤 condition1 = (5이평 > 10이평 and 10이평 > 20이평) 까지만되고 뒤에 20이평 >60이평 까지 하면 검증은 완료가 되는데 종목검색이 되지는 않습니다.
프로필 이미지
stockric
2017-04-22
180
글번호 109068
시스템

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
신호대로
2017-04-22
15
글번호 109067
지표