커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

계좌잔액대비 매수수량 지정

안녕하세요! 현물 매수로직에서 계좌잔액대비 매수수량을 자동으로 설정하는 로직을 문의드립니다. 예를 들어, 계좌잔액이 1천만원이라고 할때, 이를 5등분하여 5개 종목에 분할 매수/매도하는 로직으로 구현하고 싶은데, 2백만원은 A라는 종목에 00주(2백만원 / A종목 가격 = 00주), 2백만원은 B라는 종목에 XX주(2백만원 / B종목 가격 = XX주) 이런식으로 구현하려면 어찌하면 되는지요? 감사합니다.
프로필 이미지
태산정복
2020-05-27
2232
글번호 139253
시스템
답변완료

지표추가

#)추가내용 ***************************************************** var3=20밴드의 (고가저가합)을고가에서더한라인 var4=20밴드의 (고가저가합)을저가에서&#48824;라인 var5=20밴드의 (고가저가합)/2의 라인 색상(모두블랙) ****************************************************** 1>원식 Input : Period1(5), Period2(20), 색상1(red), 색상2(BLUE); var1 = wma(High,Period1); var2 = wma(High,Period2); Var11 = wma(Low,Period1); var12 = wma(Low,Period2); (추가내용) ------------------------------------------------------ - var3=20밴드의 (고가저가합)을고가에서더한라인 - var4=20밴드의 (고가저가합)을저가에서&#48824;라인 - var5=20밴드의 (고가저가합)/2의 라인 - 색상(모두블랙) -------------------------------------------------------- Plot1(var1, "가중H5"); if c>var2 then Plot2(var2, "가중H20", 색상1); else Plot2(var2, "가중H20", 색상2); Plot11(var11, "가중L5"); if c<var12 then Plot12(var12, "가중L20", 색상2 ); else Plot12(var12, "가중L20", 색상1);
프로필 이미지
회원
2020-05-27
2286
글번호 139252
지표
답변완료

문의드립니다!

어제 질문에 상세한 설명과 함께 답변해주심에 정말 감사드립니다 ^^ 이 수식에 대해서 2가지만더 수정 부탁드립니다 1, 세로선도 상승색, 하락색으로 구분이될수있으면 더 좋겠습니다 2, 예비선이 안나오는데 이전처럼 이선도 그대로 나왔으면 합니다 감사합니다 !!! ------------------------------------------------------------------------------------ Var:Period(20),선두께(3),상승색(white), 하락색(white),예비선발생후봉수(5),세로선색상(red),세로선두께(3); 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 = 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); idx = 0; } 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; } } 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); idx = 0; } 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; } } idx = idx+1; TL_SetSize(tL,선두께); TL_SetSize(tL1,선두께); var : VTL(0); if idx == 예비선발생후봉수 Then { TL_Delete(VTL);//최근것만 표시하고자 할경우 이 내용을 삭제하시면 됩니다. VTL = TL_New(sdate,stime,999999999,sDate,stime,0); TL_SetColor(VTL,세로선색상); TL_SetSize(VTL,세로선두께); }
프로필 이미지
유로파54
2020-05-27
2136
글번호 139251
지표
답변완료

수식 부탁 드립니다

매매시간 : 07시 00분 익일 06시 00분 주문 : 상,하 -120틱 매수 +120틱 청산 상,하 +120틱 매도 -120틱 청산
프로필 이미지
푸른
2020-05-27
2223
글번호 139250
시스템
답변완료

수식

안녕하세요. 하기 수식 도움 부탁드립니다. 20/60 MA이평선이 정배열.역배열 상대에서 20 MA이평선이 5캔들 앞으로 이동시킨 선이 돌파 시 매수 / 이탈 시 매도. 감사합니다.
프로필 이미지
한국사람73
2020-05-27
2348
글번호 139249
시스템
답변완료

전일이평선

수고 많으십니다. 전일 20일 이평선의 시가 고가 저가 종가를 표현하고 싶습니다. 감사합니다.
프로필 이미지
고저중
2020-05-27
2378
글번호 139248
지표
답변완료

예스트레이더에 강세 약세 색상표현하는 방법

예 봉이 60이평선이 위에 있으면 강세색상, 봉이 60이평 아래 있으면 약세색상. 부탁드립니다. 첨부파일참조.
프로필 이미지
신나는파파
2020-05-27
2668
글번호 139247
사용자 함수
답변완료

수식부탁드립니다.

안녕하세요 1. 20 이동평균선이 swinghigh 가 발생한 후 2. 20 이동평균선이 60 이동평균선 아래로 가지않고 3. 20이동평균선이 위 swinghigh 선을 돌파시 매수 부탁드립니다.
프로필 이미지
orfeu
2020-05-27
2103
글번호 139246
시스템
답변완료

수식 작성부탁드립니다.

자꾸 번거롭게 해드려 죄송합니다~ 며칠전 특정 시간대 채널 설정해서 1일 2회 진입 청산하는걸 몇개 삭제하고, 1일 1회로 줄여서 검증하고했는데 제가 지워서는 안될걸 지웠는지 잘 안되는거같습니다.ㅠㅠ 새로 수식 부탁드립니다. 1. 1일 1회만 진입(조건 미충족시 거래없는 날도 있을 수 있음) 2. 특정시간대(09시~09시30분)내에서 단기이동평균선이 장기이동평균선을 상향 돌파시 매수, 하향 돌파시 매도. 3. 익절 30 손절 20 / 강제청산 05시40분 4. 가령 특정시간대가 09시~09시30분으로 설정되었을때 그 시간내에 이동평균선 간의 골든크로스 혹은 데드크로스가 형성되지 않아 신호 미발생 시, 0시가 넘어가면 설정된 특정시간대가 아님에도 불구하고 신호가 나오는 경우가 있고, 0시 이전에 포지션이 진입 된 후, 손절 익절 가격이 오지 않아 0시가 넘어갈 경우 익절 손절이 무시되고 05시40분에 강제청산 되는 경우가 있는데 이런 현상이 없도록 부탁드립니다. 5, 변수편집창에서 특정시간대, 익절, 손절, 강제청산 시간, 단기/장기 이동평균선 수치 편집가능하게 부탁드립니다. 감사합니다~ 좋은하루되세요~
프로필 이미지
머어얼
2020-05-27
2190
글번호 139245
시스템