커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

Input : Period(9),Sigperiod(10); Plot1(RSI(Period), "RSI"); Plot2(ema(RSI(Period),SigPeriod), "RSIsignal"); PlotBaseLine1(30, "기준선1"); PlotBaseLine2(70, "기준선2"); ......................................... 상기지표상의 rsi선과 rsi시그널선이 증감할때 마다 색을 넣어 주세요 즉, rsi선이 올라가면 빨간색으로, 내려가면 파란색으로 표현해 주세요 rsi시그널선도 마찬가지로 표현해 주세요 아래 참고수식 처럼 만들어 주시면 됩니다. 감사합니다. 참고수식 Input : Period(12), Period1(5), Period2(5); var1 = StochasticsK(Period,Period1); var2 = StochasticsD(Period,Period1,Period2); if var1> var1[1] Then Plot1(var1, "StochasticsK",RED); Else Plot1(var1, "StochasticsK",BLUE); if var2 > var2[2] Then{ Plot2(var2, "StochasticsD",RED); value2 = 2; } Else{ Plot2(var2, "StochasticsD",BLUE); value2 = -2; }
프로필 이미지
회원
2016-05-13
119
글번호 98018
지표
답변완료

지표문의

전에 ADX 풀이식을 요청하였습니다. 예를 들어 macd를 값으로 집어넣어서 그것의 adx를 출력하고자 하면.. 이 식을 어떻게 고쳐야 할지요? 실력이 너무 없어서 죄송합니다. Inputs: Length(14); Var : Counter(0), CummDMI(0), Return(0),ADXV(0); Var : DMIP(0), DMIM(0),DMIV(0),CB(0); Var : TRange(0),PlusDM14(0), PlusDM(0), MinusDM(0),DIPlusv(0),DIMinusv(0),MinusDM14(0); CB = CurrentBar; If CB == 1 Then { DIPlusv = 0; PlusDM14 = 0; DIMinusv = 0; MinusDM14 = 0; TRange = 0; For Counter = 0 To Length - 1 { If High[Counter] - High[Counter+1] < 0 Then PlusDM = 0; Else PlusDM = High[Counter] - High[Counter+1]; If Low[Counter+1] - Low[Counter] < 0 Then MinusDM = 0; Else MinusDM = Low[Counter+1] - Low[Counter]; If MinusDM >= PlusDM Then PlusDM = 0; If PlusDM >= MinusDM Then MinusDM = 0; TRange = TRange + TrueRange[Counter]; PlusDM14 = PlusDM14 + PlusDM; MinusDM14 = MinusDM14 + MinusDM; } If TRange <> 0 Then DIPlusv = 100 * PlusDM14 / TRange; Else DIPlusv = 0 ; If TRange <> 0 Then DIMinusv = 100 * MinusDM14 / TRange; Else DIMinusv = 0; } Else If index+1 > Length Then { If High[0] - High[1] < 0 Then PlusDM = 0; Else PlusDM = High[0] - High[1]; If Low [1] - Low [0] < 0 Then MinusDM = 0; Else MinusDM = Low[1] - Low[0]; If MinusDM >= PlusDM Then PlusDM = 0; If PlusDM >= MinusDM Then MinusDM = 0 ; If Length > 0 Then { TRange = TRange - (TRange / Length) + TrueRange; PlusDM14 = PlusDM14 - (PlusDM14 / Length) + PlusDM; MinusDM14 = MinusDM14 - (MinusDM14 / Length) + MinusDM; } If TRange <> 0 Then { DIPlusv = 100 * PlusDM14 / TRange; DIMinusv = 100 * MinusDM14 / TRange; } Else { DIPlusv = 0 ; DIMinusv = 0; } } If DIPlusv + DIMinusv == 0 Then DMIv = 0; Else DMIv = 100 * AbsValue(DIPlusv - DIMinusv) / (DIPlusv + DIMinusv); Return = 0; DMIV = DMI(Length); If CB >= 1 AND Length > 0 Then Begin If CurrentBar < Length Then begin CummDMI = 0; for Counter = 0 To CB - 1 Begin CummDMI = CummDMI + DMIV[Counter]; End; Return = CummDMI / CB; End Else Return = (ADXv * (Length - 1) + DMIv) / Length; End; ADXv = Return; plot1(ADXv);
프로필 이미지
한글나라
2016-05-12
151
글번호 98012
지표
답변완료

함수수정요청(251)

안녕하세요? 아래 함수에 다음의 조건을 추가하여 수정 요청드립니다. 매수는 ADX값이 25이상에서 상승중이며(직전값과 비교) 매도는 ADX값이 25이상에서 하락중일때에만 진입을 하는 것으로 변경하고자 합니다. input : xtime(60000); var : tcond(false),cond1(false),cond2(false); if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } if bdate != bdate[1] Then{ Tcond = true; Condition1 = false; Condition2 = false; } var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then buy("B"); if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then sell("S");
프로필 이미지
통큰베팅
2016-05-12
105
글번호 98008
시스템
답변완료

문의 드립니다.

47662 번 추가질문입니다. 일목균형표를 당일분만 나오게하고십읍니다. 전일종가부분과 연관성이 떨어져서 그렇습니다. 전일부분이 나와야한다면 칼라를 넣어서 구분할수있게 부탁드립니다. 수고하십시요
프로필 이미지
해월정
2016-05-12
103
글번호 98004
지표

바닥차기 님에 의해서 삭제되었습니다.

프로필 이미지
바닥차기
2016-05-12
0
글번호 98002
지표
답변완료

거래선 시스템 발생위치 수평선표시

항상 감사드립니다 If V== highest(V,120) then{ Var11 = (C+H+L)/3; /* Var11 = C;*/ var12 = var11[1]; if var11 > var12 Then{ upv11 = var11; upv12 = upv11[1]; upv13 = upv12[1]; if upv11 > upv12 and upv12 > upv13 Then var20 = 1.0; } if var11 < var12 Then{ dnv11 = var11; dnv12 = dnv11[1]; dnv13 = dnv12[1]; if dnv11 < dnv12 and dnv12 < dnv13 Then var20 = -1.0; } } plot2(var20,"120선",white,def,2.0); 위지표식은 var20의 값을 1과 -1로 표시를합니다 위지표식에서 var20이 변하는부분의 가격에 수평선으로 표시하여 우측으로 연장하고 그값을 var50저장 1_시스템식 var20 이 1.0 되는순간 그값을 var50 저장 var20 이 -1.0 되는순간 그값을 var50 저장 시간이 지나서 var20의 값이 바뀌면 새로운 값으로 저장(var50 에는 가장최근의 var20값저장) 2_지표식 var20 이 바뀔때 변하는 부분의 가격에 수평선 표시==> 다음 변곡점까지 연장 var20==1 일때 수평선을 blue var20==-1 일때 수평선을 red 감사합니다
프로필 이미지
조민철
2016-05-13
124
글번호 97996
시스템
답변완료

시스템 질문이요

Input: Length(10), Pval(0.05); Buy ("CBI", AtStop, Highest(High, Length) + Pval); 여기서 Pval는 무엇을 뜻하나요? 여기서 CBI는 무엇의 약자인가요?
프로필 이미지
younjoo
2016-05-12
110
글번호 97994
시스템
답변완료

수고하십니다

안녕하세요. 항상감사드립니다. if 매수조건 then buy(): if 매도조건 then sell(); if 매수조건 then buy(): if 매도조건 then sell(); setstopprofittarget(1,pointstop) 라는 식이있습니다. 매수이익청산이 됨과 동시에 매도가 발생합니다.(챠트상에는 청산만표시됨.계좌에1계약잡힘) 계속 진행되다가 이번엔 매도조건에 맞는 신규매도가 발생합니다. 이신규 매도를금지하는 식좀 부탁드립니다. 매도이익 청산도 마찬가지입니다. 1.그대로 놔두면 계좌에1계약하고.신규매도하고2계약이되는게 맞죠? 2.그냥단순히 동일방향 진입금지가 맞나요? 3.하나의수식마다 진입금지식을 작성해야하나요. 언제나 깊은 감사드립니다..꾸벅...
프로필 이미지
00
2016-05-13
91
글번호 97991
시스템

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

프로필 이미지
00
2016-05-12
0
글번호 97989
시스템