커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

일목에 대한 문의입니다

일목의 수식입니다 (첨부파일 1) Var : value1(0), value2(0), value3(0); value1 = (highest(H,9)+lowest(L,9))/2; value2 = (highest(H,26)+lowest(L,26))/2; value3 = (highest(H,52)+lowest(L,52))/2; Plot1(value1, "전환선"); Plot2(value2, "기준선"); Plot3(Close, "후행스팬"); Plot4((value1+value2)/2, "선행스팬1"); Plot5(value3, "선행스팬2"); 위와 같은 수식에서 9-26-52의 숫자를 27-78-156로 변경하였더니.. 선행스팬이 되지 않고 봉차트와 함께 같은 위치에서 움직이네요 (첨부파일 2) Var : value1(0), value2(0), value3(0); value1 = (highest(H,27)+lowest(L,27))/2; value2 = (highest(H,78)+lowest(L,78))/2; value3 = (highest(H,156)+lowest(L,156))/2; Plot1(value1, "전환선"); Plot2(value2, "기준선"); Plot3(Close, "후행스팬"); Plot4((value1+value2)/2, "선행스팬1"); Plot5(value3, "선행스팬2"); 위와 같은 숫자로 변경하면 아무런 의미가 없는건가요 ? 제가 수식에 대해 전혀 몰라서 문의 드립니다 다른 수식도 바꿔야 하는지 도움 좀 부탁드림니다
프로필 이미지
xkxkxk
2012-01-31
536
글번호 47108
지표
답변완료

수식 문의

안녕하세요, 항상 도움 주셔서 감사드립니다. ------------------- 수식 문의 -현재봉의 종가가 전봉 보다 -높으면 (보조지표란에) 붉은색 점을 찍고 -낮으면 푸른색 점을 찍습니다. 또 -현재봉의 거래량이 전봉 보다 높으면 -높으면 (보조지표란에) 붉은색 점을 찍고 -낮으면 푸른색 점을 찍습니다. 이 두 수식을 하나의 보조지표로 표현하고 싶습니다. (두개의 점선이 쭉 그어진 수식이 되겠지요) 감사합니다.~~
프로필 이미지
흑수돌
2012-01-31
472
글번호 47107
지표
답변완료

일봉상 진입식 문의드립니다.

수고 많으십니다. TS에서 일봉챠트를 활용할때 Buy() O; 와 같은 식을 통해 조건 완성후 다음날 시가에 진입하는 테스트가 가능한 것으로 알고있습니다. YT에서도 이와 같은 식의 구현이 가능한지 궁금합니다.
프로필 이미지
귀곡자
2012-01-31
422
글번호 47106
시스템
답변완료

MessageLog로 출력한 내용을 파일로 저장할 수 없나요?

제목 그대로입니다. MessageLog로 출력한 내용을 파일로 저장할 수 있는 방법은 없나요? 내용을 엑셀등으로 분석하고 싶은데 어떻게 해야할지 모르겠네요.
프로필 이미지
별이아빠
2012-01-31
494
글번호 47101
시스템
답변완료

질문

어떤변수값을 만들어 지표(점그래프)도 만들고 변수값 상향돌파시 매수 하향돌파시 매도식도 만들고 싶은데요. 만일 예를 들어서 1일종가 10 2일종가 15 3일종가 20 4일종가 16 5일종가 18 6일종가 22 7일종가 17 8일종가 15 9일종가 19 있다고 치면 2일종가값이 1일종가값보다 크면 1일종가값 10 이 변수값(빨간색)이됩니다 변수값설정후 3일종가값이 2일종가값보다 크고 종가기준 고가갱신하였으므로 변수값이 2일종가값 15가 변수값이 됩니다 4일종가는 종가기준으로 변수값설정후 고가(20)갱신못하고 전일보다하락하였으므로 변수값이 15로 고정되고 5일종가는 4일종가보다 상승하였지만 변수값설정후 종가기준 고가갱신하지 못했으므로 변수값 15로 고정되고 6일종가는 변수값설정후 종가기준고가(20)갱신하였으므로 변수값이 전일종가18로 변합니다 7일종가는 17이기 때문에 변수값이 18이었는데 18보다 작기 때문에 변수값이 전일종가22가 됩니다(파란색) 8일종가는 전일17보다 작은 15 이고 파란색변수값설정후 종가기준 저가(17)갱신하였으므로 전일종가 17일 변수값이 됩니다 9일종가는 파란색 변수값17보다 큰 19이기 때문에 변수값이 전일종가 15 (빨간색)로 됩니다. 복잡하지만 수식 부탁드립니다.
프로필 이미지
kcg9005
2012-01-30
500
글번호 47100
지표
답변완료

plot과 plotbaseline의 차이?

식을 만들다가 자주 쓰게 되는 plot과 plotbaseline의 차이를 잘 모르겠습니다. 설명을 부탁드립니다. 항상 답변에 감사드립니다.
프로필 이미지
풀냄새
2012-01-30
474
글번호 47096
지표
답변완료

당일누적손익계산 질문입니다.

#당일누적손익계산 시작 XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정 XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정 이렇게 수수료와 슬리피지 적용 수식을 주셨는데 "%설정","Pt설정" 해라고 설명이 되어있는데 이 설정을 어떻게 하는지 모르겠습니다. 만약 수수료 0.1% 적용 그리고 슬피피지 각각0.5pt 적용시키려면 어떻게 이 수치를 설정해줘야 합니까? 수식으로 예를 들어서 설명부탁드립니다. 항상 감사합니다.
프로필 이미지
이지스호
2012-01-30
409
글번호 47095
지표
답변완료

다시부탁드립니다--------------

Var:시작봉(2),허용치(10),당일손익(400000); var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0); #당일누적손익계산 시작 XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정 XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정 PLR = 0; count = 0; for var1 = 1 to 10{ if sdate == EntryDate(var1) Then{ count = count+1; PLR = PLR+PositionProfit(var1); } } if MarketPosition() == 0 Then{ OpenPL = 0; dayPL = PLR; } Else{ OpenPL = (PositionProfit-(XCommission+XSlippage)); dayPL = PLR+OpenPL; } if DayIndex+1== 시작봉+1 Then{ if C > dayopen Then var65 = o-PriceScale*허용치; if C < dayopen Then var65 = o+PriceScale*허용치; } if dayindex+1 == 시작봉+1 Then var66 = O; value1 = max(var65,var66); value2 = min(var65,var66); value3 = ma(c,10); value6 = (당일손익/BigPointValue); if dayindex+1 >= 시작봉+1 and dayPL < value6 Then{ if C>=value1 and count<1 Then buy("b",AtStop,Value1); if C<=value2 and count<1 Then sell("s",AtStop,Value2); } if dayindex+1 >= 시작봉+1 and dayPL < value6 and count>0 Then{ if C>=value1 Then buy("b1",AtStop,Value1); if C<=value2 Then sell("s1",AtStop,Value2); } SetStopLoss(PriceScale*5,PointStop); /* if MarketPosition == 1 Then{ value4 = highest(H,BarsSinceEntry); if value4 >= EntryPrice+PriceScale*2 and value4 < EntryPrice+PriceScale*3 Then exitlong("bx1",AtStop,EntryPrice); if value4 >= EntryPrice+PriceScale*4 and value4 < EntryPrice+PriceScale*6 Then exitlong("bx2",AtStop,value4-(value4-EntryPrice)*0.70); if value4 >= EntryPrice+PriceScale*7 and value4 < EntryPrice+PriceScale*10 Then exitlong("bx3",AtStop,value4-(value4-EntryPrice)*0.60); if value4 >= EntryPrice+PriceScale*11 and value4 < EntryPrice+PriceScale*15 Then exitlong("bx4",AtStop,value4-(value4-EntryPrice)*0.50); if value4 >= EntryPrice+PriceScale*16 and value4 < EntryPrice+PriceScale*25 Then exitlong("bx5",AtStop,value4-(value4-EntryPrice)*0.45); if value4 >= EntryPrice+PriceScale*26 and value4 < EntryPrice+PriceScale*40 Then exitlong("bx6",AtStop,value4-(value4-EntryPrice)*0.40); if value4 >= EntryPrice+PriceScale*41 and value4 < EntryPrice+PriceScale*60 Then exitlong("bx7",AtStop,value4-(value4-EntryPrice)*0.35); if value4 >= EntryPrice+PriceScale*61 and value4 < EntryPrice+PriceScale*90 Then exitlong("bx8",AtStop,value4-(value4-EntryPrice)*0.30); if value4 >= EntryPrice+PriceScale*91 and value4 < EntryPrice+PriceScale*110 Then exitlong("bx9",AtStop,value4-(value4-EntryPrice)*0.25); if value4 >= EntryPrice+PriceScale*111 and value4 < EntryPrice+PriceScale*150 Then exitlong("bx10",AtStop,value4-(value4-EntryPrice)*0.20); if value4 >= EntryPrice+PriceScale*151 Then exitlong("bx11",AtStop,value4-(value4-EntryPrice)*0.1); } if MarketPosition == -1 Then{ value5 = Lowest(L,BarsSinceEntry); if value5 <= EntryPrice-PriceScale*2 and value5 > EntryPrice-PriceScale*3 Then ExitShort("sx1",AtStop,EntryPrice); if value5 <= EntryPrice-PriceScale*4 and value5 > EntryPrice-PriceScale*6 Then ExitShort("sx2",AtStop,value5+(entryprice-value5)*0.70); if value5 <= EntryPrice-PriceScale*7 and value5 > EntryPrice-PriceScale*10 Then ExitShort("sx3",AtStop,value5+(entryprice-value5)*0.60); if value5 <= EntryPrice-PriceScale*11 and value5 > EntryPrice-PriceScale*15 Then ExitShort("sx4",AtStop,value5+(entryprice-value5)*0.50); if value5 <= EntryPrice-PriceScale*16 and value5 > EntryPrice-PriceScale*25 Then ExitShort("sx5",AtStop,value5+(entryprice-value5)*0.45); if value5 <= EntryPrice-PriceScale*26 and value5 > EntryPrice-PriceScale*40 Then ExitShort("sx6",AtStop,value5+(entryprice-value5)*0.40); if value5 <= EntryPrice-PriceScale*41 and value5 > EntryPrice-PriceScale*60 Then ExitShort("sx7",AtStop,value5+(entryprice-value5)*0.35); if value5 <= EntryPrice-PriceScale*61 and value5 > EntryPrice-PriceScale*90 Then ExitShort("sx8",AtStop,value5+(entryprice-value5)*0.30); if value5 <= EntryPrice-PriceScale*91 and value5 > EntryPrice-PriceScale*110 Then ExitShort("sx9",AtStop,value5+(entryprice-value5)*0.25); if value5 <= EntryPrice-PriceScale*111 and value5 > EntryPrice-PriceScale*150 Then ExitShort("sx10",AtStop,value5+(entryprice-value5)*0.20); if value5 <= EntryPrice-PriceScale*151 Then ExitShort("sx11",AtStop,value5+(entryprice-value5)*0.1); } */ if MarketPosition == 1 Then{ ExitLong("bxx",AtStop,EntryPrice+(-(value6)-(PLR))); } if MarketPosition == -1 Then{ ExitShort("sxx",AtStop,EntryPrice+((value6)+(PLR))); } //시간청산------------------------------------------------------------ var91 = int(date/100)-int(date/10000)*100; //월 var92 = date - int(date/100)*100; //일 var93 = DayOfWeek(date); //요일 if var91%3 == 0 and var92 >= 8 and var92 <= 14 and var93 == 4 then { SetStopEndofday(144800); } else { SetStopEndofday(150100); } 옵션프로그램도 선물과 동일한거 아닌가요?(호가단위제외) 일단추적은 막아놨슴니다 정확히 아랫라인에서 매도 윗라인에서 매수 하게해주세요 정확히 그지점에서 매매되게해주세요 첨부보면 몇틱씩 차이 나네요 그리고 첫봉에 진입한경우도 있네요 로직상 4째봉 시가에 진입인데요 항상수고하십니다============
프로필 이미지
leekss1
2012-01-30
469
글번호 47085
시스템
답변완료

조건 만족봉의 종가를 기억하고 그 값을 일정시간 유지

안녕하세요? 조건A를 만족하는 최초의 분봉 종가를 기억하고, (해당 종가를 C1 이라고 가정) 이후 특정 x개 분봉 경과하는 시간 이내에서 x개 봉중의 일부가 또 조건A를 만족하더라도 C1값을 갱신하지 않고 최초 조건A 만족봉의 종가 C1을 계속 유지하도록 하는 수식을 부탁 드립니다. 감사합니다.
프로필 이미지
lucky93
2012-01-30
372
글번호 47084
시스템