커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

66964 번 문의

항상 감사드립니다. 해결하였습니다. 감사합니다.
프로필 이미지
라떼처럼
2020-04-12
626
글번호 137826
시스템
답변완료

수식부탁드립니다

input : n(12),x(10); var : idx(0),hh(0),ll(0),dd(0),tt(0); var : tl1(0),tl2(0),tl3(0),tl4(0); var1 = highest(H,n); var2 = lowest(L,n); Condition1 = C <= var1[1] and C >= var2[1]; if Condition1 == true and Condition1[1] == false Then { idx = 0; hh = c; ll = c; dd = sdate; tt = stime; } if Condition1 == true Then { idx = idx+1; if c > hh Then hh = c; if c < ll Then ll = c; if idx == x Then { tl1 = TL_New(dd,tt,hh,dd,tt,ll); tl2 = TL_New(dd,tt,hh,sdate,stime,hh); tl3 = TL_New(dd,tt,ll,sdate,stime,ll); tl4 = TL_New(sdate,stime,hh,sdate,stime,ll); } if idx > x Then { TL_SetBegin(tl1,dd,tt,hh); TL_SetEnd(tl1,dd,tt,ll); TL_SetBegin(tl2,dd,tt,hh); TL_SetEnd(tl2,sdate,stime,hh); TL_SetBegin(tl3,dd,tt,ll); TL_SetEnd(tl3,sdate,stime,ll); TL_SetBegin(tl4,sdate,stime,hh); TL_SetEnd(tl4,sdate,stime,ll); } } If hh <= C Then { TL_SetColor(TL1,YELLOW); TL_SetColor(TL2,YELLOW); TL_SetColor(TL3,YELLOW); TL_SetColor(TL4,YELLOW); } Else { TL_SetColor(TL1,YELLOW); TL_SetColor(TL2,YELLOW); TL_SetColor(TL3,YELLOW); TL_SetColor(TL4,YELLOW); } TL_SetSize(TL1,0); //좌측세로선 굵기 TL_SetSize(TL2,1); //상단가로선 굵기 TL_SetSize(TL3,1); //하측가로선 굵기 TL_SetSize(TL4,0); //우측세로선 굵기 TL_SetStyle(TL1,3); //좌측세로선 점선 TL_SetStyle(TL4,3); //우측세로선 점선 상기그림과같이 1. 박스 고점과 저점을 기준으로 상향 돌파시 매수 신호, 하향 돌파시 매도 신호 2. 신호가 나왔을 시 반대 신호가 나올때까지 같은방향은 안나옴 3. 시작일자를 넣은 시스템수식 부탁드립니다 감사합니다
프로필 이미지
수색대대
2020-04-11
693
글번호 137825
시스템
답변완료

부탁드립니다

#66948 적용결과 1, 거래량1과 거래량2의 비율만큼 음,양색상이 같이 표현되지 않고 거래량1의 한가지 색상으로만 나타납니다,확인부탁드립니다. 2,최근 N봉전 기간동안 가장큰봉의 몸통의 중심값 수식부탁드립니다. #, 언제나 늘 고맙습니다.
프로필 이미지
회원
2020-04-12
660
글번호 137824
지표
답변완료

질문드립니다

안녕하세요 특정시간대에서 거래량의 최고/최저치를 알수 있는 방법이 궁금합니다. 예를들면, 101000 시부터 113500 시 사이 거래량의 최고/최저치를 구하는 식입니다. 감사합니다.
프로필 이미지
맘속의행복
2020-04-10
689
글번호 137823
사용자 함수
답변완료

문의 드립니다

안녕하세요! 아래수식을 적용하면 그림과같은 챠트가 되는데요 1, 여기서 파란색 화살표 부분의 선은 삭제하여주시구요 2, 빨간색 화살표 부분의 선은 수식에서 어느부분인지 알려주시면 감사하겠습니다 필요시 선의 두께와 색상을 임의로 수정코자합입니다 * 우선 선의 두께를 1단계만 두껍게 수정 부탁드립니다 항상 수고하심에 감사드립니다!! ---------------------------------------------------------------------------------- Var:Period(20),선두께(6.99),상승색(BWHITE), 하락색(BWHITE); 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); 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 = 18 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,RED); Text_SetStyle(Tx,2,2); Text_SetSize(tx,12); //tx = Text_New(date11,time11,Value11,NumToStr(value11,2)+NewLine+NumToStr(value11,2)+NewLine); //Text_SetStyle(tx,2,1); 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],RED); #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],RED); TL2[6] = TL_New(date21,time21,fr[6],date22,time22,fr[6]); TL_SetColor(TL2[6],MAGENTA); } 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); } } If T == 1 Then { If T[1] != 1 Then { For j = 18 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,BLUE); Text_SetStyle(Tx1,2,2); Text_SetSize(tx1,12); //tx = Text_New(date11,time11,Value11,NewLine+NumToStr(value11,2)+NewLine+NumToStr(value11,2)); //Text_SetStyle(tx,2,0); 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],BLUE); #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],BLUE); TL3[6] = TL_New(date31,time31,fr[6],date32,time32,fr[6]); TL_SetColor(TL3[6],cyan); } 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); } } TL_SetSize(TL1,선두께); TL_SetEnd(tl,NextBarSdate,NextBarStime,NextBarOpen);
프로필 이미지
유로파54
2020-04-11
674
글번호 137822
지표
답변완료

66925번에 대한 재질문사항입니다

안녕하세요 관리자님 보내주신 66925번의 수식은 잘받았습니다. 다름이 아니오라 원래 제가 원했던 건 상한1,하한1,상한2,하한2 요렇게 4개의 선을 구현하려 했던건데 선이 2개밖에 안나오는데 이게 맞는건지요?? 제가 잘몰라서 다시한번 여쭤봅니다 관리자님!! 번거롭게 해드려 대단히 죄송합니다. 즐거운주말되세요!! - 보내주신 66925번의 수식 - if bdate != bdate[1] Then { var1 = 0; var2 = 0; var3 = 0; var4 = 0; var11 = var1[1]; var22 = var2[1]; var33 = var3[1]; var44 = var4[1]; } if h > dayopen Then { var1 = var1 + (h-dayopen); var2 = var2 + 1; } if L < dayopen Then { var3 = var3 + (l-dayopen); var4 = var4 + 1; } if var22 > 0 Then plot1(dayopen+(var11/var22)); if var44 > 0 Then plot2(dayopen+(var33/var44));
프로필 이미지
카카
2020-04-10
619
글번호 137819
지표
답변완료

지표식 부탁합니다.

아래와 같이해서 5개에서 10개봉까지의 종가를 현재봉 종가와 비교하는 지표를 사용하고 있습니다. 그런데 5개전봉에서 5+n봉 전까지 자유롭게 변경가능하게 지표를 보고 싶습니다. 수익부탁해요^^ var1 = 0; if close>close[5] Then var1=var1+1; if close>close[6] Then var1=var1+1; if close>close[7] Then var1=var1+1; if close>close[8] Then var1=var1+1; if close>close[9] Then var1=var1+1; if close>close[10] Then Plot1(var1, "종가비교");
프로필 이미지
e편한신호
2020-04-10
590
글번호 137818
지표
답변완료

66963 관련 재문의드립니다.

Histogrm_Color = white; if MA_Fast >= MA_Fast[1] then { if HiLo_Range >= inp_Sensitivity then Histogrm_Color = white; else Histogrm_Color = yellow; } else { if HiLo_Range >= inp_Sensitivity Then Histogrm_Color = red; else Histogrm_Color = blue; } ------------------------------------------- 죄송합니다. 기준선으로 잘못 표현한것 같습니다. 1. "히스토그램 0 미만으로부터 0을 넘은 첫번째" if HiLo_Range >= inp_Sensitivity then Histogrm_Color = white; 의 캔들에 강조 2. "히스토그램 0 미만으로부터 0을 넘은 첫번째" if HiLo_Range >= inp_Sensitivity Then Histogrm_Color = red; 의 캔들에 강조를 시키고 싶습니다. 감사드립니다. 좋은 하루 되세요
프로필 이미지
물고기
2020-04-10
588
글번호 137815
강조
답변완료

부탁드립니다.

항상 감사드립니다. 아래식을 수정하여 진입 계약 수를 조절하고 싶습니다. 그럼 부탁드립니다. tt가 1) -30 < tt <= 0 인 경우 1계약 2) -30 도달 되면 tt가 0이 될때까지 2계약 ==> -30<=tt 가 되면, -60 < tt <= 0 까지 2계약, 0 까지 도달 시 계약수 1로 변경 ==> 1)수행 3) -60 도달 되면 tt가 -30이 될때까지 3계약 ==> -60<=tt 가 되면, tt <=-60 or -60 <= tt <-30 까지 3계약, -30 이상 도달 시 계약수 2로 변경 ==> 2)수행 input: BB(0), AA(-40); Input : 손절(3),익절(3),익절하락(1); input : P1(30), P2(120), p3(240); input : StartTime(090300),EndTime(151500); var : tx(0),X(false),Tcond(false),tt(0); var1 = ma(C, P1); var2 = ma(C, P2); var3 = ma(C, P3); ######## 진입제한 if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then { Tcond = true; } if (sdate != sdate[1] and stime >= Endtime) or (sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then { Tcond = false; } ## 진입 if Tcond == true and marketposition == 0 and crossup(var1,var2) Then { buy("B1"); } if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then { sell("S1"); } if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then { buy("B2"); } if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then { sell("S2"); } #### Target 청산 if MarketPosition == 1 then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } if Marketposition == -1 Then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } ## 카운트 if TotalTrades > TotalTrades[1] then { if IsExitName("StopLoss",1) == true then { tt = tt - 10; if tt >= 0 Then { tt = 0; Condition1 = false; } if tt > AA then ### { tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)); Text_SetSize(tx,20); Text_Setstyle(tx,2,20); } else { Condition1 = true; tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)+"★"); Text_SetSize(tx,20); Text_Setstyle(tx,2,20); } } if IsExitName("StopTrailing",1) == true then { tt = tt + 10; if tt >= 0 Then { tt = 0; X = true; Condition1 = false; } if Condition1 == true and tt >= BB then ### Condition1 = false; ### if tt > AA then ### { tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)); Text_SetSize(tx,20); Text_Setstyle(tx,2,2); } else { tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0)+"★"); Text_SetSize(tx,20); Text_Setstyle(tx,2,2); } } } if ((sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime)) Then { if MarketPosition == 1 Then ExitLong("BE6"); if MarketPosition == -1 Then ExitShort("SE6"); }
프로필 이미지
라떼처럼
2020-04-10
603
글번호 137812
시스템