커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2013-11-18
25
글번호 69566
지표
답변완료

수고하십니다

항상 고생이 많으십니다 진입이나 청산시 봉 완성시가 아니고 조건 만족시로 할려면 어떻게 합니까? 감사합니다
프로필 이미지
회원
2013-11-18
148
글번호 69565
시스템
답변완료

문의 드립니다.

감사합니다.
프로필 이미지
회원
2013-11-18
151
글번호 69562
시스템
답변완료

부탁드립니다.

운영자님 항상 친절하시어 감사드리며 노고에 수고많어십니다. 아래의 내용을 부탁합니다. 1. 직전 진입까지 전체거래에서 수익나면 4번째 진입을 허용하고 5번째 이후는 직전 진입에서 수익이 나야 진입을 허용하는 식, 2. 4번째이후 진입을 직전진입에서 수익이 나야 진입을 허용하도록 하는식, 참고로 제가 사용하는 시스템이며 분봉이며, 참조데이타를 사용하고 일일청산입니다. 진입종류에 상관없이 적용되도록 부탁합니다 3. 아래는 제가 사용하는 청산식인데 너무 복잡한 것 같아서 논리적 문제는 없는지 검토해주시고, 너무 풀어져 있는 데 간단하게 합쳐질 수 있는 것은 수정 부탁합니다. if MarketPosition == 1 and BarsSinceEntry >= N1 Then { exitlong("B이익",Atlimit,Entryprice +목표1); } if MarketPosition == 1 and BarsSinceEntry < N1 Then { exitlong("B이익12",Atlimit,Entryprice +목표12); } if MarketPosition == 1 and BarsSinceEntry >= N11 then SetStopTrailing(수익후하락1,최고수익1, percentstop, 0) ; if MarketPosition == 1 and BarsSinceEntry < N11 then SetStopTrailing(수익후하락11,최고수익11, percentstop, 0) ; if MarketPosition == -1 and BarsSinceEntry >= N2 Then { exitshort("S이익",Atlimit,Entryprice-목표2); } if MarketPosition == -1 and BarsSinceEntry < N2 Then { exitshort("S이익22",Atlimit,Entryprice-목표22); } if MarketPosition == -1 and BarsSinceEntry >= N23 then SetStopTrailing(수익후하락2,최고수익2, percentstop, 0) ; if MarketPosition == -1 and BarsSinceEntry < N23 then SetStopTrailing(수익후하락22,최고수익22, percentstop, 0) ; If marketposition <>0 then { exitlong("B추적",Atstop,highest(high,barsSinceEntry+1)-atr(스탑1)*스탑12); exitshort("S추적",Atstop, lowest(low,barsSinceEntry+1)+atr(스탑2)*스탑22); ExitShort("S청",AtStop,Lowest(L,BarsSinceEntry)+ATR(ATRP2)*Ss2); } if MarketPosition == 1 and (CrossDown(수청단기이평,수청장기이평) ) Then{ exitlong("이수청",AtMarket);} if MarketPosition == -1 and (Crossup(도청단기이평,도청장기이평) or Crossup(도청단기이평1,도청장기이평1)) Then{ ExitShort("이도청",AtMarket); }
프로필 이미지
자아준
2013-11-18
157
글번호 69561
시스템
답변완료

부탁드립니다.

아래식에 한가지 추가 부탁드립니다. -매수 전일부터 6거래일(-1~-6) 동안, 일봉의 종가(15:00)가 60일(일봉)이평 이격도 100미만이 1개이상 발생되었다면 매수 금지. ------------------------------------------- input : P(60); var : cnt(0),sum(0),sum1(0),sum2(0),sum3(0),sum4(0),sum5(0),sum6(0); var : mav(0),mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0); var : dis(0),dis1(0),dis2(0),dis3(0),dis4(0),dis5(0),dis6(0); sum = 0; sum1 = 0; sum2 = 0; sum3 = 0; sum4 = 0; sum5 = 0; sum6 = 0; for cnt = 0 to P-1{ sum = sum+DayClose(cnt); sum1 = sum1+DayClose(cnt+1); sum2 = sum2+DayClose(cnt+2); sum3 = sum3+DayClose(cnt+3); sum4 = sum4+DayClose(cnt+4); sum5 = sum5+DayClose(cnt+5); sum6 = sum6+DayClose(cnt+6); } mav = sum/P; mav1 = sum1/P; mav2 = sum2/P; mav3 = sum3/P; mav4 = sum4/P; mav5 = sum5/P; mav6 = sum6/P; dis = C/mav*100; dis1 = DayClose(1)/mav1*100; dis2 = DayClose(2)/mav2*100; dis3 = DayClose(3)/mav3*100; dis4 = DayClose(4)/mav4*100; dis5 = DayClose(5)/mav5*100; dis6 = DayClose(6)/mav6*100; var1 = iff(dis1 >= 100 and dis1 <= 102.5,1,0); var2 = iff(dis2 >= 100 and dis2 <= 102.5,1,0); var3 = iff(dis3 >= 100 and dis3 <= 102.5,1,0); var4 = iff(dis4 >= 100 and dis4 <= 102.5,1,0); var5 = iff(dis5 >= 100 and dis5 <= 102.5,1,0); var6 = iff(dis6 >= 100 and dis6 <= 102.5,1,0); if ExitDate(1) != sdate and var1+var2+var3+var4+var5+var6 >= 3 And dis >= 100 and dis <= 102 And C < dayopen Then buy(); if MarketPosition == 1 Then{ exitlong("bx1",atlimit,EntryPrice*1.14); if sdate > EntryDate and stime == 150000 and dis <= 99.5 and dis1 <= 99.5 Then exitlong("bx2",AtMarket); } 즐거운 하루되세요 > 쌀사비팔 님이 쓴 글입니다. > 제목 : 부탁드립니다. > 현물 1분봉. <매수조건> -매수 전일부터 6거래전일(-1일~-6일) 동안, 일봉의 종가(15:00)가 60일(일봉) 이평 이격도 100~102.5가 3개봉이고, <매수> -매수당일, 주가가 60일(일봉)이평 이격도 100~102이고, 당일 시초가보다 미만(당일 음봉)이면 매수 -오늘 매도되었다면, 매수금지. <청산> -매수후, 일봉의 종가(15:00)가 60일(일봉) 이평 이격도 99.5 미만이 2회 발생하면 다음 첫봉에 청산 -매수가 대비 14% 수익시 청산
프로필 이미지
쌀사비팔
2013-11-18
152
글번호 69560
시스템
답변완료

지표식 부탁

45도 각도로 이루어진 사선들을 화면에 표시하는 지표식을 부탁드립니다. XXXXXX XXXXXX XXXXXX 이런 식으로 해서 화면에 표시되도록요...
프로필 이미지
한글나라
2013-11-17
163
글번호 69559
지표
답변완료

10분봉에서 30분봉 실시간 스토캐스틱

10분봉에서 30분봉 실시간 스토캐스틱 보는법 과거차트를 복기해보려합니다. 예를 들어 2013년 10월2일 오전 9시10분 에서 30분봉 스토캐스틱를 보고싶습니다. 지금은 30분봉이 완성된 상태만 보입니다. (9시30분) 분봉 실시간으로 스토캐스틱 확인하는 수식 문의드립니다.
프로필 이미지
비류천
2013-11-17
197
글번호 69558
지표
답변완료

문의 드립니다

두 가지 수식이 궁금합니다. 1.시가에 매수하고 익절은 20틱, 손절은 15틱 당일청산, 하루한번 진입 오늘 손실이면(익절없이 종가청산에 손실도 포함) 다음날 두배로(2계약) 매수진입 다시 손실이면 다음날 4계약 진입하는 수식을 알고 싶습니다. 검색해서 buy("B",AtMarket,def,CurrentContracts[BarsSinceExit(1)+1]*2); 이 수식으로 작성해봤는데 잘 안됩니다. 2.오늘 수익이 0.5이하면 역시 다음날 두배로 진입하는 수식도 알려주세요. BarsSinceExit(1) == 1 무슨 뜻인가요? == 1의 의미가 무엇인지 궁금합니다. buy("B2",AtMarket,def,CurrentContracts[BarsSinceExit(1)+1]*2); 여기서 [BarsSinceExit(1)+1] 무슨 의미인지 궁금합니다. 자세한 설명 부탁합니다. 감사합니다.
프로필 이미지
서쪽하늘
2013-11-17
156
글번호 69557
시스템
답변완료

문의 (EX)

1. 아래 전체식 검증부탁드립니다. EL[#2]가 제대로 작동을 안하는듯 합니다. if (MarketPosition == 1) then { if ( CrossDown(M1, M2 - PriceSclae * 5) ) then { MTS.xELReady = TRUE; MTS.xELClose = C; } } ................. ................. if (MarketPosition == 1) then { if ( (최종 매수청산조건 ) then { if (MTS.xELReady == TRUE) AND (TimeToMinutes(stime) >= TimeToMinutes(EntryTime) + 30) AND (MTX == M1 OR CROSSUP(MTX, M1)) ) then { ExitLong("EL[#1]", ONCLOSE, DEF); } if ( (MTS.xELReady == TRUE) AND (TimeToMinutes(stime) >= TimeToMinutes(EntryTime) + 30) ) then { ExitLong("EL[#2]", ATSTOP, MTS.xELClose - PriceScale * 3); } } } 2. 아래 1번케이스와 2번 케이스가 있는데, 2개의 목적은 동일합니다. 근데 1번은 2번을 단순히 풀어쓴 것으로밖에 보이질 않는데, 제가 의도한대로 작동을 하지 않더군요. YT가 내부적으로 디코딩하는 것이 달라서가 아닐까 하는 추측뿐입니다. 자세히 설명해주시면 감사하겠습니다. 1번 케이스 if ( (MTAxTS.xELCheck == 0) AND (MTA > MTS) AND (DayIndex > 0) ) then { MTAxTS.xELCheck = 1; } if ( (MTAxTS.xELCheck == 1) AND (CrossDown(MTA, MTS)) ) then { MTAxTS.xELCheck = 2; MTAxTS.xELClose = d1CLOSE; } if ( (MTAxTS.xELCheck == 2) AND (MTA < MTS) ) then { MTAxTS.xELCheck = 3; MTAxTS.xELReady = TRUE; } if ( (MTAxTS.xELCheck == 3) AND (CrossUp(MTA, MTS)) ) then { MTAxTS.xELCheck = 4; } if ( (MTAxTS.xELCheck == 4) AND (CrossDown(MTA, MTL)) ) then { MTAxTS.xELCheck = 5; } if ( (MTAxTS.xELCheck == 5) AND (d1CLOSE > MTAxTS.xELClose) ) then { MTAxTS.xELCheck = 6; } if ( (MTAxTS.xELCheck == 6) AND (MTA < MTL) ) then { MTAxTS.LT.xELReady = TRUE; } if ( (MTAxTS.xELReady == TRUE) AND (CrossUp(MTA, MTS + PriceScale)) ) then { MTAxTS.xELReady = FALSE; MTAxTS.xELCheck = 0; MTAxTS.xELClose = 0; } 2번 케이스 if ( (MTAxTS.xELCheck == 0) AND (MTA > MTS) AND (DayIndex > 0) ) then { MTAxTS.xELCheck = 1; } if ( (MTAxTS.xELCheck == 1) AND (CrossDown(MTA, MTS)) AND (MTA < MTS) ) then { MTAxTS.xELCheck = 2; MTAxTS.xELReady = TRUE; MTAxTS.xELClose = d1CLOSE; } if ( (MTAxTS.xELCheck == 2) AND (CrossUp(MTA, MTS)) AND (MTA > MTS) ) then { MTAxTS.xELCheck = 3; } if ( (MTAxTS.xELCheck == 3) AND (CrossDown(MTA, MTL)) AND (d1CLOSE > MTAxTS.xELClose) ) then { MTAxTS.xELCheck = 4; } if ( (MTAxTS.xELCheck == 4) AND (MTA < MTL) ) then { MTAxTS.LT.xELReady = TRUE; } if ( (MTAxTS.xELReady == TRUE) AND (CrossUp(MTA, MTS + PriceScale)) ) then { MTAxTS.xELReady = FALSE; MTAxTS.xELCheck = 0; MTAxTS.xELClose = 0; } 3. 아래 진입식과 청산식이 있는데, 명칭 이후에 붙을 수 있는 모든 옵션에 대해 나열해주시고 간단히 설명해주시면 감사하겠습니다. Buy("BUY[A]"); ExitLong("EL[A]", ONCLOSE, DEF); 4. 장의 성격에 따라 진입을 다르게 해주고 싶습니다. 급등하는 장에서는 시장가라도 따라붙어서 진입하고, 횡보장에서는 다소 느긋하게 싸게 진입을 원합니다. 시스템트레이딩 설정창에서 보면 여러가지(현재가, 시장가, 상대1호가 2호가) 등을 정해줄 수 있던데 시스템 식에서는 이를 어떻게 표현가능한지요?? 5. VARS: 시작시간(0), 연장시간(0); 시작시간 = 090000; 라고 할때 연장시간 = 시작시간 + TimeToMinutes(30); 라고 단순하게 해주면 되는가요?? 시간 연산은 어떠한 룰이 있는지요?? 늘 감사드립니다.
프로필 이미지
TRF
2013-11-18
161
글번호 69556
시스템