커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표요청

* 항상 많은 도움 고맙습니다. * 요청사항 : 타주기 이평식 구하기 * 2분봉 차트에 10분, 30분봉, 60분봉, 120분봉, 240분봉, 일봉 이평선을 표시하고 싶습니다. * 매수식도 가능한가요? → 10분봉이 240분봉 crossup 매수 * 커뮤니티에 수십게 있는것 돌려봐도 안되네요....ㅠ.ㅠ~~~ * 좋은 주말 되십시요^^
프로필 이미지
요타
2015-11-12
165
글번호 92362
지표
답변완료

시스템 수식 수정 부탁드립니다.

아래의 수식 중 매도 수식 수정 부탁드립니다. 매도 조건 1. 목표수익률 도달시 보유수량의 50% 매도 2. 목표수익률 돌파시 -> 5% 단위로 수익률 체크 - 목표수익률 +5%를 도달하지 못하고 하락시 목표수익률에서 매도 - 목표수익률 +5% 돌파시 홀딩 - 목표수익률 +10%를 도달하지 못하고 하락시 목표수익률 +5%에서 매도 - 목표수익률 +10% 돌파시 홀딩 - 목표수익률 +15%를 도달하지 못하고 하락시 목표수익률 +10%에서 매도 - 목표수익률 +15% 돌파시 홀딩 - 계속 5% 단위로 체크 - 아 래 - input : 매수진입일전일(20151105); input : 매수가1(10000),매수가2(9000),손절가(8000); input : 목표수익(10); if sdate >= 매수진입일전일 Then{ if NextBarOpen >= 매수가1 Then Buy("매수11",atlimit,매수가1); Else Buy("매수12",AtStop,매수가1); if NextBarOpen >= 매수가2 Then Buy("매수21",atlimit,매수가2); Else Buy("매수22",AtStop,매수가2); } if MarketPosition == 1 Then Exitlong("손절",AtStop,손절가); SetStopProfittarget(목표수익,PercentStop);
프로필 이미지
승부사1
2015-11-12
125
글번호 92361
시스템
답변완료

시스템식 중 궁금한 사항이 있습니다.

안녕하세요.. 질문1) 아래 전체시스템식 중 다음 일부분에서 궁금한 사항이 있습니다. ---------------------------------------------------------------- # 전일기준 일봉 120일이평 ma1 = cum1/일봉이평기간; # 전전일기준 일봉 120일이평 ma2 = cum2/일봉이평기간; #이평하락이면 #기간은 기존Period값+이평보정계수 #%는 기존 매수1차값에 + 이평보정계수 if ma1 < ma2 and DayClose(일봉이평기간+1) > 0 Then{ Period = Period + 이평보정계수; 매수1차 = 매수1차 + 이평보정계수; } ---------------------------------------------------------------- 위 식중 일부인 if ma1 < ma2 and DayClose(일봉이평기간+1) > 0 Then{ Period = Period + 이평보정계수; 매수1차 = 매수1차 + 이평보정계수; } 에서 ma1 < ma2는 전일 120이평값이 전전일 120이평값보다 작으면 즉, 120이평선이 우하향하면 이평보정계수를 써서 기본 매수1차값보다 이평보정계수만큼 낮게 매수하기 위한 식으로 이것만으로도 충분한데 DayClose(일봉이평기간+1) > 0 식을 더 추가한 이유를 모르겠습니다. DayClose(일봉이평기간+1) > 0 의 의미와 이식을 and 해서 추가한 이유를 부탁드립니다. 질문2) 예전에 보내주신 식에서는 등락율이 다음과 같이 표현해서 보내주셨는데, #data2의 data2N일전 대비 등락율 D2rate = data2((C*CloseD(data2N))/CloseD(data2N)*100); 이식대로 적용해 보니 신호가 잡히지를 않아, 다음과 같이 수정했는데요, (*를 -로 수정) #data2의 data2N일전 대비 등락율 D2rate = data2((C-CloseD(data2N))/CloseD(data2N)*100); 신호가 제대로 나타납니다. 제가 제대로 수정했는지 모르겠네요. 전체 시스템식은 다음과 같습니다. -------------------------------------------------------------- input : 전략식시작일자(20150105), 전략식시작시간(090000), 전략총매수금액(3000); input : data2N(1),Data2전일대비등락률(-3); input : 전략식종료일자(20151231); input : 갭하락(5), 시장보정계수(0),일봉이평기간(120),이평보정계수(0), 지수보정계수(0); input : P(5), 매수위치1차(5), 매수위치2차(5), 매수위치3차(10); input : 매수위치보정(1); input : 매도위치1차(5), 매도위치2차(10); input : 매수비중1차(30), 매수비중2차(35), 매수비중3차(35); input : 매도비중1차(50), 매도비중2차(50); input : 전략식진입횟수(100), 타점보유일수(5); var : sum(0,data1),mav(0,data1),cnt(0,data1),eup(0,data1),edn(0,data1); var : Didx(0,data1),LatestEntryDidx(0,data1),Ecnt(0,data1); var : TimeCond(false,data1),Xcond1(false,data1),Xcond2(false,data1),Loss(0,data1),LatestEntrylow(0,data1); var : Period(0,data1),매수1차(0,data1); var : cum1(0,data1),cum2(0,data1),ma1(0,data1),ma2(0,data1),ma3(0,data1); var : D2rate(0,data2); # 일자수 계산 if date != date[1] Then Didx = Didx+1; # 일봉 120이평 계산(전일기준,전전일기준) cum1 = 0; cum2 = 0; for cnt = 1 to 일봉이평기간{ cum1 = cum1+DayClose(cnt); cum2 = cum2+DayClose(cnt+1); } # 전일기준 일봉 120일이평 ma1 = cum1/일봉이평기간; # 전전일기준 일봉 120일이평 ma2 = cum2/일봉이평기간; #기본값은 기간은 P, %는 매수위치1차 Period = P; 매수1차 = 매수위치1차; #갭하락이면 #기간은 기존Period값+시장보정계수 #%는 기존 매수1차값에 + 시장보정계수 if dayopen < DayClose(1)*(1-갭하락/100) Then{ Period = Period + 시장보정계수; 매수1차 = 매수1차 + 시장보정계수; } #이평하락이면 #기간은 기존Period값+이평보정계수 #%는 기존 매수1차값에 + 이평보정계수 if ma1 < ma2 and DayClose(일봉이평기간+1) > 0 Then{ Period = Period + 이평보정계수; 매수1차 = 매수1차 + 이평보정계수; } #data2의 data2N일전 대비 등락율 D2rate = data2((C-CloseD(data2N))/CloseD(data2N)*100); #지수폭락이면 #기간은 기존Period값+지수보정계수 #%는 기존 매수1차값에 + 지수보정계수 if D2rate <= Data2전일대비등락률 Then{ Period = Period + 지수보정계수; 매수1차 = 매수1차 + 지수보정계수; } #당일포함 일봉 Period개의 종가를 누적 sum = 0; for cnt = 0 to Period-1{ sum = sum+DayClose(cnt); } #누적값을 Period로 나누어 평균값 산출 mav = sum/Period; #상단계산 Eup = mav+mav*(매수1차/100); #하단계산 Edn = mav-mav*(매수1차/100); #지정일 지정시간이 되면 TimeCond는 True(그전에는 false) if sdate == 전략식시작일자 and (stime == 전략식시작시간 or (stime > 전략식시작시간 and stime[1] < 전략식시작시간 )) then TimeCond = true; if sdate > 전략식종료일자 Then TimeCond = false; #TimeCond가 True가 된 후 if TimeCond == true then{ if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "1차매수" Then Ecnt = Ecnt+1; #무포지션 상태에서 매수위치1차에 도달하면 매수 if MarketPosition == 0 and Ecnt < 전략식진입횟수 and stime < 144200 Then buy("1차매수",atlimit,Edn*(1+매수위치보정/100),Floor((전략총매수금액*10000/c)*(매수비중1차/100))); #첫매수이후 if MarketPosition == 1 Then{ #추가진입이 발생하면 1차매도가 다시 발생할수 있도록 false로 초기화 if CurrentContracts > CurrentContracts[1] Then Xcond1 = false; #최근 진입시점의 일자수 저장 if CurrentContracts > CurrentContracts[1] Then{ LatestEntryDidx = Didx; LatestEntrylow = L; } #1차매수 발생 후 매수위치2차에 도달하면 매수 if MaxEntries == 1 and stime < 144200 Then buy("2차매수",atlimit,Edn[BarsSinceEntry]*(1-매수위치2차/100),Floor((전략총매수금액*10000/c)*(매수비중2차/100))); #1차매수 발생 후 매수위치3차에 도달하면 매수 if MaxEntries == 2 and stime < 144200 Then buy("3차매수",atlimit,Edn[BarsSinceEntry]*(1-매수위치3차/100),Floor((전략총매수금액*10000/c)*(매수비중3차/100))); #1차매도가 한번 발생하면 더이상 발생못하도록 Xcond1은 true if CurrentContracts < CurrentContracts[1] and (LatestExitName(0) == "1차매도") then Xcond1 = true; #2차매도가 한번 발생하면 더이상 발생못하도록 Xcond2는 true if CurrentContracts < CurrentContracts[1] and (LatestExitName(0) == "2차매도") then Xcond2 = true; #Xcond1이 false일때 #진입이후 최저가에서 매도위치1차 만큼 상승하면 일부 청산 if Xcond1 == false and stime < 144200 Then exitlong("1차매도",Atlimit,lowest(L,BarsSinceEntry)*(1+매도위치1차/100),"",Floor(MaxContracts*(매도비중1차/100)),1); #Xcond2가 false일 #진입이후 최저가에서 매도위치2차 만큼 상승하면 전량청산 if Xcond2 == false and stime < 144200 Then exitlong("2차매도",Atlimit,lowest(L,BarsSinceEntry)*(1+매도위치2차/100)); #최근 진입후 3일이상 경과(현재 일자수가 최근진입시점의 일자수보다 3이상증가) if Didx >= LatestEntryDidx+타점보유일수 and Xcond1 == false and CurrentContracts == CurrentContracts[1] Then{ #최근 진입이후 3일되었을때의 최근진입일 포함3일 최저가 계산 if date != date[1] and Didx == LatestEntryDidx[BarsSinceEntry]+3 Then{ Loss = daylow(1); for cnt = 1 to (타점보유일수-1) { if daylow(cnt) < Loss Then Loss = daylow(cnt); } } #Loss값 이하로 가격하락하면 전량 청산 exitlong("손절",AtStop,Loss); } #최종 매수일 포함 5일경과되면 다음날 시가에 매도 if Didx == LatestEntryDidx+(타점보유일수-1) and stime == 150000 Then{ exitlong("익절2",AtMarket); } # 1차매도가 발생한 상황 # 가장 최근 진입일의 당일최저가보다 낮은 시세 발생하면 전량청산 # if L < LatestEntrylow and Xcond1 == false Then # LatestEntrylow = L; # if Xcond1 == true and CurrentContracts == CurrentContracts[1] Then{ # exitlong("익절1",AtStop,LatestEntrylow); # } } else{ #매수포지션이 아니면 false로 초기화 Xcond1 = false; Xcond2 = false; } }
프로필 이미지
종풍화성
2015-11-12
153
글번호 92360
시스템
답변완료

재문의드림니다.

얀녕하세요..글번호 44982 에서 5번째. 중심라인수식이 빠져네요. 부탁드림니다. 5.전주 중심가격라인(고점+저점)/2 수고하세요....꾸벅
프로필 이미지
보인다
2015-11-12
133
글번호 92359
지표
답변완료

질문드립니다.

안녕하세요. 항상 수고 많으십니다. 질문입니다. ------------------------------ 혹시, 시스템식을 USB에 저장해서 그대로 사용할 수 있는 방법이 있는지 있다면, 그 방법을 알고 싶습니다. 감사합니다.
프로필 이미지
샐리짱
2015-11-12
136
글번호 92358
시스템
답변완료

지표부탁합니다.

안녕하세요? 1. 분봉에서 RSI 지표(14.70.30)를 수평으로 표현할수 있도록 부탁 드립니다. 2. a=if(c(1)>o(1),... b=if(c(1)<o(1),... 위 a 와 b를 plot1과 plot2 로 표현할수 있도록 변환 부탁드립니다.
프로필 이미지
사냥꾼
2015-11-12
150
글번호 92357
지표

부양가족 님에 의해서 삭제되었습니다.

프로필 이미지
부양가족
2015-11-12
0
글번호 92356
종목검색

한국사람73 님에 의해서 삭제되었습니다.

프로필 이미지
한국사람73
2015-11-12
0
글번호 92355
지표

한국사람73 님에 의해서 삭제되었습니다.

프로필 이미지
한국사람73
2015-11-12
1
글번호 92354
지표