커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

일목균형 선행스팬2

항상감사드립니다. 아래의 조건으로 시스템식을 구현하고 싶습니다. ***A_일목균형 선행스팬2 돌파시스템 1.일목균형 기준선이 선행스팬2를 상향돌파한다음 현재가가 선행스팬2를 터치하고 현재가 > 선행스팬2 매수 2.일목균형 기준선이 선행스팬2를 하향돌파한다음 현재가가 선행스팬2를 터치하고 현재가 < 선행스팬2 매도 ***B_MACD 돌파매매 ** macd crossup 발생시 앞전 crossup 발생점보다 높으면 매수 (macdv 라인이 앞전 crossup 지점보다 항상 위에 있을것) ** macd crossdown 발생시 앞전 crossdown 발생점보다 낮으면 매도 (macdv 라인이 앞전 crossdown 지점보다 항상 아래에 있을것) 1.MACD(12.26.9)/스톡캐스트(5,3,3)/CCI(20,10) 2.crossup(macdv,macdsignal) 이면 최근에 발생된값을 var11 ,var12 ,var13 순으로 저장 crossdown(macdv,macdsignal) 이면 최근에 발생된값을 var21 ,var22 ,var23 순으로 저장 a_ var21>var22 and var21>var11 and var22>var11 이고 var11 발생이후 현재가가 var11가격 을 상회할때 crossup(macdv,macdsignal) 이고 stock K > stock D 이고 CCI>100 매수신호 b_var11>var12 and var11>var21 and var11>var22 이고 var21 발생이후 현재가가 var21가격 을 하회할때 crossdown(macdv,macdsignal) 이고 stock K < stock D 이고 CCI<-100 매도신호 감사합니다.
프로필 이미지
조민철
2017-07-27
139
글번호 111602
시스템
답변완료

청산수식문의

해외선물 크루드오일에서 여러번에 걸쳐 매수가 들어가서 예를들어서 7개 누적매수량이 있을 때 if TOTPL>REALPL then Begin ExitLong(); end; 처럼하고 시스템 매매설정 의 시간자동주문의 1차자동정정 체결대기 3초 정정가격 상대2호가 2차자동정정 체결대기 3초 정정가격 상대2호가 처럼 설정하고 돌려보니 7개매수량이 청산이 다되고도 오히려 과매도가 더 되어서 2개가 매도물량으로 잡혀 있습니다. 어떻게 하면 7개매수 물량이 정확히 7개 청산할 수 있는지 알려주시기 바랍니다. 1차나 2차 자동정정기능을 정확히 제가 잘 모르겠습니다. 이것 사용하면 안되는지요? 아예 사용 안하는 것이 더 좋은지요? 2번재 질문은 계좌에 두 종목을 매수했을때 계좌 전체가 수익이 났을 때 전체 종목을 동시 청산하고 싶습니다. 2종목을 시스템으로 일괄 동시 청산하는 방법을 꼭 부탁드립니다. 예스트레이더로 안되면 예스트레이더와 에스스팟과 연계해서 혹시 가능한지요?
프로필 이미지
종호
2017-07-27
109
글번호 111600
시스템

새로운세상 님에 의해서 삭제되었습니다.

프로필 이미지
새로운세상
2017-07-27
1
글번호 111599
시스템
답변완료

문의드립니다

Input:기간(500),구간개수(10); //최대 20 Var:최대(0),최소(0),j(0),행번호(0),총거래량(0),가격대거래량(0), 시작번호(0),끝번호(0),bars(0); Array:가격대[21](0),거래량[21](0),비율[21](0),Text[21](0),TL[21](0); #----------------------------------------------------------------------------------# # 가격대를 배열변수에 세팅한다. #----------------------------------------------------------------------------------# 최대 = Highest(H,기간-1); 최소 = Lowest(L,기간-1); Value1 = Round((최대-최소)/구간개수,0); 가격대[0] = 최대; For 행번호 = 0 To 구간개수-1 { 가격대[행번호+1] = 가격대[행번호] - Value1; 거래량[행번호] = 0; 비율[행번호] = 0; } 총거래량 = 0; For j = 0 To 기간-2 { 총거래량 = 총거래량 + V[j]; #----------------------------------------------------------------------------------# # 거래량을 걸쳐있는 가격대에 분배 #----------------------------------------------------------------------------------# for 행번호 = 0 To 구간개수-1 { if 가격대[행번호] >= H[j] and 가격대[행번호+1] < H[j] then 시작번호 = 행번호; if 가격대[행번호] >= L[j] and 가격대[행번호+1] < L[j] then 끝번호 = 행번호; } 가격대거래량 = V[j]/(끝번호-시작번호+1); for 행번호 = 시작번호 To 끝번호 { 거래량[행번호] = 거래량[행번호] + 가격대거래량; } } #----------------------------------------------------------------------------------# # 비율 계산 #----------------------------------------------------------------------------------# for 행번호 = 0 To 구간개수-1 { 비율[행번호] = 거래량[행번호] * 100 / 총거래량; } #----------------------------------------------------------------------------------# # 지표출력 #----------------------------------------------------------------------------------# bars = Floor(구간개수/2); var : DD(0),TT(0),DD1(0),TT1(0),TL1(0),text1(0); if bdate != bdate[1] Then{ DD = sdate; TT = stime; DD1 = DD[1]; TT1 = TT[1]; TL1 = TL_New(DD1,TT1,가격대[bars][1],sDate[1],sTime[1],가격대[bars][1]); TL_SetSize(TL1,2);//추세선 굵기지정(0~8) TL_SetColor(TL1,RED); } TL_Delete(TL[bars]); TL[bars] = TL_New(DD,TT,가격대[bars],Date[0],sTime[0],가격대[bars]); TL_SetSize(TL[bars],2);//추세선 굵기지정(0~8) TL_SetColor(TL[bars],red); 선이현재는 고점하나만나오는데 대칭으로저점도나오게2개 나올수있게 부탁드립니다~~미리감사드립니다
프로필 이미지
장군
2017-07-27
121
글번호 111598
지표
답변완료

검색식 부탁드립니다.

안녕하세요 월봉에서 년봉 검색식 부탁드립니다. 1> 1봉전 5 < 10 < 20 이평 역배열 2> 20이평이 3회 연속 하락 3> 1봉 전 5이평을 고점이 터치하지 못하고 4> 0봉 전 5이평을 고점이 터치한 종목 검색식 부탁드립니다. 모든 수치는 변수 처리해주세요 감사합니다. 수고하세요
프로필 이미지
머신
2017-07-27
111
글번호 111597
종목검색

만들레영토 님에 의해서 삭제되었습니다.

프로필 이미지
만들레영토
2017-07-26
13
글번호 111596
시스템
답변완료

질문 드립니다.

[재질문] 앞에 답변해 주신 내용에 따라 제가 작성한 수식인데 참조데이터12에서 거래량 최대일 때의 그 거래량이 한 번만 출력이 되어야 하는데 선 위에 각 봉의 거래량이 모두 출력됩니다. 문제해결 좀 부탁드립니다. var : v12(0,data12), v13(0,data12),tx(0); if data12(v == highest(V,150) ) Then v12 = data12(C); v13 = data12(V); plot1(v12); Text_Delete(tx); tx = Text_New(sdate,stime,v12,NumToStr(v13,0));
프로필 이미지
이심전심
2017-07-26
122
글번호 111595
지표
답변완료

보조차트

아래 2가지 수식을 보조차트 이용으로 수정 바랍니다. 항상 고맙습니다. 1. buy input : b1(20),b2(20),X1(20),X2(20),진입시간(090000); var : T1(0),entry(0),LL(0),EH(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 진입시간 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EH = H; if H > EH Then EH = H; if entry == 1 and C <= EH-PriceScale*X1 Then exitlong("bx1"); } if TotalTrades > TotalTrades[1] Then LL = L; if L < LL Then LL = L; if MarketPosition == 0 and entry == 1 and stime >= 진입시간 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then buy("b2"); if MarketPosition== 1 and entry == 2 Then exitlong("bx2",AtStop,EntryPrice-PriceScale*X2); 2. sell input : s1(11),s2(13),X1(13),X2(13),진입시간(090000); var : T1(0),entry(0),HH(0),EL(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 진입시간 and C <= DayHigh-PriceScale*s1 and C[1] > DayHigh-PriceScale*s1 Then sell("s1"); if MarketPosition == -1 Then{ if CurrentContracts > CurrentContracts[1] Then EL = L; if L < EL Then EL = L; if entry == 1 and MarketPosition == -1 and C >= EL+PriceScale*X1 Then ExitShort("sx1"); } if TotalTrades > TotalTrades[1] Then HH = H; if H > HH Then HH = H; if MarketPosition == 0 and entry == 1 and stime >= 진입시간 and C <= HH-PriceScale*s2 and C[1] > HH-PriceScale*s2 Then sell("s2"); if MarketPosition== -1 and entry == 2 Then ExitShort("sx2",AtStop,EntryPrice+PriceScale*X2);
프로필 이미지
좌오비우오비
2017-07-26
109
글번호 111584
시스템
답변완료

부탁 드립니다.

도움 주심에 경배로 감사 인사 올립니다. 다음 수식을 분봉용(예:60분)에서 사용하든것을 질문1) 틱차트에서 60분용이 나타 나게 할수 있는지요? 질문2) 10분 차트에서 60분용이 나타 나게 할수 있는지요? input : p100(26); var : HV1(0),HV2(0); var : HH1(0),HH2(0); var : LL1(0),LL2(0); HV1=NthHighest(1,v,p100); HV2=nthhighest(2,v,p100); HH1=NthHighest(1,h,p100); HH2=nthhighest(2,h,p100); LL1=NthLowest(1,L,P100); LL2=NTHLOWEST(2,L,P100); if HH1 > 0 and H == HH1 Then{ var1 = H;} if HH2 > 0 and H == HH2 Then{ Var2 = H;} if LL1 > 0 and L == LL1 Then{ var21 = L; } if LL2 > 0 and L == LL2 Then{ var22 = L; } if Hv1 > 0 and v == Hv1 Then{ var31 = c;} if Hv2 > 0 and v == Hv2 Then{ var32 = c;}
프로필 이미지
yes
2017-07-26
107
글번호 111583
지표