커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

질문 입니다

StochasticsSlow 일봉을 10분봉에 지표에 표시 하고 싶읍니다
프로필 이미지
크레신
2019-11-02
206
글번호 133354
지표
답변완료

수식작성 부탁드립니다.

안녕하세요? 간단한 수식작성 부탁드립니다. ***진입 진입봉의 이전 (외부변수)개 중에서 최고가지점 돌파시 매수 진입봉의 이전 (외부변수)개 중에서 최저가지점 돌파시 매도 예를들어, 진입봉 전의 50개봉의 최고가를 돌파시 매수. 또는 최저가 돌파시 매도. ***청산 교차매매(매수후 매도신호에청산, 매도후 매수신호에청산) 감사합니다.
프로필 이미지
대구어린울프
2019-11-02
197
글번호 133353
시스템
답변완료

부탁드립니다.

안녕하세요 항상 감사드립니다. 아래식에서 tt가 -120 이하가 되면 0이 될때 까지 B1,B2,S1,S2를 신호명 뒤에■를 표시하고 있습니다. tt는 음수에서 양수(0 으로 제한)가 될때 까지 카운팅은 계속하고(-120이하 ★ 표시) -120(input값) 이하 부터 -40(Input값) 이하 까지만 신호명 뒤에■로 표시하고 싶습니다. input: A(-120), B(-40); tt 가 음수에서 양수가 되면 0으로 수렴하는 조건은 유지하고 싶고 단지 -120 이하 -40 이상 구간 만 신호명 뒤에■를 표시하고 싶습니다. ★ 색깔을 PINK 로 부탁드립니다. 감사합니다. tt -40 -80 -120 -160 -130 -100 -70 -40 -10 0 0 손익표시 - - ★ ★ ★ - - - - - - 다음신호 B1 B1 B2■ B2■ B2■ S1■ B2■ S1■ B1 B2 B2 Input : 손절(10),익절(10),익절하락(3); input : P1(30), P2(120), p3(240); input : StartTime(090000),EndTime(050000); var : tx(0),X(false),Tcond(false),tt(0); var1 = ma(C, P1); var2 = ma(C, P2); var3 = ma(C, P3); ######## 진입제한 if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then { Tcond = true; } if (sdate != sdate[1] and stime >= Endtime) or (sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then { Tcond = false; } ## 진입 if Tcond == true and marketposition == 0 and crossup(var1,var2) Then { if Condition1 == false then buy("B1"); Else buy("B1■"); } if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then { if Condition1 == false then sell("S1"); Else sell("S1■"); } if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then { if Condition1 == false then buy("B2"); Else buy("B2■"); } if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then { if Condition1 == false then sell("S2"); Else sell("S2■"); } ## 청산 if MarketPosition == 1 then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } if MarketPosition == -1 Then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } if ((sdate != sdate[1] and stime >= Endtime) or (sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then { if MarketPosition == 1 Then { ExitLong("BE6"); } if MarketPosition == -1 Then { ExitShort("SE6"); } } if TotalTrades > TotalTrades[1] then { if IsExitName("StopLoss",1) == true then { tt = tt - 40; if tt >= 0 Then { tt = 0; Condition1 = false; } if tt > -120 then { tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)); Text_SetSize(tx,20); } else { Condition1 = true; tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)+"★"); Text_SetSize(tx,20); } } if IsExitName("StopTrailing",1) == true then { tt = tt + 30; if tt >= 0 Then { tt = 0; X = true; Condition1 = false; } tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)); Text_SetSize(tx,20); Text_Setstyle(tx,2,2); //Text_SetSize 폰트 사이즈 //Text_Setstyle 좌우상하 정렬 } }
프로필 이미지
라떼처럼
2019-11-03
219
글번호 133352
시스템
답변완료

시간대 분할청산

if MarketPosition == 1 and NextBarStime >= 124000 and stime < 124000 Then exitlong("bx1",AtMarket,def,"",Floor(MaxContracts*0.20),1); 피라미딩진입이 완성된 후 10개의 포지션이 있을 때 위 수식으로 12시40분에 2개가 청산됩니다. 나머지 8개의 50% 14시40분에 청산 나머지 4개를 15시32에 청산 10개를 3번의 시간대를 적용하여 청산하는 수식을 요청드립니다.
프로필 이미지
목마와숙녀
2020-01-20
209
글번호 133351
시스템
답변완료

질문 올립니다.

안녕하세요. 늘 감사드립니다. 단순이평선 5, 10, 20, 60, 120, 240, 480 이평들 이렇게 7개의 이평선들을 같이 그린다고 암묵적으로 가정하고, 실제로 차트에는, 이 7개 이평들의 가장 높은 점들을 잇는 상단선, 가장 낮은 넘들을 잇는 하단선, 그 상단 하단의 중심을 잇는 중심선, 이렇게 세 개의 선들만이 표시되도록 하는 지표식을 알려 주시면 대단히 감사하겠습니다.
프로필 이미지
즐겁게
2019-11-02
198
글번호 133350
지표
답변완료

시간구하기

항상 수고 많으십니다 분봉상 setstopendofday() 가 표시된는 봉의 당일 시간 혹은 당일 dayindex 값를 구하고 싶습니다. 감사합니다.
프로필 이미지
재령
2019-11-02
198
글번호 133349
시스템
답변완료

검색 또는 종목검색 요청합니다.

안녕하세요. 첨부된 그림과 같이 기준봉을 기준으로 기준선을 만들었다고 하고 그선을 터치하는 횟수를 셀 수 있는지요? 가능하면 가이드 수식 부탁드립니다.
프로필 이미지
순두부남
2019-11-01
205
글번호 133348
검색
답변완료

사용자 함수 질문드립니다.

안녕하세요. 특정 조건이랑 데이터를 입력받고요. 현재 봉에서 부터 데이터가 조건을 만족하는 가장 최근 값을 리턴하는 함수를 만들고 싶은데요. 조건을 입력으로 받는 법이랑, 현재 봉에서 iteration 하면서 과거 봉을 search 하는 방법을 모르겠습니다. 아니면 조건은 함수 안에서 판단해도 되고요. 최악의 경우 조건을 만족하지 못해서 NaN 까지 가게되는 경우도 고려해야 할 것 같은데요. 알려주시면 감사하겠습니다.
프로필 이미지
hiphepho
2019-11-01
283
글번호 133347
사용자 함수
답변완료

수식부탁드립니다.

안녕하세요? 항상 수고에 감사를 드립니다. 아래의 수식 force index일봉의 수식을 분봉차트에서 적용해서 보려고합니다. (1. 일봉의 지표) Inputs: ShortPeriod(5),LongPeriod(20); Variables: Fval(0),FvalFast(0),FvalSlow(0); Fval = ((Close - Close[1]) * Volume) ; FvalFast = Ema(Fval, ShortPeriod); FvalSlow = Ema(Fval, LongPeriod); Plot1(FvalFast, "Force Index1"); Plot2(FvalSlow, "Force Index2"); (2. 일봉의 지표를 분봉으로 적용지표) Inputs: ShortPeriod(5),LongPeriod(20); Var : Ep1(0),FvalFast(0),Pre1(0); Var : Ep2(0),FvalSlow(0),Pre2(0); var : Fval(0),DINDEX(0); Ep1 = 2/(ShortPeriod+1); Ep2 = 2/(LongPeriod+1); Fval = (DayClose-DayClose(1))*V; if bDate != bdate[1] then { DINDEX = DINDEX + 1; Pre1 = FvalFast[1]; Pre2 = FvalSlow[1]; } if DINDEX <= 1 then{ FvalFast = Fval; FvalSlow = Fval; } else{ FvalFast = Fval * EP1 + Pre1 * (1-EP1); FvalSlow = Fval * EP2 + Pre2 * (1-EP2); } plot1(FvalFast); plot2(FvalSlow); 위의 1번지표와 2번지표의 값이 왜 다른지? 수식이 잘못된것인지? 부탁드립니다. 감사합니다.
프로필 이미지
천년대로
2019-11-01
247
글번호 133346
지표