커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다...

항상고맙고 감사합니다.. 아래 1번)2번)3번) 수식은 예스트레이더 종목검색식인데, 여기에 추가적으로 1분봉상 캔들이 시가 아래(마이너스0.5~2%)에 있다가 시가를 막돌파하는 조건(우선조건)하고 and (부조건)시가가격보다 플러스0.5%~2%상승한 곳에서 종목검색이 되도록 각각추가 해주시면 정말 감사하겠습니다.. 1번) var : A(0),A1(0); A = DAYHIGH[1] - DAYLOW[1]; A1 = DAYOPEN()+A*0.5; if CrossUp(C,A1) Then Find(1); 2번) var : A(0),B(0),BB(0),En(0),S(0),대금(0),X(0),Y(0),Z(0),전거래량(0); A=ADX(11); B=Accum(v*((Pow((C-L),2) - Pow((H-C),2))/(H-L))); BB=BollBandUp(10,2); En=EnvelopeUp(10,2); S=(highest(high,26)+lowest(low,26))/2; 대금=V*(H+O+L+C)/4; X=Accum(v); if sDate != sDate[1] Then { Y=X[1]; 전거래량=Z[1]; } Z=X-Y; if Highest(H,3)[1]<=C and ma(C,5)>ma(C,20) and ma(C,20)>ma(C,60) and BB>En and C>BB and C>En and A>A[1] and C>S and B>=B[1] and V>V[1]*1.5 and (대금>2000000000 or X>전거래량) Then Find(1); 3번) var : a(0); a=((dayhigh(1)+daylow(1)+dayclose(1))/3)+(dayhigh(1)-daylow(1)); if crossup(c,a) Then Find(1);
프로필 이미지
서민순
2024-01-31
1156
글번호 176243
종목검색
답변완료

부탁드립니다.

적용가능하도록 변형 부탁 드립니다. length = input(10, minval=1, title="BB Periods") dev = input(1, minval=0.0001, title="Deviations") //MACD fastLength = input(12, minval=1) slowLength=input(26,minval=1) signalLength=input(9,minval=1) fastMA = ema(close, fastLength) slowMA = ema(close, slowLength) macd = fastMA - slowMA //BollingerBands Std = stdev(macd, length) Upper = (Std * dev + (sma(macd, length))) Lower = ((sma(macd, length)) - (Std * dev)) Band1 = plot(Upper, color=gray, style=line, linewidth=2,title="Upper Band") Band2 = plot(Lower, color=gray, style=line, linewidth=2,title="lower Band") fill(Band1, Band2, color=blue, transp=75,title="Fill") mc = macd >= Upper ? lime:red // Indicator plot(macd, color=mc, style =circles,linewidth = 3) zeroline = 0 plot(zeroline,color= orange,linewidth= 2,title="Zeroline")
프로필 이미지
다올
2024-01-31
1001
글번호 176242
지표
답변완료

시스템식 부탁드립니다.

항상 도움 주셔서 감사합니다. 요청 시스템식 : 매수의 경우 매수진입이후 진입가격 아래로 하락시 일정배수로 추가 매수진입 이후 전체 손익이 20틱 이상 수익 발생시 전체 청산하는 시스템식입니다. 단, 가격이 하락하여 추가 진입시 마지막 진입한 계약이 20틱 상승시 해당 계약만 익절청산 후 다시 일정배수로 진입하고 싶습니다. 아래 시스템식은 마지막 진입 계약이 20틱 익절 청산 된후 가격이 하락하면 재 진입시 기존 배수가 연속되어 진입 됩니다. 저는 익절청산 되었을 경우 배수가 마지막 배수에 이어서 진입 되었으면 합니다. 세부사항은 첨부이미지 참고 부탁드립니다. 종목 : 해외선물 input : Pst(1); // 매수,매도 input : multi(0.5); input : gap(20),gapmulti(0.5), pt(20),sl(200),pt2(20); var : vol(0),v1(0),t(0); value1 = gap/PointValue; value2 = pt/PointValue; value3 = sl/PointValue; #------------------------------------ # 매수 전략 #------------------------------------ if pst == 1 Then { if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then { vol = 1; Buy("b",OnClose,Def,vol); } if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then { v1 = CurrentContracts-CurrentContracts[1]; if MaxEntries == 1 Then t = value1 ; Else t = t+Round(t*gapmulti,0); } vol = Round(v1+v1*multi,0); Buy("bb",AtLimit,EntryPrice(0)-PriceScale*(value1*MaxEntries),vol); ExitLong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2); } } #------------------------------------ # 매도 전략 #------------------------------------ if pst == -1 Then { if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then { vol = 1; Sell("s",OnClose,Def,vol); } if MarketPosition == -1 Then { if CurrentContracts > CurrentContracts[1] Then { v1 = CurrentContracts-CurrentContracts[1]; if MaxEntries == 1 Then t = value1 ; Else t = t+Round(t*gapmulti,0); } vol = Round(v1+v1*multi,0); Sell("ss",AtLimit,EntryPrice(0)+PriceScale*(value1*MaxEntries),vol); ExitShort("sp",AtLimit,AvgEntryPrice-PriceScale*Value2); } } #-------------------------------------------- SetStopProfittarget(pt2*PriceScale,PointStop);
프로필 이미지
양치기
2024-02-01
867
글번호 176241
시스템
답변완료

여쭤 봅니다

안녕하세요 수정부탁드린 지표는 잘 받았습니다. 여쭤 볼것은 85612 번 지표인데 60분을 다른 시간(30분이나 120분등..)으로 수식에서 수정하여 검증하여도 실제 챠트에서는 변하지 않는데 왜그런지 여쭤봅니다. 감사합니다.
프로필 이미지
라몬
2024-01-30
867
글번호 176240
지표
답변완료

예스트레이더 종목검색식으로 작성요청합니다.

항상 답변주셔서 감사합니다... 아래수식은 키움에서 신호검색입니다. 이것을 예스트레이더 종목검색으로 작성부탁드립니다.. ======================================================= MID=MA(C,20); MID1=MA(V,20); dev = 2 * stdev(C,20); dev1 = 2 * stdev(V,20); RNG=ATR(20); A=upperBB = MID + dev; A1=lowerBB = MID - dev; A2=VUPBB = MID1 + dev1; A3=VDNBB = MID1 - dev1; B=MID+1.5*RNG; B1=MID-1.5*RNG; A<B AND A1>B1 AND LRS(20)>0 AND O<C
프로필 이미지
서민순
2024-01-30
1102
글번호 176239
검색

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

프로필 이미지
회원
2024-01-31
68
글번호 176238
시스템
답변완료

부탁드립니다

1.전주 최고가와 최저가를 각각 우측 추세선으로 계속하여 8주 동안 나타날 수 있도록 구현해 주세요 2.전일 최고가와 최저가를 각각 우측 추세선으로 계속하여 30일 동안 나타날 수 있도록 구현해 주세요 3. 전 시간대 최고가와 최저가를 각각 우측 추세선으로 계속하여 24시간 동안 나타날 수 있도록 구현해 주세요 고맙습니다.
프로필 이미지
서태공
2024-01-30
714
글번호 176237
지표
답변완료

수식전환

아래 수식을 예스랭귀지로 전환 부탁드립니다 A= CountSince(CrossDown(OBV(),eavg(OBV(),9)), CrossUp(OBV(),eavg(OBV(),9))); A==1 and CrossUp(OBV(),eavg(OBV(),9)) and OBV()>eavg(OBV(),9)and v>v(1)*2
프로필 이미지
트라이
2024-01-30
769
글번호 176236
강조
답변완료

오버나잇 관련 문의

전일, 또는 그 전에 가지고 있는 포지션은 그대로 유지하고, 매일 수식에 의해 매수도를 수행할 수 있는 수식을 알고 싶습니다. 예를 들어 현재 사용하는 수식의 일부는 외인의 선물 매도 증감에 따라 저도 진입을 하게 되는데, 그 다음날이 되면 외인 순매수량은 0부터 시작하므로 전일 구축했던 외인의 포지션이 무시되고 외인의 매수도량이 0로 인식되어 전날 가지고 있던 포지션이 의도하지 않게 청산되는 경우가 많습니다. 요약하자면, 이미 가지고 있는 기존 표지션은 건드리지 않고, 당일의 로직에 따라 첨가, 또는 청산이 가능한 식을 알고 싶습니다. 참고로 지금 사용하고 있는 관련 로직의 일부를 적어 놓습니다. 친절한 답변에 미리 감사드립니다. Inputs: FFV(1000); if MarketPosition <= 0 and Data2(CrossUp(c,FFV)) Then { var1 = Data2(c); Buy("b",OnClose,Def,1); } if MarketPosition == 1 then { if Data2(c) >= var1+(FFV) Then { var1 = Data2(c); Buy("bb",OnClose,Def,1); } if Data2(c) <= var1-(FFV) Then { var1 = Data2(c); ExitLong("bx",OnClose,Def,"",1,1); } } if MarketPosition >= 0 and Data2(CrossDown(c,FFV)) Then { var1 = Data2(c); Sell("s",OnClose,Def,1); } if MarketPosition == -1 then { if Data2(c) <= var1-(FFV) Then { var1 = Data2(c); Sell("ss",OnClose,Def,1); } if Data2(c) >= var1+(FFV) Then { var1 = Data2(c); ExitShort("sx",OnClose,Def,"",1,1); } }
프로필 이미지
zephyr
2024-01-30
904
글번호 176229
시스템