커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

첫진입과 나머지 진입 전체거래횟수1

요청내용1) 아래 수식은 s1 진입이 주된 진입수식 입니다. s1 진입이 없을 경우 s2,s3,b1 중 어느 하나가 진입합니다. s1 진입이 있을 경우, 나머지는 진입하지 않는다는 조건을 추가해 주십시요. 요청 내용2) 거래는 데이트레이딩이며, 당일 발생봉부터 계산한다는 내용과 전체수식 통틀어 거래는 1번만 한다는 내용도 추가해 주십시요. 요청내용 3 손절 수식을 작성해 보았습니다. 맞는지 살펴주십시요. 항상 고맙습니다. **************************************************************************** input : d2(50),d3(800); input : dd2(4000); input : 몸통(0.65),몸통lock(090000); input : dd3(3000); input : s1ls(4.2),s1tr(5.2); input : s2ls(4.2),s2tr(5.2); input : s3ls(4.2),s3tr(5.2); input : b1ls(1.8),b1tr(4.4); if Data2(c<highd(0)-d2) and Data3(c)<d3 then Sell("s1"); if Data2(c<opend(0)-dd2) Then Sell("s2"); if c<o and abs(o-c)>몸통 Then Sell("s3"); if Data3(c>lowd(0)+dd3) Then Buy("b1"); if MarketPosition== -1 Then { if IsEntryName("s1") == true Then { SetStopLoss(s1ls,PointStop); SetStopTrailing(s1tr,0,PointStop,1); } Else if IsEntryName("s2") == true Then { SetStopLoss(s2ls,PointStop); SetStopTrailing(s2tr,0,PointStop,1); } Else if IsEntryName("s3") == true Then { SetStopLoss(s3ls,PointStop); SetStopTrailing(s3tr,0,PointStop,1); } } else if MarketPosition== 1 Then { SetStopLoss(b1ls,PointStop); SetStopTrailing(b1tr,0,PointStop,1); } Else { SetStopLoss(0); SetStopProfittarget(0); }
프로필 이미지
목마와숙녀
2024-11-06
781
글번호 183767
시스템
답변완료

부탁드립니다

과거에 만들어 주신 수식입니다. //n이 0이면 당일시가, 1이면 전일종가, 2이면 차트첫봉시가기준 으로 되어 있습니다. 이렇게 이용하니, 전일의 그래프와 당일의 그래프가 겹쳐져서 당일아침에 왜곡이 많이 생깁니다. 그래서 날짜와 시간을 지정해서 그때부터 그래프가 그려지면 좋겠습니다.. 부탁드립니다. //n이 0이면 당일시가, 1이면 전일종가, 2이면 차트첫봉시가기준 //data1-콜, data2-풋, data3-선물 input : N(0),선비(0),옵비(0),P1(3),P2(5),P3(10); var : O1(0,data1),R1(0,data1),M21(0,data1),M22(0,data1),M23(0,data1); var : O2(0,data2),R2(0,data2);// var : O3(0,data3),R3(0,data3),M11(0,data3),M12(0,data3),M13(0,data3); var : sp(0); if N == 0 Then //시가기준 { O1 = data1(openD(0)); O2 = data2(openD(0)); O3 = data3(openD(0)); } if N == 1 Then { O1 = data1(closeD(1)); O2 = data2(closeD(1)); O3 = data3(closeD(1)); } if N == 2 then { if data1(index == 0) Then O1 = data1(O); if data2(index == 0) Then O2 = data2(O); if data3(index == 0) Then O3 = data3(O); } if O1 > 0 Then { R3 = data3((C-O3)/O3*선비); M11 = data3(ma(R1,P1)); M12 = data3(ma(R1,P2)); M13 = data3(ma(R1,P3)); plot1(R3,"d1 등락률"); plot2(M11,"d1 이평1"); plot3(M12,"d1 이평2"); plot4(M13,"d1 이평3"); } if O2 > 0 Then { R1 = data1((C-O1)/O1*옵비); M21 = data1(ma(R1,P1)); M22 = data1(ma(R1,P2)); M23 = data1(ma(R1,P3)); plot21(R1,"d2 등락률"); plot6(M21,"d2 이평3"); plot7(M22,"d2 이평3"); plot8(M23,"d2 이평3"); } if O3 > 0 Then { R2 = data2((C-O2)/O2*옵비)*-1; plot31(R2,"d3 등락률"); plot41(sp,"sp 등락률"); } if O1 > 2 and O3 > 0 Then { sp = r1-r2; Plot10(sp); }
프로필 이미지
파란별
2024-09-26
1126
글번호 183766
지표
답변완료

거래 종료(포지션 정리)관련 문의 드립니다.

항상 많은 도움 감사드립니다. 나스닥 시스템 거래를 24시간 동안 운용하고 있습니다. 그런데 나스닥 시장 자체가 현지 시간기준으로 3시 30분부터 휴식시간이 있으며 예스스탁 시스템은 또한 아침 7시경에 점검 때문에 시스템이 종료가 됩니다. 그래서 시스템은 24시간 돌아가되 현지 시간기준으로 3시 20분에 포지션이 있다면 정리하고 거래가 종료되도록 설정하고 싶습니다. 거래 시간으로 설정한다면 현지시간 오후 17:30분에 시작을 해서 다음날 오후 15시 20분에 정리가 되게 하고 싶습니다. SetStopEndofday 명령어를 사용해 보았는데 설정을 잘못하였는지 설정한 시간이후에는 거래가 이루어 지지 않는 현상이 발생해서 도움 요청 드립니다. 정리하자면 거래 시간은 17:30 ~ 다음날 15:20 15:20분에 모든 포지션을 정리한다... 입니다. 그리고 시스템이 돌아가는 중에 손실제한을 100으로 설정하는 법도 부탁드립니다. 손실 제한을 걸어보니 거래가 이루어 지지 않아서요...
프로필 이미지
비정성시
2024-09-26
878
글번호 183760
시스템
답변완료

검색식 부탁합니다

검색시 부탁드립니다.(RSI 다이버젼스) 조건은 하부 지표에서 1) 해당 지표값이 -15이하일때 2) 색상이 적색에서 연두색으로 변하는 지점에서의 검색식 부탁합니다 input : len_fast(5),len_slow(14); var : src_fast(0),src_slow(0); var : alpha_fast(0),up_fast(0),down_fast(0),rsi_fast(0); var : alpha_slow(0),up_Slow(0),down_slow(0),rsi_slow(0); var : divergence(0); src_fast = C; var1 = max(src_fast-src_fast[1],0); Var2 = -min(src_fast-src_fast[1],0); src_slow = C; var3 = max(src_slow-src_slow[1],0); Var4 = -min(src_slow-src_slow[1],0); alpha_fast = 1/len_fast; up_fast = 0; up_fast = IFf(IsNan(up_fast[1])== true, ma(var1,len_fast),alpha_fast*var1+(1 - alpha_fast)*up_fast[1]); down_fast = 0; down_fast = IFf(IsNan(down_fast[1])== true, ma(var2,len_fast),alpha_fast*var2+(1 - alpha_fast)*down_fast[1]); rsi_fast = iff(down_fast == 0 , 100 , IFf( up_fast == 0 , 0 , 100 - (100 / (1 + up_fast / down_fast)))); alpha_slow = 1/len_slow; up_slow = 0; up_slow = IFf(IsNan(up_slow[1])== true, ma(Var3,len_slow),alpha_slow*Var3+(1 - alpha_slow)*up_slow[1]); down_slow = 0; down_slow = IFf(IsNan(down_slow[1])== true, ma(Var4,len_slow),alpha_slow*Var4+(1 - alpha_slow)*down_slow[1]); rsi_slow = iff(down_slow == 0 , 100 , iff(up_slow == 0 , 0 , 100 - (100 / (1 + up_slow / down_slow)))); divergence = rsi_fast - rsi_slow; plot1(divergence, "divergence",iff(divergence > 0 , lime,red)); PlotBaseLine1(0);
프로필 이미지
행복만땅
2024-10-10
1056
글번호 183759
종목검색
답변완료

수식변경요청

안녕하세요 늘 도움 감사드립니다. 아래의 수식에서 ... 고점은 음봉의 고점에... 저점은 양봉의 저가에 고저가 그려지도록 부탁드립니다. input : af(0.02), maxAF(0.2),추세선두께(1),추세선색1(YELLOW),추세선색2(CYAN),연장선두께(2),연장선색(gray); input : 텍스트출력(1); var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0); var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0); var : TL1(0),TL2(0),cnt(0),count(0); var : TL3(0),TL4(0),TL5(0),TL6(0),TL7(0); var : Tx3(0),Tx4(0),Tx5(0),Tx6(0),Tx7(0); Var : TL11(0),TL22(0); var1 = CSar(af,maxAF); if crossup(c,var1) Then { T = 1; HH = H; HD = sdate; HT = stime; HH1 = HH[1]; HD1 = HD[1]; HT1 = HT[1]; if LL > 0 Then { #TL1 = TL_new(LD[1],LT[1],LL[1],HD,HT,HH); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL_Delete(TL7); TL3 = TL_new(HD[1],HT[1],HH[1],sdate,stime,HH[1]); TL4 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2); TL5 = TL_new(HD[1],HT[1],LL,sdate,stime,LL); TL6 = TL_new(HD[1],HT[1],HH[1]+(HH[1]-LL)/2,sdate,stime,HH[1]+(HH[1]-LL)/2); TL7 = TL_new(HD[1],HT[1],LL-(HH[1]-LL)/2,sdate,stime,LL-(HH[1]-LL)/2); //추세선 오른쪽 연장설정 TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetExtRight(TL6,true); TL_SetExtRight(TL7,true); Text_Delete(TX3); Text_Delete(TX4); Text_Delete(TX5); Text_Delete(TX6); Text_Delete(TX7); value3 = HH[1]; value4 = (HH[1]+LL)/2; value5 = LL; value6 = HH[1]+(HH[1]-LL)/2; value7 = LL-(HH[1]-LL)/2; TX3 = Text_New(sDate,sTime,value3,NumToStr(value3,2)); TX4 = Text_New(sDate,sTime,value4,NumToStr(value4,2)); TX5 = Text_New(sDate,sTime,value5,NumToStr(value5,2)); TX6 = Text_New(sDate,sTime,value6,NumToStr(value6,2)); TX7 = Text_New(sDate,sTime,value7,NumToStr(value7,2)); /* if 텍스트출력 == 1 then { Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(HH1,2)); Text_SetStyle(tx11,2,1); Text_Delete(tx1); Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2)); Text_SetStyle(tx1,2,1); }*/ } #TL11 = TL_New(HD1,HT1,HH1,HD,HT,HH); } if CrossDown(c,var1) Then { T = -1; LL = L; LD = sdate; LT = stime; LL1 = LL[1]; LD1 = LD[1]; LT1 = LT[1]; if HH > 0 Then { #TL2 = TL_new(HD[1],HT[1],HH[1],LD,LT,LL); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL_Delete(TL7); TL3 = TL_new(LD[1],LT[1],HH,sdate,stime,HH); TL4 = TL_new(LD[1],LT[1],(HH+LL[1])/2,sdate,stime,(HH+LL[1])/2); TL5 = TL_new(LD[1],LT[1],LL[1],sdate,stime,LL[1]); TL6 = TL_new(LD[1],LT[1],LL[1]-(HH-LL[1])/2,sdate,stime,LL[1]-(HH-LL[1])/2); TL7 = TL_new(LD[1],LT[1],HH[1]+(HH-LL[1])/2,sdate,stime,HH[1]+(HH-LL[1])/2); //추세선 오른쪽 연장설정 TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetExtRight(TL6,true); TL_SetExtRight(TL7,true); Text_Delete(TX3); Text_Delete(TX4); Text_Delete(TX5); Text_Delete(TX6); Text_Delete(TX7); value3 = HH; value4 = (HH+LL[1])/2; value5 = LL[1]; value6 = HH+(HH-LL[1])/2; value7 = LL[1]-(HH-LL[1])/2; TX3 = Text_New(sDate,sTime,Value3,NumToStr(Value3,2)); TX4 = Text_New(sDate,sTime,Value4,NumToStr(Value4,2)); TX5 = Text_New(sDate,sTime,Value5,NumToStr(Value5,2)); TX6 = Text_New(sDate,sTime,Value6,NumToStr(Value6,2)); TX7 = Text_New(sDate,sTime,Value7,NumToStr(Value7,2)); /* if 텍스트출력 == 1 then { Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(LL1,2)); Text_SetStyle(tx22,2,0); Text_Delete(tx2); Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2)); Text_SetStyle(tx2,2,0); }*/ } #TL22 = TL_New(LD1,LT1,LL1,LD,LT,LL); } if T == 1 then { if H > HH Then { HH = H; HD = sdate; HT = stime; TL_SetEnd(TL1,HD,HT,HH); TL_SetEnd(TL11,HD,HT,HH); /* if 텍스트출력 == 1 then { Text_Delete(tx1); Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2)); Text_SetStyle(tx1,2,1); }*/ } } if T == -1 then { if L < LL Then { LL = L; LD = sdate; LT = stime; TL_SetEnd(TL2,LD,LT,LL); TL_SetEnd(TL22,LD,LT,LL); /* if 텍스트출력 == 1 then { Text_Delete(tx2); Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2)); Text_SetStyle(tx2,2,0); }*/ } } #추세선 두께, 색상 TL_SetSize(TL1,추세선두께); TL_SetSize(TL11,추세선두께); TL_SetSize(TL2,추세선두께); TL_SetSize(TL22,추세선두께); TL_SetColor(TL1,추세선색1); TL_SetColor(TL11,추세선색1); TL_SetColor(TL2,추세선색2); TL_SetColor(TL22,추세선색2); #연장선 두께, 색상 TL_SetSize(TL3,연장선두께); TL_SetSize(TL4,연장선두께); TL_SetSize(TL5,연장선두께); TL_SetSize(TL6,연장선두께); TL_SetSize(TL7,연장선두께); TL_SetColor(TL3,연장선색); TL_SetColor(TL4,연장선색); TL_SetColor(TL5,연장선색); TL_SetColor(TL6,연장선색); TL_SetColor(TL7,연장선색); Text_SetLocation(TX3,sDate,sTime,value3); Text_SetLocation(TX4,sDate,sTime,Value4); Text_SetLocation(TX5,sDate,sTime,Value5); Text_SetLocation(TX6,sDate,sTime,Value6); Text_SetLocation(TX7,sDate,sTime,Value7); Text_SetStyle(TX3,0,1); Text_SetStyle(TX4,0,1); Text_SetStyle(TX5,0,1); Text_SetStyle(TX6,0,1); Text_SetStyle(TX7,0,1);
프로필 이미지
알리섬
2024-09-26
805
글번호 183758
지표
답변완료

종목검색식 부탁드립니다.

예스 종목검색식으로 부탁드립니다. 감사합니다...^^ A=EOM(eomP); B=avg(EOM(eomP),eomSig); M=crossup(A,B); E=crossdown(A,B); F=valuewhen(1,M or E, o); f1=crossup(c,F); f2=crossdown(c,F); G=valuewhen(1, f1 or f2, o); g1=crossup(c,G); g2=crossdown(c,G); VV=valuewhen(1, g1 or g2,o); 조건=valuewhen(1,CrossDown(O,VV),VV(1)); CrossUp(C, 조건) (지표변수) eomP: 40 / eomSig: 3
프로필 이미지
비밀통로
2024-09-26
939
글번호 183757
종목검색
답변완료

키움수식 종목검색

period 20 BUY=(C - lowest(C, period))/C*100; MAX(A, 0) SELL B=(highest(C, period)- C)/C*100; MAX(B, 0) CROSSUP(BUY, SELL)
프로필 이미지
박셰프
2024-09-26
799
글번호 183756
종목검색
답변완료

종목검색식 부탁드림니다.

항상 노고에 감사드림니다. 아래의 수식을 종목 검색식으로 부탁드림니다. A1=crossup(StochasticsSlow (period1,period2), eavg(StochasticsSlow(period1, period2),period3)); A2=crossup(MACD(shortperiod, longperiod), eavg(MACD(shortperiod, longperiod),sigperiod)); A1 and A2 지표변수 period1 12 period2 5 period3 5 shortperiod 12 longperiod 26 sigperiod 9
프로필 이미지
존슨비치
2024-09-25
763
글번호 183755
종목검색
답변완료

시스템수식 부탁드립니다.

파라볼릭 기준으로 봉아래쪽에서 발생시 매수 진입 봉위쪽에서 발생시 매도 진입 할 수 있는 수식 부탁드립니다. 청산은 반대 신호시...
프로필 이미지
미완
2024-09-25
753
글번호 183754
시스템