커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

딕셔너리 처럼 사용 가능한 방법이 있을까요?

파이썬에 딕셔너리 같이 사용이 가능한 방법 문의 드립니다. dic = {"조건1":1,"조건2":2} 위와 같은 딕셔너리처럼 사용가능한 방법이 있을까요?
프로필 이미지
토모즈
2024-01-12
813
글번호 175673
사용자 함수
답변완료

per 조건

input : N(60),N1(7),per(10); var : TX1(0),TX2(0),cnt(0),box(0),box1(0); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),TL7(0),TL8(0),TL9(0),TL10(0); var : Tcond(False,Data2),i2(0,Data2); var : box3(0),cond(False),H2(0),L2(0); Plot1(Data2(c)); For cnt = 0 to 49 { TL_Delete(TL1[cnt]); TL_Delete(TL2[cnt]); TL_Delete(TL3[cnt]); TL_Delete(TL4[cnt]); TL_Delete(TL5[cnt]); TL_Delete(TL6[cnt]); TL_Delete(TL7[cnt]); TL_Delete(TL8[cnt]); TL_Delete(TL9[cnt]); Text_Delete(TX1[cnt]); Text_Delete(TX2[cnt]); TL_Delete(Box[cnt]); TL_Delete(Box1[cnt]); } if Data2(Bdate != Bdate[1]) Then { Tcond = False; i2 = 0; } if Tcond == False and Data2(sTime >= 85000) Then { Tcond = true; } if Tcond == true Then { i2 = i2+1; TL1 = TL_New_Self(sDate,sTime,data2(highest(H,min(N,i2))),NextBarSdate,NextBarStime,data2(highest(H,min(N,i2)))); TL2 = TL_New_Self(sDate,sTime,data2(lowest(L,min(N,i2))),NextBarSdate,NextBarStime,data2(lowest(L,min(N,i2)))); TL_SetColor(TL1,Red); TL_SetColor(TL2,Blue); TL_SetSize(TL1,1); TL_SetSize(TL2,1); TL_SetExtLeft(TL1,true); TL_SetExtLeft(TL2,true); TL3 = TL_New_Self(Data2(sDate[NthHighestBar(1,H,min(N,i2))]),Data2(stime[NthhighestBar(1,H,min(N,i2))]),-9999,Data2(sDate[NthHighestBar(1,H,min(N,i2))]),Data2(stime[NthhighestBar(1,H,min(N,i2))]),9999); TL_SetColor(TL3,Pink); TL_SetSize(TL3,5); TL5 = TL_New(Data2(sDate[NthHighestBar(1,H,min(N,i2))]),Data2(stime[NthhighestBar(1,H,min(N,i2))]),-9999,Data2(sDate[NthHighestBar(1,H,min(N,i2))]),Data2(stime[NthhighestBar(1,H,min(N,i2))]),9999); TL_SetColor(TL5,Pink); TL_SetSize(TL5,5); TL7 = TL_New_Self(sDate,sTime,data2(lowest(L*1.1,min(N,i2))),NextBarSdate,NextBarStime,data2(lowest(L*1.1,min(N,i2)))); TL_SetColor(TL7,Red); TL_SetSize(TL7,0.5); TL_SetExtLeft(TL7,true); TL8 = TL_New_Self(sDate,sTime,data2(lowest(L*1.2,min(N,i2))),NextBarSdate,NextBarStime,data2(lowest(L*1.2,min(N,i2)))); TL_SetColor(TL8,Green); TL_SetSize(TL8,1); TL_SetExtLeft(TL8,true); TL9 = TL_New_Self(sDate,sTime,data2(lowest(L*1.3,min(N,i2))),NextBarSdate,NextBarStime,data2(lowest(L*1.3,min(N,i2)))); TL_SetColor(TL9,Red); TL_SetSize(TL9,0.5); TL_SetExtLeft(TL9,true); TX1 = Text_New_Self(Data2(sDate[NthHighestBar(1,H,min(N,i2))]),Data2(stime[NthhighestBar(1,H,min(N,i2))]),Data2(highest(H+PriceScale*1,min(N,i2))),"■"); TX2 = Text_New_Self(Data2(sDate[NthLowestBar(1,L,min(N,i2))]),Data2(stime[NthLowestBar(1,L,min(N,i2))]),Data2(Lowest(L-PriceScale*1,min(N,i2))),"■"); Text_SetStyle(TX1,2,1); Text_SetStyle(TX2,2,0); Text_SetColor(TX1,Blue); Text_SetColor(TX2,Magenta); Text_SetSize(tx1,35); Text_SetSize(tx2,35); box1 = Box_New(Data2(sDate[NthlowestBar(1,L,min(N,i2))+N1]),Data2(stime[NthlowestBar(1,L,min(N,i2))+N1]),9999, Data2(sDate[NthlowestBar(1,L,min(N,i2))]),Data2(stime[NthlowestBar(1,L,min(N,i2))]),-9999); Box_SetColor(box1,Blue); Box_SetFill(box1,true,40); box = Box_New_Self(Data2(sDate[NthlowestBar(1,L,min(N,i2))+N1]),Data2(stime[NthlowestBar(1,L,min(N,i2))+N1]),9999, Data2(sDate[NthlowestBar(1,L,min(N,i2))]),Data2(stime[NthlowestBar(1,L,min(N,i2))]),-9999); Box_SetColor(box,Blue); Box_SetFill(box,true,40); if data2(CrossUp(L,Lowest(L,min(N,i2))*(1+per/100))) Then { Box_Delete(box3); cond = true; H2 = Data2(H); L2 = Data2(lowest(L,min(N,i2))*(1+per/100)); box3 = Box_New_Self(sDate[1],sTime[1],L2,Sdate,Stime,9999); Box_SetColor(box3,Lime); Box_SetFill(box3,true,40); TL_Delete(TL10); TL10=TL_New(sDate,sTime,0,sDate,sTime,9999); TL_SetColor(TL10,Lime); TL_SetSize(TL10,5); } Else { if cond == true Then { if data2(H) > H2 Then H2 =Data2(H); Box_SetEnd(box3,sDate,sTime,9999); if Data2(l < lowest(L,min(N,i2))*(1+per/100)) Then Box_Delete(box3); } } } N봉중 최저가보다 현재봉 저가가 10퍼센트 이상일 때 생성되는 박스 조건을 (92줄 이후만), N봉중 최저가가 현재봉으로부터 20봉 이전일 때만 박스 생성으로 조건 추가. (and) 1~60봉 전을 20~60봉 사이 최저가 대비 10퍼센트 저가가 상승시 박스 생성. N봉중 최저가가 20봉 이내로 가까이 있으면 제외, 멀 때만 생성. 일부만 수정이 안되면 전체를 20봉 이전 조건 추가 등 무관. 감사합니다.
프로필 이미지
고성
2024-01-12
937
글번호 175670
지표
답변완료

문의 드립니다

안녕하세요 1.국선장 시작부터 피보나치 2.해선장 시작부터 피보나치 3.항생장 시작부터 피보나치을 적용하려고 합니다 각 시장 시작시간부터 장종료때까지 피보나치가 나타나고 각 수열은 변경 가능하게 하고 싶습니다 4. 국선 야간장 시가,고가,저가선을 다음날 주간장에 표시하고 싶습니다 감ㅅ합니다
프로필 이미지
만강
2024-01-12
641
글번호 175667
지표

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

프로필 이미지
2wnwn
2024-01-12
8
글번호 175666
지표
답변완료

수식추가

if Data1(CrossUp(C,ma(C,60))) and Data2(C>ma(C,5)) Then Buy(); if Data1(CrossDown(C,ma(C,60))) and Data2(C<ma(C,5)) Then Sell(); 안녕하세요 숫자 60.5를 전면에서 조정할수 있게 해주세요. input
프로필 이미지
아트정
2024-01-12
913
글번호 175665
시스템
답변완료

수식요청

30분봉에서 지수 5이평이 볼밴(60,2) 하한선을 상향돌파하는 수식을 연구해봐도 안됩니다. 간단히 수식 부탁할까요?
프로필 이미지
ksks
2024-01-12
899
글번호 175664
종목검색
답변완료

시스템 스위칭 오류 수정 문의 드립니다.

항상 많은 도움 감사드립니다. 시스템식에서 스위칭이 이루어질때 결과 보고서 상의 거래내역에는 문제없이 체크가 되지만 실제 거래에서는 오류가 발생되어 시스템 수정에 대하여 문의 드립니다. 어제 올리신 분의 경우와 비슷한 경우이긴 한테 차이가 있어서 한번 검토부탁드립니다. 오류 내역은 위에 나와 있는 세번째 그림에 나와 있구요..시스템식은 아래와 같습니다. If MarketPosition == 0 && 조건 A then Sell ("매도",atmarket,def,2); If MarketPosition <= 0 && 조건 B then buy ("매수",atmarket,def,2); if IsEntryName("매도") == true Then { ExitShort("dp5",AtLimit,EntryPrice-25,"",1,1); if 조건 A-1 Then ExitShort("매도정리",atmarket,def,"매도"); } if IsEntryName("매수") == true Then { ExitLong("Sp4",AtLimit,EntryPrice+35,"",1,1); if 조건B-1 Then ExitLong("매수정리",atmarket,def,"매수"); } 두번째 그림에 있는 시스템 보고서의 거래내역이 제대로 실행되는 내역이구요. 세번째 그림에서의 실제 거래 내역의 오류를 보면 if 조건 A-1 Then ExitShort("매도정리",atmarket,def,"매도"); 위에 있는 분할청산 시스템식이 조건이 충족되어서 매수 접수(exitlong)를 발생시켰는데 계약이 체결되기 전에 If MarketPosition <= 0 && 조건 B then buy ("매수",atmarket,def,2); 위의 매수 2계약 접수를 진행시켜 오류가 났으며 결국 이 매수는 진행되지 않았습니다. 2번째 그림의 시스템 보고서상에는 문제없이 거래가 종료되었으나 실제로는 if IsEntryName("매수") == true Then { { ExitLong("Sp4",AtLimit,EntryPrice+35,"",1,1); if 조건B-1 Then ExitLong("매수정리",atmarket,def,"매수"); 위의 "매수"에 대한 분할청산 건 매도 2건이 미체결약정으로 남아 있는 상태입니다. 만일에 예수금이 3,4개의 계약이 가능한 상황이었다면 위와 같은 오류가 나지 않았을 것이라는 것은 알고 있습니다. 2계약에 해당되는 예수금을 가지고 위와 같은 오류가 발생하지 않게 하려면 시스템식을 어떻게 수정해야 할까요? 아니면 시스템 매매 설정에서 보완할 수 있는 방법이 있을까요?
프로필 이미지
비정성시
2024-01-12
1282
글번호 175662
시스템

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

프로필 이미지
회원
2024-01-12
0
글번호 175659
지표
답변완료

지표 질문입니다

20 캔들 천정에서 7번째 캔들 저가를 표시한다 20 캔들 바닥에서 7번째 캔들 고가를 표시한다 감사합니다
프로필 이미지
para
2024-01-11
997
글번호 175658
지표