커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의~~

수고하십니다~~ 문의 1. 2년전 년도(2년전 예-2010년도) 고저점을 당년도에 선그리기 2. 3년전 년도(3년전 예-2009년도) 고저점을 당년도에 선그리기 3. 4년전 년도(3년전 예-2008년도) 고저점을 당년도에 선그리기 예)일봉공식 if CurrentDate == sdate Then{ plot1(dayhigh(2)); plot2(daylow(2)); plot3(dayhigh(3)); plot4(daylow(3)); plot5(dayhigh(4)); plot6(DayLow(4)); } 일봉에 적용한 CurrentDate == sdate 공식처럼 당해년도에만 선그리기로 해주세요 수고하세요~~~~ 4. 우리트레이더 사용하면 예스에서 사용하는 함수 그대로 사용가능하고, 그리고 예스 주간에 사용하는 지표와 함수를 야간 선물에서도 사용 가능한가요?
프로필 이미지
공기단축
2012-10-08
281
글번호 55428
지표
답변완료

수정~~

############################# if date > date[1]+30 Then{ value1 = H; value2 = L; value11 = value1[1]; value12 = value2[1]; value21 = value11[1]; value22 = value12[1]; value31 = value21[1]; value32 = value22[1]; value41 = value31[1]; value42 = value32[1]; } if H > value1 Then value1 = h; if L < value2 Then value2 = L; plot1(value11,"1개월전h"); plot2(value12,"1개월전l"); plot3(value21,"2개월전h"); plot4(value22,"2개월전l"); plot5(value31,"3개월전h"); plot6(value32,"3개월전l"); plot7(value41,"4개월전h"); plot8(value42,"4개월전l"); ########################### 수정 감사드립니다~~ 근데 현재 공식은 전체에 다 그려져서 보기가 어려운데 당월에만 선그리기 공식으로 부탁드립니다... 예)일봉공식 if CurrentDate == sdate Then{ plot1(dayhigh(2)); plot2(daylow(2)); plot3(dayhigh(3)); plot4(daylow(3)); plot5(dayhigh(4)); plot6(DayLow(4)); } 일봉에 적용한 CurrentDate == sdate 공식처럼 당해년도에만 선그리기로 해주세요 수고하세요~~~~
프로필 이미지
공기단축
2012-10-08
258
글번호 55427
지표
답변완료

재문의

안녕하세요. 어제 질문에 수식을 짜주셧는데 그게 실행을 해보니 제가 생각했던것 하고 조금 다릅니다. 여기 관련글과 첨부파일을 올려 설명드립니다. 질문내용-------------------------- 당일 청산 시스템입니다(오후3시3분) 조건1, ma(c,5)와ma(c,20) 골드크로스 조건2, MACD(shortPeriod, longPeriod)가 골드크로스 조건3, ma(c,5)-ma(c,20)>= 0.1 //0.1는 변수처리 조건4, ma(c,5)와ma(c,20) 데드크로스 조건5, MACD(shortPeriod, longPeriod)가 데드크로스 조건6, ma(c,5)-ma(c,20)>= -0.1 //-0.1는 변수처리 조건7, 하루손실 2포인트(100만원) 이내 (2포인트 이상 손실시 신규진입중지) //포인트는 변수처리 조건8, 당일매매횟수 5회이내 //횟수 변수처리 매수진입조건 ; 조건1,조건2,조건3,조건7,조건8 모두(and) 만족시 진입 청산조건 ; 조건4,조건5, 만족시 청산 매도진입조건 ; 조건4,조건5,조건6,조건7,조건8 모두(and)만족시 매도진입 청산조건 ; 조건1,조건2 만족시 청산 * 당일 첫진입은 전일 마지막진입 조건에따라 i) 장시작가로 진입 하는경우와 ii) 첫봉완성후 진입하는 경우 두가지로 나눠서 수식을 좀 부탁드립니다. 답변내용--------------------------------------------------------- 안녕하세요 예스스탁입니다. 1. input : P1(5),P2(20),ShortPeriod(12),LongPeriod(26),N1(0.1),N2(-0.1),loss(-2),entry(5); var : PredayPL(0),XCommission(0),XSlippage(0),dayPL(0),count(0),cnt(0); #당일누적손익계산 시작 if date != date[1] Then PredayPL = NetProfit[1]; XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정 XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정 if MarketPosition() == 0 Then dayPL = (NetProfit-PredayPL); Else dayPL = (NetProfit-PredayPL)+(PositionProfit-(XCommission+XSlippage)); count = 0; for cnt = 0 to 10{ if sdate == EntryDate(cnt) Then count=count+1; } var1 = ma(c,P1); var2 = ma(C,P2); var3 = MACD(ShortPeriod,LongPeriod); Condition1 = crossup(var1,var2); Condition2 = crossup(var3,0); Condition3 = var1-var2 >= N1; Condition4 = CrossDown(var1,var2); Condition5 = CrossDown(var3,0); Condition6 = var1-var2 <= N2; Condition7 = dayPL > Loss; Condition8 = count < entry; if stime == 151500 and MarketPosition == 0 Then{ if MarketPosition(1) == 1 Then buy(); if MarketPosition(1) == -1 Then sell(); } if Condition1 and Condition2 and Condition3 and Condition7 and Condition8 Then buy(); if Condition4 or Condition5 Then ExitLong(); if Condition4 and Condition5 and Condition6 and Condition7 and Condition8 Then sell(); if Condition1 or Condition2 Then ExitShort(); 2. input : P1(5),P2(20),ShortPeriod(12),LongPeriod(26),N1(0.1),N2(-0.1),loss(-2),entry(5); var : PredayPL(0),XCommission(0),XSlippage(0),dayPL(0),count(0),cnt(0); #당일누적손익계산 시작 if date != date[1] Then PredayPL = NetProfit[1]; XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정 XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정 if MarketPosition() == 0 Then dayPL = (NetProfit-PredayPL); Else dayPL = (NetProfit-PredayPL)+(PositionProfit-(XCommission+XSlippage)); count = 0; for cnt = 0 to 10{ if sdate == EntryDate(cnt) Then count=count+1; } var1 = ma(c,P1); var2 = ma(C,P2); var3 = MACD(ShortPeriod,LongPeriod); Condition1 = crossup(var1,var2); Condition2 = crossup(var3,0); Condition3 = var1-var2 >= N1; Condition4 = CrossDown(var1,var2); Condition5 = CrossDown(var3,0); Condition6 = var1-var2 <= N2; Condition7 = dayPL > Loss; Condition8 = count < entry; if dayindex == 0 and MarketPosition == 0 Then{ if MarketPosition(1) == 1 Then buy(); if MarketPosition(1) == -1 Then sell(); } if Condition1 and Condition2 and Condition3 and Condition7 and Condition8 Then buy(); if Condition4 or Condition5 Then ExitLong(); if Condition4 and Condition5 and Condition6 and Condition7 and Condition8 Then sell(); if Condition1 or Condition2 Then ExitShort(); -------------------------------------------------------------------------------------- 여기서는 조건3과 조건6의 변수를 아주작게(ex 0.1 ------> 0)로해서 좀더 자주신호가 나오게했습니다. 다음은 첨부그림파일에서 설명을 드리겠습니다.(두수식중 일단 두번째 수식을 참고했습니다)
프로필 이미지
소주까기인형
2012-10-08
357
글번호 55426
시스템
답변완료

문의드립니다.

1. 예문) var:a(0),b(0); array:aa[100](0),bb[100](0); if 조건 then {a=h;aa=l;} 이런식으로 작성된 수식문에서 if 조건 then a에서 aa[0] 혹은 a에서 현재봉 aa[1]에서 aa[0 ] 혹은 aa[0]에서 현재봉 저장값 사이의 값을 구하는게 아니며 a값이 저장된 봉 혹은 aa값이 저장된 봉 사이의 봉들중 a와 aa 혹은 현재봉은 제외한 ㄱ.봉의 고가값 중 가장 높은 고가를 기록한 봉을 찾아 시고저종가 ㄴ.봉의 저가값 중 가장 낮은 저가를 기록한 봉을 찾아 시고저종가를 찾아 if 조건 then문 만족시 저장하는 방법입니다. 2.한 시스템식내에서 월주분봉의 고가와 저가를 구하는 식인데요. 밑의 각 월주분봉에 시가와 종가를 포함해주세요. 밑의 식을 10분시스템식에 적용한다고 하여 작성해주셨습니다. 다른 시간의 분봉을 적용하거나 각 월주분봉 사이에 시고저종가를 이용한 아래 예시문과 같은 식을 작성하였을 때 오류가 날 수있는 부분에 대해 문의드립니다. 현재시간대에 적용 plot로 검증하였을 때 정상적으로 원하던 값(밑의 원래수식부분)이 나왔었는데요. 각 월주분봉에 적용 생각이었으나 테스트로 1분봉시스템식에 30분봉아래부분에 아래와 같이 변경적용하여 plot으로 값을 검증하였더니 수치가 0으로 나오고 전혀 다른 값이 저장되었습니다.어떤부분이 잘못 되었는지 답변부탁드립니다.(아래의 수식과 조건은 예시로 작성하였습니다.) var : cnt(0); Array : monthH[100](0),monthL[100](0),weekH[100](0),weekL[100](0),M30H[100](0),M30L[100](0);AA[100](0);BB[100](0);AA1[100](0);BB1[100](0);AA2[100](0);BB2[100](0); #월봉 if date > date[1]+30 Then{ monthH[0] = H; monthL[0] = L; for cnt = 1 to 99{ monthH[cnt] = monthH[cnt-1][1]; monthL[cnt] = monthL[cnt-1][1]; } } if H > monthH[0] Then monthH[0] = H; if L < monthL[0] Then monthL[0] = H; if index == 0 Then {저장} if 조건 Then {저장} for cnt = 1 to 99{ AA[cnt] = AA[cnt-1][1];} for cnt = 1 to 99{ BB[cnt] = BB[cnt-1][1];} #주봉 if dayofweek(date) < dayofweek(date[1]) Then{ weekH[0] = H; weekL[0] = L; for cnt = 1 to 99{ weekH[cnt] = weekH[cnt-1][1]; weekL[cnt] = weekL[cnt-1][1]; } } if H > weekH[0] Then weekH[0] = H; if L < weekL[0] Then weekL[0] = H; if index == 0 Then {저장} if 조건 Then {저장} for cnt = 1 to 99{ AA1[cnt] = AA1[cnt-1][1];} for cnt = 1 to 99{ BB1[cnt] = BB1[cnt-1][1];} #30분봉 var1 = TimeToMinutes(stime)%30; if dayindex == 0 or (var1 < var1[1] and stime > stime[1]) Then{ M30H[0] = H; M30L[0] = L; for cnt = 1 to 99{ M30H[cnt] = M30H[cnt-1][1]; M30L[cnt] = M30L[cnt-1][1]; } } if H > M30H[0] Then M30H[0] = H; if L < M30L[0] Then M30L[0] = H; if index == 0 Then {aa2[0]=m30h[0];bb2[0]=m30l[0];} if m30h[0]>m30h[1] Then {bb2[0]=m30l;} for cnt = 1 to 99{ AA2[cnt] = AA2[cnt-1][1];} for cnt = 1 to 99{ BB2[cnt] = BB2[cnt-1][1];} 원래수식 if index == 0 Then {aa3[0]=h[0];bb3[0]=l[0];} if h[0]>h[1] Then {bb3[0]=l[0];} for cnt = 1 to 99{ AA3[cnt] = AA3[cnt-1][1];} for cnt = 1 to 99{ BB3[cnt] = BB3[cnt-1][1];} 답변 부탁드립니다.수고하세요^^
프로필 이미지
아싸가오리
2012-10-09
296
글번호 55425
시스템
답변완료

문의드립니다

스톡캐스틱 다이버 전스 수식좀 부탁힙니다
프로필 이미지
처음처럼22
2012-10-08
269
글번호 55424
지표
답변완료

문의드립니다.

1.배열변수 a와변수b사이의 저가값중 가장낮은값을저장하는식 2.배열변수a와변수b사이의 고가값중 가장 높은값을 저장하는식 3.if a<b then 에서 B의값이 a값 ㅡ 5호가안에들면참 4.매수할당시의 변수값A의 두호가하락시 즉시손절 부탁드립니다.
프로필 이미지
아싸가오리
2012-10-08
281
글번호 55414
시스템
답변완료

답변 주신 수식이 맞지 않습니다.

아래 게시물 26560, 26559, 26558 게시물에 대하여 답변 주신 수식에서 수정을 부탁드렸습니다. 혹시 못보셨을까봐 해서 이렇게 다시 글을 띄웁니다. 다시한번 부탁말씀 드리겠구요, 수정완료 하시면 이 글은 자삭하겠습니다.
프로필 이미지
흑수돌
2012-10-08
297
글번호 55412
지표
답변완료

26577관련 문의입니다.

상승시 박스 모양으로 붉게 하락시 박스가 파랗게 표시할수있게 부탁드립니다. 감사합니다.
프로필 이미지
괌
2012-10-08
275
글번호 55401
지표
답변완료

수정~~

######################## 안녕하세요 예스스탁입니다. if date > date[1]+30 Then{ value1 = H; value2 = L; value11 = value1[1]; value12 = value2[1]; value21 = value21[1]; value22 = value22[1]; value31 = value31[1]; value32 = value32[1]; } if H > value1 Then value1 = h; if L < value2 Then value2 = L; plot1(value11,"1개월전h"); plot2(value12,"1개월전l"); plot3(value21,"2개월전h"); plot4(value22,"2개월전l"); plot5(value31,"3개월전h"); plot6(value32,"3개월전l"); 당월에 그리는 것만 가능합니다. 차트에 이전개월의 봉이 모두 있어야 합니다. ################################## 수정 문의 1. 위공식으로 하면 전월 고저점만 선그리기가 됩니다. 2. 2개월전 고저점 당월에 선그리기 3. 3개월전 고저점 당월에 선그리기 4. 4개월전 고저점 당월에 선그리기 부탁드립니다..
프로필 이미지
공기단축
2012-10-08
279
글번호 55398
지표