커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 부탁드립니다

1. 첫번째 음봉(A)보다 두번째 음봉(B)의 시가~종가 폭이 더 큰 상태에서 두번째 음봉 다음 캔들이 양봉일때 매수 첫번째 음봉(A)보다 두번째 음봉(B)의 시가~종가 폭이 더 큰 상태에서 두번째 음봉 다음 캔들이 양봉인데 그 후 두번째 음봉(B) 저가 붕괴시키는 음봉에 매도 2. 첫번째 음봉(A)보다 두번째 음봉(B)의 시가~종가 폭이 더 큰 상태에서 두번째 음봉 다음 캔들이 양봉일때 매수 첫번째 음봉(A)보다 두번째 음봉(B)의 시가~종가 폭이 더 큰 상태에서 두번째 음봉 다음 캔들이 양봉인데 그 후 두번째 음봉(B) 저가 붕괴시키는 가격에 매도 3. 금일 시가>전일 중심 상태에서 시가+0.3 가격에 매수...0.6수익 청산,0.6 손실 청산 금일 시가<전일 중심 상태에서 시가-0.3 가격에 매도...0.6수익 청산,0.6 손실 청산 4. 가격이 ma60 위에서 연속 3음봉 일때 첫번째 음봉 위치의 ma60값을 그린다 가격이 ma60 밑에서 연속 3양봉 일때 첫번째 양봉 위치의 ma60값을 그린다 감사합니다
프로필 이미지
회원
2017-07-27
151
글번호 111606
시스템
답변완료

일목균형 선행스팬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
179
글번호 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
140
글번호 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
143
글번호 111598
지표
답변완료

검색식 부탁드립니다.

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