커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

뚜벅뚜벅 님에 의해서 삭제되었습니다.

프로필 이미지
뚜벅뚜벅
2019-10-01
0
글번호 132400
시스템
답변완료

수식부탁합니다.

Input : shortPeriod(12), longPeriod(26); Var : value(0); value = MACD(shortPeriod, longPeriod); # 매수/매도청산 If CrossUP(value, 0) Then { Buy(); } # 매도/매수청산 If CrossDown(value, 0) Then { Sell(); } 위수식에서 만약에 매수후 2%상승후 시가가 1% 갭상승시 20%를 즉시 이익실현한다. 매도는 반대 감사합니다.
프로필 이미지
큰바위얼굴
2019-10-01
170
글번호 132399
시스템
답변완료

delay time 시뮬레이션

답변 수식 시뮬레이션 값이 안나옵니다. ************************************************************************************ 안녕하세요 예스스탁입니다. input : 당일최대진입횟수(1); var : T1(0),entry(0); var : BuySetup(false),SellSetup(false),Buyprice(0),SellPrice(0),BD(0),BT(0),SD(0),ST(0); if bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; if MarketPosition <= 0 and BuySetup == false and dayindex == 0 and C > O Then { BuySetup = true; Buyprice = C; BD = sdate; BT = TimeToMinutes(stime); } if MarketPosition >= 0 and BuySetup == false and dayindex == 0 and C < O Then { SellSetup = true; SellPrice = C; SD = sDate; ST = TimeToMinutes(stime); } if MarketPosition == 1 Then BuySetup = false; if MarketPosition == -1 Then SellSetup = false; if MarketPosition <= 0 and BuySetup == true and Sdate == BD and TimeToMinutes(stime) >= BT+10 and crossup(c,BuyPrice) and entry < 당일최대진입횟수 Then buy("b"); if MarketPosition >= 0 and SellSetup == true and Sdate == SD and TimeToMinutes(stime) >= ST+10 and CrossDown(c,SellPrice) and entry < 당일최대진입횟수 Then sell("s"); 즐거운 하루되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : 수식 적용 > input : 당일최대진입횟수(1); var : T1(0),entry(0); if bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; if dayindex == 0 and MarketPosition == 0 Then{ Condition1 = false; if entry < 당일최대진입횟수 and C > O Then{ buy("b1",AtMarket); Condition1 = true; } if entry < 당일최대진입횟수 and c < O Then{ sell("s1",AtMarket); Condition1 = true; } } 아래 조건을 위 수식에 적용해주세요. 항상 고맙습니다. ************************************************************************************* var : BuySetup(false),SellSetup(false),Buyprice(0),SellPrice(0),BD(0),BT(0),SD(0),ST(0); if MarketPosition <= 0 and BuySetup == false and 매수조건 Then { BuySetup = true; Buyprice = C; BD = sdate; BT = TimeToMinutes(stime); } if MarketPosition >= 0 and BuySetup == false and 매도조건 Then { SellSetup = true; SellPrice = C; SD = sDate; ST = TimeToMinutes(stime); } if MarketPosition == 1 Then BuySetup = false; if MarketPosition == -1 Then SellSetup = false; if MarketPosition <= 0 and BuySetup == true and Sdate == BD and TimeToMinutes(stime) >= BT+10 and crossup(c,BuyPrice) Then buy("b"); if MarketPosition >= 0 and SellSetup == true and Sdate == SD and TimeToMinutes(stime) >= ST+10 and CrossDown(c,SellPrice) Then sell("s"); 즐거운 하루되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : 진입필터 buy 진입조건 만족 시 a가격의 진입을 유보하고 10분후에 a가격을 아래서 위로 돌파할 때 진입하는 조건 sell 진입조건 만족 시 b가격의 진입을 유보하고 10분후에 b가격을 위에서 아래로 돌파할 때 진입하는 조건
프로필 이미지
목마와숙녀
2019-11-01
196
글번호 132398
시스템

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

프로필 이미지
회원
2019-10-01
14
글번호 132397
시스템
답변완료

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

안녕하세요 아래처럼 답변주셨는데 if V > var1 Then var1 = V; if V >= var1[1]*10 and C > C[1] and C > C[2] Then 요런식으로 시스템매매에서 시뮬레이션 할수 있도록 buy함수 넣어서 돌려봤는데 예를들면 5개월전부터로 기간을 정하면 그때부터 지금까지 쭉 최고거래량이 갱신되서 일정이상의 매매가 이뤄지지 못하게 됩니다. 최고 거래량이 최근 data에 맞춰서 계속 갱신되게 만들고 싶습니다. 1분봉 상에서 최근 3일전의(혹은 원하는봉갯수안에서) 가장 높았던 거래량보다 현재봉의 거래량이 10배 이상이면 구매하는 식 부탁드립니다. ///////////////////////////////////////////////////////// 안녕하세요 예스스탁입니다. 종목검색은 최대 500봉 제공됩니다. 종목검색 속성에서 검색에 필요한 최소기간에 500봉 지정하고 종목검색을 하시면 됩니다. if V > var1 Then var1 = V; if V >= var1[1]*10 and C > C[1] and C > C[2] Then find(1); 즐거운 하루되세요 > 하얀귤 님이 쓴 글입니다. > 제목 : 종목검색식 부탁드립니다. > 안녕하세요 1분봉 상에서 그전까지 그릴수있는 최대한전에서부터 가장 높았던 거래량보다 현재봉의 거래량이 10배 더크고 현재봉이 전봉, 전전봉 보다 상승하고 있는 종목을 검색하는 식 부탁드립니다. 가능하면 알람도 뜰수있게끔 가능할까요? (1분봉상에서 그릴수있는 최대한전이 언제부터되는지도 알수있을까요?) ////////////// 안된다면 1분봉상에서 현재 봉의 거래량이 어제와 그저께의 하루치 거래량의 평균값보다 더크고 현재봉이 전봉, 전전봉 보다 상승하고 있는 종목을 검색하는 식 부탁드립니다.
프로필 이미지
하얀귤
2019-10-01
177
글번호 132396
시스템
답변완료

종목 검색

A=ma(C,기간1); B=ma(C,기간2); valuewhen(1,CrossUp(A,B),A) 기간1 3 기간2 225 차트의 검정원 안의 종목이 검색되도록 부탁드립니다
프로필 이미지
바램
2019-10-01
162
글번호 132395
종목검색
답변완료

지표 보고싶어요...

차110110 JH_SS1 n6 cafe_191031.yein 88KB 네이버카페 핑크캣의 주식강의 카페에서 이지표에 대해 수식을 알려주신다하셨는데.. 안열리네요.ㅠㅠ
프로필 이미지
징그븐여우
2019-09-30
256
글번호 132394
지표
답변완료

문으드립니다

Input:length(5); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),처리구분(""), TL_Val1(0),TL_Val2(0); var : T(0),LTL1(0); var : HTL1(0); Array:고점[10,2](0),저점[10,2](0); 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { T = 1; lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); if T[1] != 1 Then{ TL_SetExtRight(LTL1,False); LTL1 = TL_New(sDate[index-저점[2,2]],sTime[index-저점[2,2]],저점[2,1],sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]); TL_SetExtRight(LTL1,true); } If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then { sBar = Index - 저점[2,2]; eBar = Index - 저점[1,2]; } } } If 처리구분 == "저점처리" Then { T = -1; lastLoVal = L; If 저점[1,2] < 고점[1,2] Then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); if T[1] != -1 then{ TL_SetExtRight(HTL1,false); HTL1 = TL_New(sDate[index-고점[2,2]],sTime[index-고점[2,2]],고점[2,1],sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]); TL_SetExtRight(HTL1,true); } If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; } } } TL_SetSize(TL1,0); TL_SetColor(TL1,GRAY); TL_SetColor(LTL1,YELLOW); TL_SetColor(HTL1,RED); TL_SetSize(LTL1,3); TL_SetSize(HTL1,3); 수고많으십니다 ~~위수식에서 레드색-10틱 엘로우색+10틱 수정부탁드립니다 ~~항상감사드립니다
프로필 이미지
유선
2019-09-30
181
글번호 132393
지표
답변완료

부탁드립니다.

1.매수청산식 매수 진입 후 12개 봉을 지난 다음 13번째 봉 종가부터 매수 이전 35개봉과 매수 진입 후 12개 봉을 기준으로 삼아서 최고가를 올라서면 그때 매수 청산하라. 2. 매도청산식 매도 진입 후 12개봉을 지난 다음 13번째 봉 종가부터 매도 이전 35개봉과 매도 진입 후 12개 봉을 기준으로 삼아서 최저가로 내려서면 그때 매도 청산하라 3. 매수청산식 매수 진입 한 후 종가가 매수 진입한 봉까지 합하여 그 이전 25개봉을 합한 최저가로 내려가면 매수 청산하라. 4. 매도청산식 매도 진입 한 후 종가가 매도 진입한 봉까지 합하여 그 이전 25개봉을 합한 최고가로 올라가면 매도 청산하라 감사합니다.
프로필 이미지
서태공
2019-09-30
162
글번호 132392
시스템