커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 질문드립니다.

1분봉을 씁니다. 아래 식에서 FALSE 조건 추가하고 싶습니다. 전거래일 10시30분 부터 15시30분까지 = 전일 구간 AVERAGE(C2,전일구간) > 0 AND LOWEST(C2,전일구간) >-0.2 이 두조건을 넣고 싶습니다. 이 조건 만족시 당일 거래 금지시키려고합니다. 부탁드리겠습니다. 감사합니다. !! ----------------------------------------------------- . . . . . if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; C2 = Data2(c); # 매수/매도청산 if Tcond == true Then { If CROSSUP(C2,0) Then { Buy(); } . . . .
프로필 이미지
캣피쉬
2021-04-02
857
글번호 147628
시스템
답변완료

수식수정좀 부탁드립니다.

투자금액 천만원으로 가정했을때, 아래 매수조건을 바탕으로 분할매수하려고 합니다. 총 7번 매수이며, 비율은 (10%, 10%, 10%, 15%, 15%, 20%, 20%)으로 하며, 매도후엔 기존 매수가 어디까지 진행되었건 상관없이 올매도 하고 다시 첫번째 매수부터 재진행. 반복. Input : 투자금액(10000000),RSIP(14), P1(5), P2(25), 시작일(20210401),시작시간(224500); var : value(0),e(0),x(0),count(0),Vma(0), Tcond(false); var : Rsiv(0); var1 = ma(C,p1); var2 = ma(C,p2); var3 = sar(0.02,0.2); Rsiv = RSI(RSIP); if NextBarSdate >= 시작일 and NextBarStime >= 시작시간 Then Tcond = true; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then count = count+1; if sdate >= 시작일 and stime >= 시작시간 Then Tcond = true; if Tcond == true then { if MarketPosition >= 0 and CrossUp(var1,var2)and Rsiv < 60 and C > var3 Then{ buy("b"); } if MarketPosition >= 0 and Rsiv > 60 and C < var3 Then{ exitlong("s"); } }
프로필 이미지
바나
2021-04-02
983
글번호 147627
시스템
답변완료

수식문의드립니다

5분봉 12봉이내 신고가 돌파시 알람신호받고 싶습니다. 혹 키움처럼 차트에 기준선 설정가능하면 이것도 수식부탁드립니다. 수고하세요
프로필 이미지
젬스임다
2021-04-02
977
글번호 147626
시스템
답변완료

문의 드립니다.

주가가 상승이고 기준라인도 상승인데 캔들이 기준라인 아래에 위치하고 윗꼬리를 달면 짧은 하락라인이 게속 발생이 되면서 진행이 되고, 반대로 하락 시에는 기준라인 위에 캔들이 위치하고 아랫꼬리가 발생되면 반대라인이 계속 발생이 됩니다. 역매매가 이루어 지게 되는데, 수정부탁 드립니다. input: period(30),봉수(2); Var:선두께(3),상승색(BLACk), 하락색(GREEn),상승세로선색상(red),하락세로선색상(MAGENTA),세로선두께(2); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0),idx(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0)/*,ZZ[20](0)*/; Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0); r[0] = 0; r[1] = 2; r[2] = 3.; r[3] = -1; r[4] = -2.; r[5] = 1; r[6] = 0.5; For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(c,highest(h,Period)[1]) Then T = 1; if CrossDown(c,Lowest(l,Period)[1]) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 36 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; //ZZ[j+1] = ZZ[j]; } LoVal[0] = l; LoBar[0] = 0; //ZZ[0] = l; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,상승색); Tx = Text_New(date11,time11,Value11,"▼"); #동그라미 색상, 빨강 Text_SetColor(Tx,LGREEn); Text_SetStyle(Tx,2,1); Text_SetSize(tx,12); tx = Text_New(date11,time11,Value11,NumToStr(value11,2)+NewLine); Text_SetStyle(tx,2,1); Text_SetColor(Tx,LGREEn); date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]); } // TL2[0] = TL_New(date21,time21,fr[0],date22,time22,fr[0]); // TL_SetColor(TL2[0],white); #TL2[1] = TL_New(date21,time21,fr[1],date22,time22,fr[1]); #TL_SetColor(TL2[1],RED); #TL_SetStyle(TL2[1], 3); #TL2[2] = TL_New(date21,time21,fr[2],date22,time22,fr[2]); #TL_SetColor(TL2[2],red); #TL_SetSize(TL2[2],1); #TX2[2] = Text_New(date22,time22,fr[2],NumToStr(fr[2],2)); #Text_SetColor(Tx2[2],BWHITE); #Text_SetStyle(TX2[2],1,1); #TL2[3] = TL_New(date21,time21,fr[3],date22,time22,fr[3]); #TL_SetColor(TL2[3],RED); #TL_SetStyle(TL2[3], 3); #TL2[4] = TL_New(date21,time21,fr[4],date22,time22,fr[4]); #TL_SetColor(TL2[4],red); #TL_SetSize(TL2[4],1); #TX2[4] = Text_New(date22,time22,fr[4],NumToStr(fr[4],2)); #Text_SetColor(Tx2[4],BWHITE); #Text_SetStyle(TX2[4],1,0); TL2[5] = TL_New(date21,time21,fr[5],date22,time22,fr[5]); TL_SetColor(TL2[5],BLUe); TL_SetSize(TL2[5],2); // TL2[6] = TL_New(date21,time21,fr[6],date22,time22,fr[6]); // TL_SetColor(TL2[6],MAGENTA); idx = 0; } Else { If LoVal[0] > l Then { LoVal[0] = l; LoBar[0] = 0; //ZZ[0] = l; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date22 = date[0]; time22 = stime[0]; // Tx = Text_New_Self(date12,time12,Value12,NumToStr(abs(value11-value12)/PriceScale,0)+" "); #동그라미 색상, 빨강 // Text_SetColor(Tx,BLUE); // Text_SetStyle(Tx,1,0); TL_SetEnd(TL2[0],date22,time22,fr[0]); TL_SetEnd(TL2[1],date22,time22,fr[1]); TL_SetEnd(TL2[2],date22,time22,fr[2]); Text_SetLocation(TX2[2],date22,time22,fr[2]); TL_SetEnd(TL2[3],date22,time22,fr[3]); TL_SetEnd(TL2[4],date22,time22,fr[4]); Text_SetLocation(TX2[4],date22,time22,fr[4]); TL_SetEnd(TL2[5],date22,time22,fr[5]); TL_SetEnd(TL2[6],date22,time22,fr[6]); TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); idx = 0; } Else TL_SetEnd(TL,sDate,sTime,C); } } If T == 1 Then { If T[1] != 1 Then { For j = 36 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; //ZZ[j+1] = ZZ[j]; } HiVal[0] = h; HiBar[0] = 0; //ZZ[0] = h; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,하락색); Tx1 = Text_New(date11,time11,Value11,"▲"); #동그라미 색상, 파랑 Text_SetColor(Tx1,MAGENTa); Text_SetStyle(Tx1,2,5); tx = Text_New(date11,time11,Value11,NewLine+NumToStr(value11,2)); Text_SetStyle(tx,2,0); Text_SetColor(Tx,MAGENTa); date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; for j = 0 to 5 { fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]); } TL3[0] = TL_New(date31,time31,fr[0],date32,time32,fr[0]); TL_SetColor(TL3[0],REd); TL_SetSize(TL3[0],2); #TL3[1] = TL_New(date31,time31,fr[1],date32,time32,fr[1]); #TL_SetColor(TL3[1],BLUE); #TL_SetStyle(TL3[1], 3); #TL3[2] = TL_New(date31,time31,fr[2],date32,time32,fr[2]); #TL_SetColor(TL3[2],BLUE); #TL_SetSize(TL3[2],1); #TX3[2] = Text_New(date32,time32,fr[2],NumToStr(fr[2],2)); #Text_SetColor(Tx3[2],BWHITE); #Text_SetStyle(TX3[2],1,1); #TL3[3] = TL_New(date31,time31,fr[3],date32,time32,fr[3]); #TL_SetColor(TL3[3],BLUE); #TL_SetStyle(TL3[3], 3); #TL3[4] = TL_New(date31,time31,fr[4],date32,time32,fr[4]); #TL_SetColor(TL3[4],BLUE); #TL_SetSize(TL3[4],1); #TX3[4] = Text_New(date32,time32,fr[4],NumToStr(fr[4],2)); #Text_SetColor(Tx3[4],BWHITE); #Text_SetStyle(TX3[4],1,0); // TL3[5] = TL_New(date31,time31,fr[5],date32,time32,fr[5]); // TL_SetColor(TL3[5],white); // TL3[6] = TL_New(date31,time31,fr[6],date32,time32,fr[6]); // TL_SetColor(TL3[6],cyan); idx = 0; } Else { If HiVal[0] < h Then { HiVal[0] = h; HiBar[0] = 0; //ZZ[0] = h; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; // Tx = Text_New_Self(date12,time12,Value12,NumToStr(abs(value11-value12)/PriceScale,0)+" "); #동그라미 색상, 빨강 // Text_SetColor(Tx,RED); // Text_SetStyle(Tx,1,1); TL_SetEnd(TL3[0],date32,time32,fr[0]); TL_SetEnd(TL3[1],date32,time32,fr[1]); TL_SetEnd(TL3[2],date32,time32,fr[2]); Text_SetLocation(TX3[2],date32,time32,fr[2]); TL_SetEnd(TL3[3],date32,time32,fr[3]); TL_SetEnd(TL3[4],date32,time32,fr[4]); Text_SetLocation(TX3[4],date32,time32,fr[4]); TL_SetEnd(TL3[5],date32,time32,fr[5]); TL_SetEnd(TL3[6],date32,time32,fr[6]); TL_Delete(tl); TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen); idx = 0; } Else TL_SetEnd(TL,sDate,sTime,C); } } idx = idx+1; TL_SetSize(tL,선두께); TL_SetSize(tL1,선두께); TL_SetEnd(TL,sDate,sTime,c); if T == 1 Then TL_SetColor(TL,상승색); Else TL_SetColor(TL,하락색); var : VTL(0); if idx == 봉수 Then { // TL_Delete(VTL);//최근것만 표시하고자 할경우 이 내용을 삭제하시면 됩니다. // VTL = TL_New(sdate,stime,999999999,sDate,stime,0); // TL_SetColor(VTL,iff(T == -1,상승세로선색상,하락세로선색상)); // TL_SetSize(VTL,세로선두께); }
프로필 이미지
참아람
2021-04-02
914
글번호 147625
지표

바다가좋아 님에 의해서 삭제되었습니다.

프로필 이미지
바다가좋아
2021-04-02
1
글번호 147624
시스템
답변완료

틱검색

5분봉기준 2봉전(5분) 총틱수 대비 1봉전(5분) 총틱수가 절반이내의 종목을검색 부탁드립니다 틱수는 변수로 처리부탁합니다
프로필 이미지
팔보채
2021-04-02
827
글번호 147623
종목검색
답변완료

수식문의 드립니다

현재 macd 지표에서 0을 기준으로 라인이 교차 될때 배경색이 변화 되게 설정을 했는데요. 이상태에서 오후 2시에서 4시엔 배경색 색상이 않변하게 설정하고 싶은데 방법이 있는지 문의드립니다 수고하십시오
프로필 이미지
백두에서한라
2021-04-02
871
글번호 147622
지표
답변완료

함수 문의드립니다.

국내선물 거래하려고 합니다. 함수를 좀 부탁드립니다. 1. 오전 10시까지의 손실이 마이너스 1포인트를 넘지 않을 경우 기존 수식대로 거래가 이루어지도록 하고, 마이너스 1포인트를 넘을 경우 당일 거래를 쉬도록 하는 수식을 부탁드립니다. 2. 오전 10시까지의 손실이 마이너스 100만 원을 넘지 않을 경우 기존 수식대로 거래가 이루어지도록 하고, 마이너스 100만 원을 넘을 경우 당일 거래를 쉬도록 하는 수식을 부탁드립니다. 위 두 함수에서 손실Pt, 손실금액, 기준시각은 외부변수로 처리 부탁 드립니다. 항상 감사드립니다.
프로필 이미지
트레이더365
2021-04-05
760
글번호 147621
시스템
답변완료

문의드립니다.

문의드립니다. 1. 아래의 수식을 이용하여 특정 조건 만족 시 고가 저가 갱신하는 지표를 만들고 싶습니다. 예를 들어 condition1 = HH[2] < HH[1] condition2 = LL[2] < LL[1] 1,2번 조건 만족 시 HH[1] LL[1] 값을 plot하는데 몇시간 뒤에 1,2번 조건을 새롭게 만족하면 그때 새로운 HH[1] LL[1]으로 plot 하는게 가능할까요? 2. 만약 1번이 구현 가능하다면 해외선물 기준이 아닌 국내 코스피200선물용으로도 수식 부탁드립니다. ------------------------------------------------------ input : ntime(120); var : S1(0),D1(0),TM(0),TF(0); var : HH(0),HH1(0),HH2(0),LL(0),LL1(0),LL2(0); input : ntime(120); var : S1(0),D1(0),TM(0),TF(0); var : HH(0),HH1(0),HH2(0),LL(0),LL1(0),LL2(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { HH = H; LL = L; HH1 = HH[1]; LL1 = LL[1]; HH2 = HH[2]; LL2 = LL[2]; } if H > HH Then HH = H; if L < LL Then LL = L; plot1(HH,"최근120분봉고가",WHITE); plot2(LL,"최근120분봉저가",WHITE); plot3(HH1,"직전120분봉고가",YELLOW); plot4(LL1,"최근120분봉저가",YELLOW); plot5(HH2,"전전120분봉고가",GREEN); plot6(LL2,"전전120분봉저가",GREEN); }
프로필 이미지
7out
2021-04-02
701
글번호 147620
지표