커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부득탐승 님에 의해서 삭제되었습니다.

프로필 이미지
부득탐승
2015-09-03
0
글번호 90032
시스템

부득탐승 님에 의해서 삭제되었습니다.

프로필 이미지
부득탐승
2015-09-03
0
글번호 90031
시스템
답변완료

수식부탁드립니다

연결선물지수 1분봉 질의1) 매수신호 : 9시01분 첫봉에서 oi증감이 직전봉 대비 500계약 이상 감소하면서 양봉이면 매수 매도신호 : 9시01분 첫봉에서 oi증감이 직전봉 대비 500계약 이상 감소하면서 음봉이면 매도 질의2) 매수신호 : 전일 종가대비 연결선물이 -1.0pt 이상 하락하고 oi증감이 직전봉 대비 500계약 이상 감소하면서 양봉이면 매수 매도신호 : 전일 종가대비 연결선물이 +1.0pt 이상 상승하고 oi증감이 직전봉 대비 500계약 이상 감소하면서 음봉이면 매도 감사합니다.
프로필 이미지
부득탐승
2015-09-03
112
글번호 90030
시스템
답변완료

수정부탁드립니다

> 현재 분봉기준 전일누적거래량과 당일누적거래량을 비교하는 검색식입니다. 이것을 전전전일(3일전)과 당일 비교로 변경해주시면 감사하겠습니다.감사합니다.. input : Per(100); var : cnt(0),PreV(0); PreV = 0; for cnt = 1 to 500 { if sdate[cnt] < sdate and stime[cnt] <= stime then{ PreV = DayVolume[cnt]; cnt = 1000; } } if PreV > 0 and DayVolume >= PreV*(per/100) then find(DayVolume/PreV*100);
프로필 이미지
부양가족
2015-09-03
123
글번호 90027
종목검색
답변완료

정해진 시간에 강제청산 및 봉의 시작일자 문의

안녕하세요? 해외선물을 투자하고 있습니다. 해외선물중에 통화 상품인 us dollar index 상품인데요.. 매매시간은 질문1)한국시간 기준 : 오전 9시에 개장하여 다음날 새벽 6시에 장마감이 됩니다. 자동매매 차트는 60분봉차트를 쓰고 있고요 그래서 장마감 새벽 6시에 시가에 당일청산시 if stime==050000 then exitlong (); exitshort(); 이라고 답변 되어 있네요 질문1) 이때 당일 청산시 주문유형은 시장가로 주문이 나가는지요?.. 질문2) 제가 작성한 진입명별로 청산식이 구분되어 있는데요... If marketpostion=1,-1 조건제시후 위 답변하신 if stime==050000... 시스템식을 작성해야 되는것 아닙니까? 아니면 답변하신 시스템식만 작성하면..05시에 포지션이 있으면 6시에 강제 청산. 이 되는지요? 3) exitlong ();exitshort () : ()안에 내용없이 답변하신 내용데로 적으면 되는지요? 질문2" 당일 거래횟수 제한" 에 대한 시스템식에 문의하고자 합니다. input : N(2); var : cnt(0),count(0); Count = 0 ; for cnt = 0 to 10 { if EntryDate(cnt) == sdate then Count = Count + 1; } 여기에서 sdate에 문의하고자 합니다. sdate라는것이 봉의시작일자로 되어있는데.. 상기와 같이 해외선물 시간대에서는 봉의 시작일자가 .. 예를 들어 오늘 8/31일 이라면.. 다음날 새벽 9/1일 00시00분에 봉의시작일자가 시작되는 건지요? 수고하세요^^
프로필 이미지
수급저격수
2015-09-03
180
글번호 90024
시스템
답변완료

함수수정요청 12-1호

해외선물로 아래의 함수를 적용하면 같은신호가 하루 여러번 발생될 때가 있습니다. 같은 신호로 진입을 하루 1번만 하고자 합니다. 가령 매도 진입신호는 s1, s2이며 매수 진입신호는 b입니다. 따라서 일중에 최대 발생할 수 있는 진입신호는 's1, s2, b' 3번입니다 var : entry(0),NP(0),NP1(0),NP2(0); var : ho(0),OL(0),HL(0); var : maho(0),maOL(0),maHL(0); var : cnt(0),sumho(0),sumOL(0),sumHL(0); var : EntryCnt(0),cond1(false); var : V1(0),V2(0),V3(0),V4(0),V5(0),V6(0),V7(0),V8(0),V9(0),V10(0); NP = NetProfit; if bdate != bdate[1] Then{ entry = 0; NP1 = NP[1]; NP2 = NP1[1]; Cond1 = true; if NP1 > NP2 Then cond1 = false; } if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; ho = Dayhigh-Dayopen; OL = DayOpen-DayLow; HL = DayHigh-DayLow; sumho = 0; sumOL = 0; sumHL = 0; for cnt = 1 to 10{ sumho = sumho + (dayhigh(cnt)-dayopen(cnt)); sumOL = sumOL + (DayOpen(cnt)-DayLow(cnt)); sumHL = sumHL + (DayHigh(cnt)-DayLow(cnt)); } maho = sumho/10; maOL = sumOL/10; maHL = sumHL/10; V1 = dayopen(0)+maho; V2 = DayOpen(0)-maOL; V3 = DayOpen(0)+maHL; V4 = DayOpen(0)-maHL; V5 = NthMaxList(1,V1,V2,V3,V4); V6 = NthMaxList(2,V1,V2,V3,V4); V9 = NthMaxList(3,V1,V2,V3,V4); V10 = NthMaxList(4,V1,V2,V3,V4); V7 = (V5+V10)/2; V8 = (V6+V9)/2; if MarketPosition == 0 and entry == 0 and cond1 == true Then{ if V7 > V8 Then sell("s1",AtStop,V7-0.02); if V7 < V8 Then sell("s2",Atlimit,V8-0.02); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ ExitShort("sp1",atlimit,V9-0.03); ExitShort("sl1",AtStop,V6); } if MarketPosition == -1 and IsEntryName("s2") == true Then{ ExitShort("sp2",atlimit,V9-0.03); ExitShort("sl2",AtStop,V6); } var : TF(0); var : Xtime(0), Etime(false),mav1(0),mav2(0); var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0); Array : HH[50](0),LL[50](0),CC[50](0); mav1 = ma(c,5); mav2 = ma(C,20); TF = TimeToMinutes(stime)%30; if Bdate != Bdate[1] Then{ Etime = true; if stime >= 090000 Then Xtime = 060000; Else Xtime = 060000; } if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 49{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if HH[25+2] > 0 Then{ HV = HH[0]; LV = LL[0]; HV1 = HH[1]; LV1 = LL[1]; HV2 = HH[2]; LV2 = LL[2]; for cnt = 0 to 25{ if HH[cnt] > HV Then HV = HH[cnt]; if LL[cnt] < LV Then LV = LL[cnt]; if HH[cnt+1] > HV Then HV = HH[cnt+1]; if LL[cnt+1] < LV Then LV = LL[cnt+1]; if HH[cnt+2] > HV Then HV = HH[cnt+2]; if LL[cnt+2] < LV Then LV = LL[cnt+2]; } var1 = (HV+LV)/2; var2 = (HV1+LV1)/2; var3 = (HV2+LV2)/2; if Etime == true then{ if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 Then buy("b",AtMarket); if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then ExitLong("bx",AtMarket); } } if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{ Etime = false; ExitLong(); } SetStopLoss(0.8,PercentStop); SetStopProfittarget(3,PercentStop); SetStopInactivity(3,23,PercentStop);
프로필 이미지
통큰베팅
2015-09-03
139
글번호 90023
시스템
답변완료

함수수정요청 11-1호

해외선물로 아래의 함수를 적용하면 같은신호가 하루 여러번 발생될 때가 있습니다. 같은 신호로 진입을 하루 1번만 하고자 합니다. 가령 매도 진입신호는 s1, s2이며 매수 진입신호는 b입니다. 따라서 일중에 최대 발생할 수 있는 진입신호는 's1, s2, b' 3번입니다 var : entry1(0); var : ho1(0),OL1(0),HL1(0); var : maho1(0),maOL1(0),maHL1(0); var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0); var : EntryCnt1(0); var : V1(0),V2(0),V3(0),V4(0),V5(0); var : V6(0),V7(0),V8(0),V9(0),V10(0); if bdate != bdate[1] Then entry1 = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry1 = entry1+1; ho1 = Dayhigh-Dayopen; OL1 = DayOpen-DayLow; HL1 = DayHigh-DayLow; sumho1 = 0; sumOL1 = 0; sumHL1 = 0; for cnt1 = 1 to 10{ sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1)); sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1)); sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1)); } maho1 = sumho1/10; maOL1 = sumOL1/10; maHL1 = sumHL1/10; V1 = dayopen(0)+maho1; V2 = DayOpen(0)-maOL1; V3 = DayOpen(0)+maHL1; V4 = DayOpen(0)-maHL1; V5 = NthMaxList(1,V1,V2,V3,V4); V6 = NthMaxList(2,V1,V2,V3,V4); V9 = NthMaxList(3,V1,V2,V3,V4); V10 = NthMaxList(4,V1,V2,V3,V4); V7 = (V5+V10)/2; V8 = (V6+V9)/2; if MarketPosition == 0 and entry1 == 0 Then{ if V7 > V8 Then sell("s1",AtStop,V7-0.02); if V7 < V8 Then sell("s2",Atlimit,V8-0.02); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ ExitShort("sp1",atlimit,V9-0.03); ExitShort("sl1",AtStop,V6); } if MarketPosition == -1 and IsEntryName("s2") == true Then{ ExitShort("sp2",atlimit,V9-0.03); ExitShort("sl2",AtStop,V6); } var : TF(0); var : Xtime(0), Etime(false),cnt(0),mav1(0),mav2(0); var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0); Array : HH[50](0),LL[50](0),CC[50](0); mav1 = ma(c,5); mav2 = ma(C,20); TF = TimeToMinutes(stime)%30; if Bdate != Bdate[1] Then{ Etime = true; if stime >= 090000 Then Xtime = 050000; Else Xtime = 060000; } if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 49{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if HH[25+2] > 0 Then{ HV = HH[0]; LV = LL[0]; HV1 = HH[1]; LV1 = LL[1]; HV2 = HH[2]; LV2 = LL[2]; for cnt = 0 to 25{ if HH[cnt] > HV Then HV = HH[cnt]; if LL[cnt] < LV Then LV = LL[cnt]; if HH[cnt+1] > HV Then HV = HH[cnt+1]; if LL[cnt+1] < LV Then LV = LL[cnt+1]; if HH[cnt+2] > HV Then HV = HH[cnt+2]; if LL[cnt+2] < LV Then LV = LL[cnt+2]; } var1 = (HV+LV)/2; var2 = (HV1+LV1)/2; var3 = (HV2+LV2)/2; if Etime == true then{ if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 Then buy("b",AtMarket); if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then ExitLong("bx",AtMarket); } } if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{ Etime = false; ExitLong(); } SetStopLoss(0.8,PercentStop); SetStopProfittarget(3,PercentStop); SetStopInactivity(3,23,PercentStop);
프로필 이미지
통큰베팅
2015-09-03
135
글번호 90022
시스템

동동이아빠 님에 의해서 삭제되었습니다.

프로필 이미지
동동이아빠
2015-09-02
19
글번호 90021
지표

동동이아빠 님에 의해서 삭제되었습니다.

프로필 이미지
동동이아빠
2015-09-02
7
글번호 90020
사용자 함수