커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

주식 자동매매

주식자동매매가 가능한지 궁금합니다. 이베스트증권hts를 쓰고 있어 이베스트 예스트레이더 누르고 들어가니까 해외 계좌가 없다며 실행이 아예 안되네요. 혹시 다른 증권사예스트레이더 혹은 예스트레이더로 신호 만들어 넣고 주식자동매매가 가능한가요??
프로필 이미지
시스차트
2022-01-11
1443
글번호 155358
시스템
답변완료

문의 드립니다

분봉차트에 적용할 시스템인데 매월 n일에(휴장일일 경우 그 이후 가장 가까운 개장일) 매수하고, K일에 청산하는 시스템의 코드가 input : n(5),k(15); //매월 n일에(휴장일일 경우 그 이후 가장 가까운 개장일) 매수하고, K일에 청산하는 시스템 var1 = sDate%100; if sDate > sDate[1]+30 Then Condition1 = False; if Condition1 == False and var1 >= n Then { Condition1 = true; Buy("b",AtMarket); } if MarketPosition == 1 and var1 >= k Then ExitLong("bx"); 위 코드를 적용하면 n > k 인 경우에 뜻하지않은 오류가 나타납니다. 1)위 코드를 n > k인 경우에도 작동하도록 수정할 방법이 있을까요? 2)매월 n일에 매수하고, m일 후 청산하는 시스템 식도 부탁드립니다 감사합니다~~!!
프로필 이미지
JTH
2022-01-11
1234
글번호 155357
시스템

신대륙발견 님에 의해서 삭제되었습니다.

프로필 이미지
신대륙발견
2022-01-11
28
글번호 155356
지표
답변완료

부탁 드립니다.

도움에 감사 드립니다. 타주기 수식 부탁 드립니다. 1)분봉용 2)틱봉용 3)일봉용 미리 감사 드립니다. input:p(120),보정(100),doji(1),sig(5); var:t(0),종(0),시(0); t=ma(c,p); 종=c/t*100-보정; 시=o/t*100-보정; var1=iff(종==시,종+doji,종); var2=ma(var1,sig); 참고수식1) var : S1(0),D1(0),TM(0),EP1(0),EP2(0),EP3(0),MACDO(0); var : TF(0),xma1(0),xma2(0),idx(0),Prexma1(0),Prexma2(0),MACDV(0),MACDS(0),PreMACDS(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { idx = idx + 1; 참고수식2) var : S1(0),D1(0),TM(0),EP1(0),EP2(0),EP3(0),MACDO(0); var : ii(0),TF(0),xma1(0),xma2(0),idx(0),Prexma1(0),Prexma2(0),MACDV(0),MACDS(0),PreMACDS(0); Ep1 = 2/(short+1); Ep2 = 2/(short*long배수+1); Ep3 = 2/(sig+1); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; ii = 0; } Else ii = ii +1; if D1 > 0 then { TF = ii%nbar; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then {
프로필 이미지
yes
2022-01-11
966
글번호 155355
지표
답변완료

함수요청

안녕하세요? 기작성주신 아래 글번호 75023번의 지표와 74425번의 지표를 활용하여 국내선물 3분봉으로 일중거래를 하고자 합니다. HH, LL, HV, LV 값이 모두 생성되되 HH < HV, LL > LV 이면서 - 무포지션에서 현주가가 HH 돌파 완성시 익봉시가에 매도 진입 - 매도 진입 이후 LL 이탈 완성시 익봉시가에 매도 청산 - 무포지션에서 현주가가 LL 이탈 완성시 익봉시가에 매수 진입 - 매수 진입 현주가가 HH 돌파 완성시 익봉시가에 매수 청산 - 15시 15분 종가청산으로 오버나이트를 하지 않고자 합니다. - 진입기준으로 최대 2회입니다. ----------------------------------------------------------------------------------- [지표 75023] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; HH = 0; LL = 0; Condition1 = False; } if d1 > 0 Then { if macdo > hh Then hh = macdo; if macdo < ll Then ll = macdo; if Condition1 == False and hh >= ll+0.5 Then { Condition1 = true; var1 = DayHigh; Var2 = DayLow; TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2); } if Condition1 == true Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } } [지표 74425] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HV(0),LV(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; T = 0; if MACDO > 0 Then { T = 1; HV = H; LV = L; } if MACDO < 0 Then { T = -1; HV = H; LV = L; } } Else { if ABS(T) < 2 Then { if H > HV Then HV = H; if L < LV Then LV = L; } if T == 1 and CrossUp(MACDO,0) Then { T = 2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == -1 and CrossDown(MACDO,0) Then { T = -2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == 2 or T == -2 Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } }
프로필 이미지
흰둥이아빠
2022-01-11
1291
글번호 155354
시스템
답변완료

추세선의 값

TL_Getvalue 하면 추세선 위치값이 아니라 주가를 읽어 오네요! 추세선이 지나는 위치값을 알려면 어떻게 해야 하나요? 테스트를 위해 몇줄 프로그램을 넣어 저장후 전략실행 화면에서 실행하면 실행후 시스템에서 파일명이 사라짐니다. 편집기 화일 관리자에는 존재하는데.... 다시 사라진 화일명으로 다른이름으로 저장하면 전략실행 화면에는 아예 나타나질 않습니다. 사라진 이름으로는 다시는 저장도 안되고요. ㅠㅠ // // Test_f8 // Input : SZ(0); // 선굵기 Input : FD(20220111); // 찾을 날짜시간 Input : FT(120000); Input : SD1(20220111); // 시험 추세선 #1 Input : ST1(090000); Input : SV1(388.00); Input : ED1(20220111); Input : ET1(145000); Input : EV1(389.00); Input : SD2(20220111); // 시험 추세선 #2 Input : ST2(090000); Input : SV2(388.00); Input : ED2(20220111); Input : ET2(145000); Input : EV2(389.00); var : P1V(0); var : TL1(0); var : TL2(0); var : Text1(0); var : PM5(0); var : PM6(0); // #1 첫라인 점 TL1 = TL_New(SD1,ST1,SV1,SD1,ST1,SV1); //TL_SetSize(TL1,SZ); //TL_SetColor(TL1,Red); /* 이동라인 TL_SetBegin(TL1,SD1,ST1,SV1); TL_SetEnd(TL1,ED1,ET1,EV1); TL_SetSize(TL1,SZ); TL_SetColor(TL1,Red); */ //PM5 = TL_Getvalue(TL1,FD,FT); // #2 첫라인 점 TL2 = TL_New(SD2,ST2,SV2,SD2,ST2,SV2); //TL_SetSize(TL2,SZ); //TL_SetColor(TL2,Black); /* 이동라인 TL_SetBegin(TL2,SD2,ST2,SV2); TL_SetEnd(TL2,ED2,ET2,EV2); TL_SetSize(TL2,SZ); TL_SetColor(TL2,Black); */ //PM6 = TL_Getvalue(TL2,FD,FT); If PM5 == PM6 then { Text1 = Text_New(,FD,FT, PM5, NumToStr(PM5,2) + "->"); } Test 프로그램이 정상인지, 왜 사라지는지 답변부탁드립니다. 새벽 5시10분이 되니 끊키네요. 아이고~~~
프로필 이미지
와글이
2022-01-12
1037
글번호 155353
지표
답변완료

종목검색합니다

1) 금일 WILLR(-80)을 상향 돌파하고 종가가 일목균형4개중 가장 작은것보다 큰 종목을 검색하는 식, 2) 금일 WILLR(-80)을 상향 돌파하고 종가가 일목균형4개중 전환선이나 기준선보다 큰 종목을 검색하는 식을 구합니다 감사합니다
프로필 이미지
느림보
2022-01-11
1237
글번호 155345
종목검색
답변완료

함수요청

아래 글번호 75464번 재질문입니다. 글번호 74425번에서 작성주신 지표의 고점(HV)과 저점(LV)은 아래와 같이 정의되었습니다. 따라서 HH와 LL값이 생성되었지만 HV 혹은 LV 값이 생성되지 않을 수 있습니다. [아래] - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 양의 값이면 그 값 포함부터 MACD오실레이터 값이 음으로 반전하고 다시 양의 값으로 재전환할 때까지를 포함하여 (MACD오실레이터 양의 값 포함->음->양으로 변환할 때포함) 주가의 고점(HV)과 저점(LV)을 잡습니다. - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 음의 값이면 그 값 포함부터 MACD오실레이터 값이 양으로 반전하고 다시 음으로 값으로 재전환할 때까지를 포함하여 (MACD오실레이터 음의 포함->양-> 음으로 변환할 때포함) 주가의 고점(HV)과 저점(LV)을 잡습니다. ==================================================================================== 기작성주신 아래 글번호 75023번의 지표와 74425번의 지표를 활용하여 국내선물 3분봉으로 일중거래를 하고자 합니다. - HH = HV이고 LL값이 나왔으나 LV값이 나오지 않은 상태라면 LL 이탈 완성시 익봉 시가에 3계약 매도 진입 -> 매수 진입 이후 LV값이 나오고 LV값을 하향 이탈 완성하면 익봉 시가에 1계약 매도청산 -> 60ma 상향 돌파 완성 익봉 시가에 1계약 매도청산 -> 15시 15분 나머지 포지션 전량 강제청산 (미결제약정 1계약~3계약) - LL = LV이고 HH값이 나왔으나 HV값이 나오지 않은 상태라면 HH 돌파 완성시 익봉 시가에 3계약 매수 진입 -> 매수 진입 이후 HV값이 나오고 HV값을 상향 돌파 완성하면 익봉 시가에 1계약 매수청산 -> 60ma 하향 이탈 완성 익봉 시가에 1계약 매수청산 -> 15시 15분 나머지 포지션 전량 강제청산 (미결제약정 1계약~3계약) : 하루 3계약을 1번 진입하며 당일 모두 청산하여 오버나이트 하지 않습니다. : 매도포지션으로 진입하고 LV값이 나오고 LV값을 하향 이탈 완성하면 익봉 시가에 1계약 매도청산하고자 하는데 LV값에서 횡보하여 이탈과 돌파를 반복하여 이탈할 때마다 포지션을 청산하는 것이 아니라 LV값 하향 이탈로는 1번만 1계약을 청산하고자 합니다. 60ma 상향 돌파시도 마찬가지 입니다. 1번만 1계약 청산하고자 합니다. 매수포지션으로 진입을 해도 같은 논리입니다. ----------------------------------------------------------------------------------- [지표 75023] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; HH = 0; LL = 0; Condition1 = False; } if d1 > 0 Then { if macdo > hh Then hh = macdo; if macdo < ll Then ll = macdo; if Condition1 == False and hh >= ll+0.5 Then { Condition1 = true; var1 = DayHigh; Var2 = DayLow; TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2); } if Condition1 == true Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } } [지표 74425] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HV(0),LV(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; T = 0; if MACDO > 0 Then { T = 1; HV = H; LV = L; } if MACDO < 0 Then { T = -1; HV = H; LV = L; } } Else { if ABS(T) < 2 Then { if H > HV Then HV = H; if L < LV Then LV = L; } if T == 1 and CrossUp(MACDO,0) Then { T = 2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == -1 and CrossDown(MACDO,0) Then { T = -2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == 2 or T == -2 Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } }
프로필 이미지
흰둥이아빠
2022-01-11
1084
글번호 155344
시스템

2wnwn 님에 의해서 삭제되었습니다.

프로필 이미지
2wnwn
2022-01-11
5
글번호 155342
지표