커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 부탁드립니다.

전일 동시간대 보다 많은 거래량의 상황에서 시가보다 4% 상승하면 매수 매수후 12% 상승하면 보유주식의 30% 매도 12% 상승한 후 15% 상승하지 못하고 다시 12%로 하락하면 잔량 매도 12% 상승 후 15% 상승하면 보유주식의 40% 매도 15% 상승한 후 20% 상승하지 못하고 다시 15%로 하락하면 잔량 매도 15% 상승 후 20% 상승하면 보유주식의 30% 매도 손절매는 2%입니다. 또한 매수후 2거래일동안 12%에 도달 못하고 또 손절포인트까지 하락하지 않아도 매도 각 매매에서 시스템트레이딩 설정창 매매탭에서 가격(예로 시장가, 현재가, 현재가+-1호가등)을 설정하면 매매식에서는 따로 매매가격을 설정하지 않아도 되는지 궁급합니다. 노고에 감사드리며 오늘도 좋은 하루 되세요
프로필 이미지
회원
2014-03-30
129
글번호 73959
시스템
답변완료

수식작성 부탁드려요

1. 2분봉 기준으로 25이평 50 이평 75이평 125 이평이 정배열이고 현재가 가격이 50이평을 돌파하면 매수 만 한다. 익절은 C p 손절은 D p 로 하고 하루 2번만 진입 하고 오후 3시에 장 종료 함 2. 근데 궁금 한 점이 전날 시그날이 종료 된 상태에서 다음날 정배열 상태이고 시가가 50 이평을 돌파한 상태이면 시가에 매수가 되는 지요? 3. 매수하고 A포인트이익일때 익절 또는 최대이익 대비 B포인트 하락할때 익절 그리고 매매 종료도 1번 문장에서 포함 시켜 주세요.
프로필 이미지
회원
2014-03-31
143
글번호 73958
시스템

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

프로필 이미지
회원
2014-03-30
54
글번호 73957
지표
답변완료

부탁합니다

var1 = BollBandUp(20,2); var2 = BollBandDown(20,2); if C >= O Then{ if C > var1+0.5 then ExitShort(); Else buy(); } if C <= O Then{ if C < var2-0.5 Then ExitLong(); Else sell(); } if MarketPosition == 1 and crossup(c,var1+0.5) Then ExitLong("bx"); if MarketPosition == -1 and crossdown(c,var1-0.5) Then ExitShort("sx"); 2번수식(요요청산) input : ATRPeriod(20),N(1.5); if crossup(c,ma(c,5)) Then buy("매수"); if marketposition() == 1 Then exitlong("YoEX",atstop,C-N*ATR(ATRPeriod)); if marketposition() == -1 Then exitlong("YoSX",atstop,C+N*ATR(ATRPeriod)); MessageLog("%.2f",MarketPosition); 3번수식 스파이크청산 4번수식 추적청산 위4식을 동시에 사용할수있게해주세요 감사합니다
프로필 이미지
큰바위얼굴
2014-03-31
153
글번호 73956
시스템
답변완료

예스 글로벌 프로 잔고함수 관련

value1 = getnumpositions(getaccount(1)); if marketposition == 1 then if value == 2 then if c <= entryprice - 0.0065 then exitlong(); if value == 1 then setstoptrailing(100,var1,percentstop); 잔고함수를 처음 써보는데, 시뮬레이션 차트로는 잔고 변화 시뮬레이션이 불가능한 것 같아서 이렇게 질문드립니다. 제가 원하는 건 계좌에 두 종목이 있다가 한 종목이 청산되면 이후부터 stop trailing 주문이 작동하게 하는 건데요. 위와 같이 수식을 쓰면 제가 원하는대로 되는지 궁금합니다. 또 다른 궁금한 점은 예를 들어 9시에 한 종목이 청산이 되었는데 8시 반에 이미 stop trailing 주문이 발동될 조건이 충족된 경우, 9시에 종목 청산과 동시에 8시 반 기준 stop trailing 주문이 나간 것으로 인식이 되나요? 아니면 9시 이후에 stop trailing 주문 조건이 만족될 경우 주문이 나가는 식으로 인식이 되나요? 끝으로 제가 계좌번호가 하나밖에 없는데 그럼 getaccount(1) 이라고 적으면 되는건가요? 답변 부탁드립니다.
프로필 이미지
잘모름
2014-03-30
216
글번호 73955
시스템
답변완료

부탁합니다

거래량 1일전 거래량을 100으로 가정 오늘의 거래량 150이상 2일전 거래량은 30~40사이 3일전 거래량은 45~60사이 4일전 거래량은 10~25사이 오늘의 봉은 3%이상 양봉
프로필 이미지
ho2350
2014-03-30
158
글번호 73954
종목검색
답변완료

문의드립니다

아래지표를 Data2에 적용하고 싶습니다. 늘 감사드립니다. input : Atime(60),RSIP(9),RSISP(10); var : rSI2(0),RSIS2(0); var : RSigSum(0),Rcount2(0),RSIsig(0); Var : RCounter(0), RDownAmt(0), RUpAmt(0), RUpSum(0), RDownSum(0), RUpAvg(0), RDownAvg(0); var : RDindex(0), RPreUpAvg(0), RpreDownAvg(0),Rcnt1(0),TF(0); Array : RC[100](0),RSIV1[100](0); TF = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{ for Rcnt1 = 1 to 99{ RC[Rcnt1] = RC[Rcnt1-1][1]; RSIv1[Rcnt1] = RSIv1[Rcnt1-1][1]; } RPreUpAvg = RUpAvg[1]; RpreDownAvg = RDownAvg[1]; RDindex = Rdindex + 1; } RC[0] = C; If RDindex == RSIP Then Begin RUpSum = 0; RDownSum = 0; For RCounter = 0 To RSIP - 1 Begin RUpAmt = C[RCounter] - C[RCounter+1]; If RUpAmt >= 0 Then RDownAmt = 0; Else Begin RDownAmt = -RUpAmt; RUpAmt = 0; End; RUpSum = RUpSum + RUpAmt; RDownSum = RDownSum + RDownAmt; End; RUpAvg = RUpSum / RSIP; RDownAvg = RDownSum / RSIP; End If RDindex > RSIP Then { RUpAmt = RC[0]-Rc[1]; If RUpAmt >= 0 Then RDownAmt = 0; Else { RDownAmt = -RUpAmt; RUpAmt = 0; } if RDindex <=1 Then { RUpAvg = 1; RDownAvg = 1; } Else { RUpAvg = (RPreUpAvg * (RSIP - 1) + RUpAmt) / RSIP; RDownAvg = (RpreDownAvg * (RSIP - 1) + RDownAmt) / RSIP; } } If RUpAvg + RDownAvg <> 0 Then RSIv1[0] = 100 * RUpAvg / (RUpAvg + RDownAvg); Else RSIv1[0] = 0; RSI2 = RSIv1[0]; RSigSum = 0; for Rcount2 = 0 to RSISP-1{ RSigSum = RSigSum+RSIv1[Rcount2]; } RSIS2 = RSigSum/RSISP; plot1(RSI2); plot2(RSIS2); PlotBaseLine1(50, "기준선 50", YELLOW);
프로필 이미지
예스매니아
2014-03-30
166
글번호 73953
지표
답변완료

부탁드립니다.

고,저 이동평균입니다. 이동평균선이 하방으로 바뀌면 고가 이평만 나오고,,,, 반대로 상방으로 바뀌면 저가 이평만 나오도록 부탁드립니다. Input : Period1(3), Period2(13),Period3(55); Var1 = ma(H,period1); Var2 = ma(L,period1); Var3 = ma(H,period2); Var4 = ma(L,period2); Var5 = ma(H,period3); Var6 = ma(L,period3); Plot1(Var1, "3고"); Plot2(Var2, "3저"); Plot3(Var3, "13고"); Plot4(Var4, "13저"); Plot5(Var5, "55고"); Plot6(Var6, "55저"); if var1 > var1[1] Then Plot1(Var1, "3고",GREEN); Else Plot1(Var1, "3고",GRAY); if Var2 > Var2[1] Then Plot2(Var2, "3저",GREEN); Else Plot2(Var2, "3저",GRAY); if Var3 > Var3[1] Then plot3(Var3,"13고",RED); Else plot3(Var3,"13고",BLACK); if Var4 > Var4[1] Then plot4(Var4,"13저",RED); Else plot4(Var4,"13저",BLACK); if Var5 > Var5[1] Then plot5(Var5,"55고",MAGENTA); Else plot5(Var5,"55고",blue); if Var6 > Var6[1] Then plot6(Var6,"55저",MAGENTA); Else plot6(Var6,"55저",blue);
프로필 이미지
도신님
2014-03-30
120
글번호 73952
지표
답변완료

[STAD_05] Stochastics OverBS

Inputs: Length(12), OBought(70), OSold(30), SetUpLen(6), EntryPoint(0.1), ExitPoint(1.0); Vars: KVal(0), DVal(0), BuySetup(0), SellSetup(0), BuyPeriod(99), SellPeriod(99), BuyStop(0), SellStop(0); var : Factor(0.5); ----------------------------------------------------------------------------- 질문1 내부변수 BuyPeriod(99), SellPeriod(99), Factor(0.5) (0)이아닌(99) (0.5) 인 이유를 알고싶습니다 //Stochastic Line Calculations if CurrentBar > 1 then { Kval = Kval[1] + (Factor*(FastK(Length)-Kval[1])); //기본stochasticsk와 다른 방식의 stochasticsk Dval = ((Dval[1]*2) + Kval)/3; //다른 방식의 StochasticsD } //Entry Setups IF KVal < OSold AND CrossUp( KVal , DVal) Then Begin BuySetup = Highest(High, 2); BuyStop = Low; BuyPeriod = 0; End; IF KVal > OBought AND CrossDown( KVal , DVal) Then Begin SellSetup = Lowest(Low, 2); SellStop = High; SellPeriod = 0; End; --------------------------------------------- //Counters IF MarketPosition == 1 Then BuyPeriod = SetUpLen + 1; Else BuyPeriod = BuyPeriod + 1; IF MarketPosition == -1 Then SellPeriod = SetUpLen + 1; Else SellPeriod = SellPeriod + 1; ----------------------------------------- 질문2 이부분 설명좀 달아주시면 감사하겠습니다 부탁드립니다 //Entry Signals if EntriesToday(date) < 1 then { IF BuyPeriod <= SetUpLen Then Buy("",atstop,BuySetup + EntryPoint); IF SellPeriod <= SetUpLen Then Sell("",atstop,SellSetup - EntryPoint); } //System Exits IF CrossDown( KVal , DVal ) AND KVal > OSold Then Begin BuyPeriod = SetUpLen; ExitLong(); End; IF CRossUp( Kval , DVal) AND KVal < OBought Then Begin SellPeriod = SetUpLen; ExitShort(); End; //Stops ExitLong("",atstop, BuyStop-ExitPoint); ExitShort("",atstop, SellStop+ExitPoint); 태그저장 취소
프로필 이미지
cinamon
2014-03-29
172
글번호 73951
시스템