커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

로직부탁드립니다

예스그로벌을 이용해 NH선물에서 거래하려고 합니다 수식을 부탁드립니다 요청수식 20ma-120ma 골든크로시하였을 때 시가(dayopen(0)) 위에서 v3<v4 이면 매수 진입 후 매수 청산은 v3>v4 또는 익절 100틱이던지 손절 50틱 매수 청산 {v3 = (DayHigh(0)+ DayLow(0))/2; v4 = (DayHigh(0)+ DayLow(0) + DayClose(0))/3;} 20ma-120ma 대드크로시하였을 때 시가(dayopen(0)) 아래에서 v3>v4 이면 매도 진입 후 매수 청산은 v3<v4 또는 익절 100틱이던지 손절 50틱 매도 청산 {v3 = (DayHigh(0)+ DayLow(0))/2; v4 = (DayHigh(0)+ DayLow(0) + DayClose(0))/3;}
프로필 이미지
wko7856
2020-03-26
702
글번호 137241
시스템
답변완료

Trix지표와 함수결과값의 차이

아래코딩 (1)에서 특정분봉(여기선 하루) Trix 값을 현재분봉에 나타내는 코딩으로 이전분의 질문을 바탕으로 공부하고 있는데 이것을 사용자함수(2번)로 전환하여 비교해 보니까 값이 다르게 나옵니다. (1)의 내용을 사용자함수로 만들고 싶은데 어떻게 수정해야 할까요? 항상 감사합니다. (1) Input : ntime(390),Period(20),signal(9); var : S1(0),D1(0),TM(0),TF1(0),EP1(0),EP2(0); Var : emav1(0),PreEmav1(0); Var : emav2(0),PreEmav2(0); Var : emav3(0),PreEmav3(0); var : TRIXv(0),TRIXs(0),PreTRIXs(0); EP1 = 2/(Period+1); EP2 = 2/(Signal+1); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then { value1 = value1+1; PreEmav1 = emav1[1]; PreEmav2 = emav2[1]; PreEmav3 = emav3[1]; PreTRIXs = TRIXs[1]; } if value1 <= 1 then { emav1 = C; emav2 = emav1; emav3 = emav2; TRIXv = (emav3 - PreEmav3) / PreEmav3 * 100; TRIXS = TRIXv; } else{ emav1 = C * EP1 + PreEmav1 * (1-EP1); emav2 = emav1 * EP1 + PreEmav2 * (1-EP1); emav3 = emav2 * EP1 + PreEmav3 * (1-EP1); TRIXv = (emav3 - PreEmav3) / PreEmav3 * 100; TRIXs = TRIXv * EP2 + PreTRIXs * (1-EP2); } PLOT1(TRIXv); PLOT2(TRIXs); if CrossUp(TRIXv, TRIXs) then Plot3(TRIXv, "GC"); else NoPlot(3); } 2) var50 = D_Trix(360, 20, 9); if var50 == 1 then Plot4(5, "Check"); else NoPlot(4); <사용자함수 > Input : ntime(Numeric),Period(Numeric),signal(Numeric); var : S1(0),D1(0),TM(0),TF1(0),EP1(0),EP2(0); Var : emav1(0),PreEmav1(0); Var : emav2(0),PreEmav2(0); Var : emav3(0),PreEmav3(0); var : TRIXv(0),TRIXs(0),PreTRIXs(0); EP1 = 2/(Period+1); EP2 = 2/(Signal+1); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then { value1 = value1+1; PreEmav1 = emav1[1]; PreEmav2 = emav2[1]; PreEmav3 = emav3[1]; PreTRIXs = TRIXs[1]; } if value1 <= 1 then { emav1 = C; emav2 = emav1; emav3 = emav2; TRIXv = (emav3 - PreEmav3) / PreEmav3 * 100; TRIXS = TRIXv; } else{ emav1 = C * EP1 + PreEmav1 * (1-EP1); emav2 = emav1 * EP1 + PreEmav2 * (1-EP1); emav3 = emav2 * EP1 + PreEmav3 * (1-EP1); TRIXv = (emav3 - PreEmav3) / PreEmav3 * 100; TRIXs = TRIXv * EP2 + PreTRIXs * (1-EP2); } # PLOT1(TRIXv); # PLOT2(TRIXs); if CrossUp(TRIXv, TRIXs) then var30 = 1; else var30 = 0; } 내_Trix = var30;
프로필 이미지
짱짱해야지
2020-03-26
764
글번호 137236
지표

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

프로필 이미지
대가들의매매
2020-03-26
5
글번호 137228
시스템
답변완료

문의

청산수식 부탁드립니다. 1) 14시 현재 60 개의 미결제가 있고 다른 청산전략은 없을 때 14시부터 1분 간격으로 1개씩 exitlong 14시부터 10초 간격으로 1개씩 exitlong 14시부터 20틱 간격으로 1개씩 exitlong 2) 14시 현재 60개의 미결제가 있고 다른 청산전략 수식도 작용할 수 있는 가운데 14시부터 1분 간격으로 1개씩 exitlong 14시부터 10초 간격으로 1개씩 exitlong 14시부터 20틱 간격으로 1개씩 exitlong
프로필 이미지
목마와숙녀
2020-03-26
585
글번호 137227
시스템
답변완료

수식부탁드립니다

#,안녕하세요 관리자님 수정해주신수식 진심 감사드립니다. ㅡ,보조지표 Stochastics를 사용할경우입니다 주가의 변화에 지표의 변화가 달리할때 즉,주가가 상승할때 반대로 지표(Stochastics)의 고점이 낮아질때나, 또는 주가가 하락할때 반대로 지표(Stochastics)의 저점이 높아질때 주가와 지표가 변화를 달리하는 시점부터 지표(Stochastics)저점들을(또는 고점들을) 추세선으로 표시(다이버젼스발생)하고싶습니다.고점저점기준은 골드데드구간으로 하면좋겠습니다 (목적은 다이버젼스발생을 찾기 위해서 입니다) ##, 고맙습니다.
프로필 이미지
회원
2020-03-26
562
글번호 137224
지표
답변완료

문의드립니다.

inp_Period = input(title = "trend continue", type = input.integer, defval = 8) inp_Source = input(title = "Source", type = input.source, defval = close) da_SMA = sma(inp_Source, inp_Period) da_SMA_Pov_2 = da_SMA * da_SMA da_Sum = sma(da_SMA, inp_Period) * inp_Period da_Sum_Pov_2 = sma(da_SMA_Pov_2, inp_Period) * inp_Period da_StdDev = sqrt((da_Sum_Pov_2 - da_Sum * da_Sum / inp_Period) / inp_Period) da_StdDev_Avg = sma(da_StdDev, inp_Period) da_Line = da_StdDev_Avg == 0 ? 1 : da_StdDev / da_StdDev_Avg plot(da_Line, color = da_Line > 0.2 ? color.green : color.red) 변환 문의드려도 될지요 감사합니다.
프로필 이미지
물고기
2020-03-26
547
글번호 137222
지표

경매story 님에 의해서 삭제되었습니다.

프로필 이미지
경매story
2020-03-26
4
글번호 137220
시스템
답변완료

시스템 차트표시 설정을 바꾸면 시스템 화살표 위치가 바뀌는 현상

data2, data3 참조데이터를 사용하여 시스템식을 작성했는데요. 원하는 위치에 화살표가 나올 때가 있고 안나올 때가 있어서 며칠간 검색 및 문의해서 얻은 결론은 데이터번호를 var와 그 수식에 넣으면 해결될 수 있다고 해서 식을 수정했습니다. 그런데 문제가 해결되지 않아서요. 오늘 안 사실인데 시스템의 화살표가 의도한 지점에 안나올 때 시스템트레이딩 설정->'차트표시' 탭-> '진입과 청산을 선으로 연결' 체크하거나 해제 확인을 누르고 나오면 화살표가 제가 의도한(의도하여 작성한 수식) 대로 표시가 됩니다. 질문을 정리하면 시스템식이 의도한 대로 화살표가 나올 때도 있고, 안나올 때가 있는데 안나올 때, 시스템 설정에서 '차트 표시'에서 '진입과 청산을 선으로 연결'을 체크하거나 체크 해제한 후 확인을 하면 정상(제가 의도한 수식)으로 화살표가 표시가 됩니다. 버그 일까요? 아니면 잘못된 수식 작성 때문일까요?
프로필 이미지
수급돌파
2020-03-26
555
글번호 137219
시스템
답변완료

수식 문의드립니다.

input : profit(500),P(100); var1 = ma(C,P); Condition1 = C > var1 and C > DayClose(1); Condition2 = C < var1 and C < DayClose(1); if Condition1 == true and Condition1[1] == false Then buy("매수"); if MarketPosition == 1 then { if c >= EntryPrice*(1+profit/100) Then ExitLong("bp",OnClose,def,"",Floor(MaxContracts*0.5),1); if Condition2 == true and Condition2[1] == false Then ExitLong("bx"); if c < DayClose(1) Then ExitLong("bx3"); } if Condition2 == true and Condition2[1] == false Then sell("매도"); if MarketPosition == -1 then { if c <= EntryPrice*(1+profit/100) Then ExitLong("sp",OnClose,def,"",Floor(MaxContracts*0.5),1); if Condition1 == true and Condition1[1] == false Then ExitShort("sx"); if c > DayClose(1) Then ExitShort("sx3"); } 위 수식을 예스코인에서 테스트중입니다. 피라미딩 적용시 전진입가보다 낮을때만 재진입이 가능하도록 부탁드리고요, 수익이 500% 발생시익절할 수 있도록 변경부탁합니다^^ 감사합니다.
프로필 이미지
하리마우
2020-03-26
514
글번호 137216
시스템