커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

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

프로필 이미지
회원
2023-08-11
738
글번호 171429
시스템
답변완료

시가청산_추가

하기 답변 감사합니다. 의도가 잘못 전달된듯하여 재질문드립니다. 현재 9시 시가 수신시 바로청산을 적용해서 사용하고 있고 질문드린 사항은, 1분봉차트에서 시가수신시 청산보다는 느리고 9:01분 이전에는 청산하고싶은데, 방법이 없는지를 문의드렸습니다~ ----------------------------------------------- 안녕하세요 예스스탁입니다. 아래와 같이 작성하시면 9시봉시가수신시 바로 청산됩니다. if (NextBarSdate != sDate and NextBarStime >= 90000) or (NextBarSdate == sDate and NextBarStime >= 90000 and sTime < 90000) Then ExitLong("bx",AtMarket); 즐거운 하루되세요 > 건곤대 님이 쓴 글입니다. > 제목 : 시가청산 시간차 > 안녕하세요. 실전 1분봉차트에서 익일 시가에 바로 청산하는 전략을 쓰고 있는데요,(nextbaropne활용) 사정상, 09:00~09:01 사이에도 청산을 추가로 시키고 싶은데요, (9:01분이후부터는 신규진입신호가 발생해서 주문거부되는 현상 피하고자 함) 혹시 방법이 없을까요? 1분봉차트를 사용하니, 조건식으로 해보려 해도 가장 최소로 구분되는 시간텀이 1분인듯하여 문의드립니다.
프로필 이미지
건곤대
2023-08-11
1269
글번호 171426
시스템
답변완료

수식 부탁드립니다.

안녕하세요 다름이 아니라 아래수식을 사용자 함수로 만들어 고정되게 쓰고 싶습니다. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// var: yjp(0),forcast(0),CHA(0); var : X1(0), X2(0), X3(0), X4(0), X5(0), X6(0), X7(0), X8(0), X9(0),X10(0); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// X1=0.009341; X2=0.009773; X3=0.009342; X4=-0.00043; X5=-0.00125; X6=-0.00096; X7=-0.00201; X8=-0.00565; X9=-0.00809; X10=8.18E-06; forcast=yjp+x1*Data2(c)+x2*Data3(c)+x3*Data4(c)+x4*Data5(c)+x5*Data6(c)+x6*Data7(c)+x7*Data8(c)+x8*Data9(c)+x9*Data10(c)+x10*Data15(c); CHA=(C-forcast); CHA 를 모든 로직에 데이타로 쓰고 싶습니다.
프로필 이미지
구름달
2023-08-11
1568
글번호 171415
사용자 함수
답변완료

시가청산 시간차

안녕하세요. 실전 1분봉차트에서 익일 시가에 바로 청산하는 전략을 쓰고 있는데요,(nextbaropne활용) 사정상, 09:00~09:01 사이에도 청산을 추가로 시키고 싶은데요, (9:01분이후부터는 신규진입신호가 발생해서 주문거부되는 현상 피하고자 함) 혹시 방법이 없을까요? 1분봉차트를 사용하니, 조건식으로 해보려 해도 가장 최소로 구분되는 시간텀이 1분인듯하여 문의드립니다.
프로필 이미지
건곤대
2023-08-11
1385
글번호 171412
사용자 함수
답변완료

안녕하세요

안녕하세요 선물매매식 1, Period20(20ma)와 Period60(60ma)이 정배열이고 볼린져 밴드 하단선 보다 크면 매수 Period60(60ma) 보다 작거나 or 볼린져 밴드 Period(20)의 하단선 보다 작으면 (돌파시) 매도 2, 선물지수가 볼린져 밴드 Period(20)의 상단선 보다 크면 (돌파시) 매수 선물지수가 볼린져 밴드 Period(20)의 상단선 보다 작으면 (이탈시) 매도 3, 선물지수가 볼린져 밴드 Period(20)의 하단선 이탈후 5ma 상승 전환시 매수 선물지수가 볼린져 밴드 Period(20)의 상단선 돌파후 5ma 하락 전환시 매도 감사합니다
프로필 이미지
금보
2023-08-11
1015
글번호 171411
시스템

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

프로필 이미지
푸른
2023-08-11
1
글번호 171410
시스템
답변완료

함수요청

안녕하세요? 국내선물 분봉으로 거래를 하고자 합니다 . MACD오실레이터 상승다이버전스, 하락다이버전스를 이용해서 매매에 활용하고 싶습니다. 샘플 부탁드립니다. 감사합니다.
프로필 이미지
흰둥이아빠
2023-08-11
890
글번호 171409
시스템
답변완료

수식추가

Inputs : Period(20), Sence(1.5), CC_DN(Yellow); var : 기준선기간(26); Vars: VLineUp(0), VLineDn(0), HHighest(0), LLowest(0),/ JustChanged(FALSE), VLine(0), DBN(0),T(0); Array: Highs[35](0), Lows[35](0), RRange[35](0), UpWave[1](FALSE), DnWave[1](FALSE); . If STime == 180000 Then DBN = 0; DBN = DBN + 1; Var1 = Period; Var2 = Var1 - 1; Var3 = Var1 - 2; Var5 = Sence; Var6 = H-L; JustChanged = FALSE; if CurrentBar <= Var2 then begin Highs[CurrentBar] = Close; Lows[CurrentBar] = Close; RRange[CurrentBar] = (H-L) /2; end; if CurrentBar == Var1 then begin if Highs[Var2] >= Highs[Var3] then begin UpWave[1] = TRUE; HHighest = Highs[Var2]; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); #Plot1(VLineUp,"VLineUp"); end; if Highs[Var2] < Highs[Var3] then begin DnWave[1] = TRUE; LLowest = Lows[Var2]; VLineDn = LLowest + (Var5 * MA(Var6,Var2)); #Plot2(VLineDn,"VLineDn"); end; end; if CurrentBar > Var1 then begin if DnWave[1] and Close > VLineDn then begin DnWave[1] = FALSE; UpWave[1] = TRUE; JustChanged = TRUE; HHighest = Close; LLowest = 0; end; if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin UpWave[1] = FALSE; DnWave[1] = TRUE; JustChanged = TRUE; LLowest = Close; HHighest = 0; end; if JustChanged == FALSE then begin if Close > HHighest then HHighest = Close; else if Close < LLowest then LLowest = Close; end; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); VLineDn = LLowest + (Var5 * MA(Var6,Var2)); if UpWave[1] then T = 1; else if DnWave[1] then T = -1; end; Inputs: TurnLen(9), StdLen(26), PrdLen(52),P(60); Variables: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),mav(0); 전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2; 기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2; 선행스팬1 = (전환선[25] + 기준선[25]) / 2 ; 선행스팬2 = (Highest(High, PrdLen)[25] + Lowest(Low, PrdLen)[25]) / 2; mav = ma(C,P); if CrossUp(C,mav[25]) and 선행스팬1 > 선행스팬2 and T == 1 Then Buy(); if CrossDown(C,mav[25]) and 선행스팬1 < 선행스팬2 and T == -1 Then Sell(); 안녕하세요. 위식에 추가부탁 드려요 시간설정 변수처리 오후 15시~익일02시 당일 수익 100틱 청산 매매중지
프로필 이미지
아트정
2023-08-11
1152
글번호 171408
시스템
답변완료

부탁드립니다

항상 도움을 주셔셔 감사드립니다. 1.if T == 1 and (CrossUp 이라고 할때 1의 고점을 기준봉으로 잡고 조정후 10봉이내에서 재돌파 할때의 추가 수식을 알고 싶습니다. --------------------------------------------------------------------- 2,이러한 시스템식을 운영한다고 과정할때 지표식으로 변환하고자 합니다. input :N1(1),카운팅시작일자(1), 카운팅시작시간(0); input : n(1),x(1); var : Tcond(false),T(0),상승량(0), 하락량(0), 이평선(0), 상승(0), 하락(0),cnt(0); Array : V1[0](0),V2[0](0); var : idx(1),hh(2),ll(3),dd(4),tt(1); var : tl1(1),tl2(2),tl3(3),tl4(4); if sdate >= 카운팅시작일자 and stime >= 카운팅시작시간 Then Tcond = true; if Tcond == true Then { if (sdate != sdate[1] and stime >= 카운팅시작시간) or (sdate == sdate[1] and stime >= 카운팅시작시간 and stime[1] < 카운팅시작시간) Then { var1 = 1; var2 = 1; 상승량 = 1; 하락량 =1; } Condition1 = 상승량+V >상승량+V[1]; for cnt = 0 to N1-1{ IF O[cnt] < C[cnt] Then { IF H[cnt]-C[cnt] >=1 AND H[cnt]-C[cnt] > Abs(O[cnt]-C[cnt]) AND H[cnt]-C[cnt] >= O[cnt]-L[cnt] Then 하락량 = V[cnt]; ELse 상승량 = V[cnt]; } ELse IF O[cnt] > C[cnt] Then { IF C[cnt]-L[cnt] >=3AND C[cnt]-L[cnt] > Abs(O[cnt]-C[cnt]) AND C[cnt]-L[cnt] >= H[cnt]-O[cnt] Then 상승량 = V[cnt]; ELse 하락량 = V[cnt]; } ELse { IF H[cnt]-C[cnt] < C[cnt]-L[cnt] Then 상승량 = V[cnt]; ELse IF H[cnt]-C[cnt] > C[cnt]-L[cnt] Then 하락량 = V[cnt]; ELse{ 하락량 = V[cnt]; 상승량 = V[cnt]; } } if dayindex >= 0 Then{ if C > O or (C == O and C >= C[1]) Then value1 =상승량; Else value1 = 하락량; value13=상승량-하락량; if value13 > value13[1] Then T = 1; if value13 < value13[1] Then T = -1; var21 = highest(H,n); var22 = lowest(L,n); Condition21 = C <= var21[1] and C >= var22[1]; if Condition21 == true and Condition21[1] == false Then { idx = 0; hh = c; ll = c; dd = sdate; tt = stime; } if Condition21 == true Then { idx = idx+1; if c > hh Then hh = c; if c < ll Then ll = c; if idx == x Then { tl1 = TL_New(dd,tt,hh,dd,tt,ll); tl2 = TL_New(dd,tt,hh,sdate,stime,hh); tl3 = TL_New(dd,tt,ll,sdate,stime,ll); tl4 = TL_New(sdate,stime,hh,sdate,stime,ll); } if idx > x Then { TL_SetBegin(tl1,dd,tt,hh); TL_SetEnd(tl1,dd,tt,ll); TL_SetBegin(tl2,dd,tt,hh); TL_SetEnd(tl2,sdate,stime,hh); TL_SetBegin(tl3,dd,tt,ll); TL_SetEnd(tl3,sdate,stime,ll); TL_SetBegin(tl4,sdate,stime,hh); TL_SetEnd(tl4,sdate,stime,ll); value21 = HH; value22 = LL; } } If hh <= C Then { TL_SetColor(TL1,WHITE); TL_SetColor(TL2,WHITE); TL_SetColor(TL3,WHITE); TL_SetColor(TL4,WHITE); } Else { TL_SetColor(TL1,WHITE); TL_SetColor(TL2,WHITE); TL_SetColor(TL3,WHITE); TL_SetColor(TL4,WHITE); } TL_SetSize(TL1,0); //좌측세로선 굵기 TL_SetSize(TL2,1); //상단가로선 굵기 TL_SetSize(TL3,1); //하측가로선 굵기 TL_SetSize(TL4,0); //우측세로선 굵기 TL_SetStyle(TL1,3); //좌측세로선 점선 TL_SetStyle(TL4,3); //우측세로선 점선 if Condition1[1]==(-----------------) buy(); if Condition1[1]==(------------------) sell(); }}} ------------------------------------------------------------------------ 3.지표식으로 부탁드리겠습니다. input : 기간(1),비율(1); var : 시작조건(False),시작위치(0),폭(0),bs(0),k(0),비율선(0); 시작조건 = Highest(H, 기간)[1]<H; if 시작조건 Then { 시작위치 = H; bs = 0; } Else { if 시작위치 > 0 Then bs = bs+1; } 폭 = 시작위치*(비율/100); K = iff(시작조건, 시작위치, 시작위치 + 폭*Bs); 비율선 = iff(K<K[1], K, 0); --------------------------------------------------------------------------- 4, (1 or 2 or 3) =>>> (1,2 or 1,3 or 2,3 ) 으로 부탁드립니다. if (CrossUp(c,EMA1)or CrossUp(c,Ema2) or CrossUp(C,Ema3)) Then { Find(1); } 만들어 주신거 응용할라고 세벽부터 몇시간째 해도 제자리 걸음 입니다..ㅎㅎ 부탁드립니다. 수고 하세요.
프로필 이미지
하루삼프로
2023-08-11
1401
글번호 171407
지표