커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

검색식 부탁 드려요

1. 아래의 수식을 종목 검색식으로 부탁합니다. 수고하세요 조건 = Highest(H, L기간+R기간+1)==H(R기간); A=Valuewhen(1, 조건, H(R기간),1); short = EAVG(V, 5); long = EAVG(V, 10); osc = 100 * (short - long) / long; CROSSUP(C,A) && OSC>0 && OSC>OSC(1) ---------------- L기간 30 R기간 25 2. 위의 수식에 조건을 추가하여 종목검색식 부탁드려요. 조건 : 위의수식 + "0봉전~20봉전의 모든 종목"
프로필 이미지
일지매7
2025-03-10
328
글번호 188982
종목검색
답변완료

검색식 부탁 드립니다

C/C(Period)*100 지표조건 Period 12 분봉과 일봉에서 기준선 100돌파 종목 검색식 부틱드립니다 기준선 100 돌파시 주가 상승률 5%이하인 검색식도 가능한가요 가능하면 부탁 드립니다
프로필 이미지
님이랑
2025-03-11
336
글번호 188981
종목검색
답변완료

검색식 부탁드립니다

조건검색식 일봉 60분봉 5분봉 3가지로 부탁드립니다 A=Highest(H(1),기간)<H; B=Valuewhen(1,A,H); C=A*(비율/100); K=if(A,B,B+C); if(K<K(1),K,0) && C > O
프로필 이미지
대응
2025-03-10
367
글번호 188980
종목검색
답변완료

문의드립니다.

단계약이면 진입, 청산 로직이 어렵지 않은데 다계약은 좀 달라서 어렵습니다. 진입식에 따라 첫 진입봉에서 2계약 진입한 후 두번째 봉에서 첫 진입봉의 +-5틱에서 각각 1계약씩 진입하는 선물매매시스템에서 매수진입의 경우 첫 진입봉 다음 두번째 진입봉의 시가에서 50틱이 밀리게 되면 종가가 완성되기 전에 두번째 진입봉에서 진입한 수량만큼은 즉시 청산하고 싶습니다. 매도진입은 그 반대입니다. 미리 노고에 감사드립니다~
프로필 이미지
카르마다
2025-03-10
270
글번호 188979
시스템

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

프로필 이미지
didhddk
2025-03-10
42
글번호 188978
시스템
답변완료

종목 검색부탁드립니다.

1. 다음 수식의 종목 검색식 부탁드려요. S=sum(1); M5=ma(C,5); M20=ma(C,20); 상전=M5>M5(1) && M5(1)<M5(2); 하전=M5<M5(1) && M5(1)>M5(2); 상전S1=ValueWhen(1,상전,S); 상전S1_5=ValueWhen(1,상전,M5); 상전S1_20=ValueWhen(1,상전,M20); 하전S1=ValueWhen(1,하전,S); 하전S1_5=ValueWhen(1,하전,M5); 하전S1_20=ValueWhen(1,하전,M20); 상전S2=ValueWhen(2,상전,S); 상전S2_5=ValueWhen(2,상전,M5); 상전S2_20=ValueWhen(2,상전,M20); 순번조건 = 상전S1 > 하전S1 && 하전S1>상전S2; 전체조건 = 순번조건 && 상전S2_5 < 상전S2_20 && 하전S1_5 > 하전S1_20 && 상전S1_5 > 상전S1_20 && 하전S1_5 > 상전S1_5; 조건=전체조건 && !전체조건(1); 이격520=M5/M20*100-100; CrossUp(C,M5) && sum(조건,3)>0 &&//조건 or 조건(1) or 조건(2) 이격520 < 이격기준율 -------------- 이격기준율 3.5
프로필 이미지
일지매7
2025-03-10
308
글번호 188977
종목검색
답변완료

시스템 식 요청 드립니다.

안녕하세요 지난번에 도움을 주셔서 제가 생각한 시스템식을 작성하게 되었습니다. 그리고 분할매도 되었을때 평단에 대한 궁금증이 해소되지 않아 주말에 시스템식을 수정하였는데, 어려움이 있어 글을 남기게 되었습니다. 먼저 그림 1을 보시면, 중간에 분할익절된 후에 평단이 진입시점의 평단으로 올라가는 것을 볼수 있었습니다. 예를들어 4차 분할익절을 하였는데, 4차 익절 후 평단이 그대로 있어야 하는데 3차 진입 평단으로 올라가는것이였습니다. 그래서 아래와 같이 시스템식을 수정하였고, VAR9에 평단을 작성해서 넣어놨습니다. 수량이 늘었을때는 평단과 수량이 제대로 나오는데 그림 2번을 보시면 수량이 줄었을때는 평단이 안나오더라구요 수량이 늘었을때와 줄었을때 내부변수 VAR9가 서로 연동이 안되는 것 같았습니다 시스템식 수정 부탁드리겠습니다. -------------------------------------------- input : N(14),금액(2000000); input : 시작날짜 (20250109); Input : 기준선기간(120); Var : 기준선(0); var : cntt(0),H1(0),L1(0); var : cnt(0),sum(0),mav(0),DD(0); var : AP(0),TT(0),entry(False); var : LL(0),RR(0),rate(0); var : 저항(0), B1(0) ; Var : day(0),EntryDay(0),ddd(0),ED(0); var : sum1(0),sum2(0),sum3(0),avg4(0),avg5(0),avg6(0); #------------------------------------- if sDate >= 시작날짜 Then { if Bdate != Bdate[1] Then { entry = true; day = day+1; dd = dd+1; } } if TotalTrades > TotalTrades[1] Then entry = False; #------------------------------------- #------------------------------------- sum = 0; For cnt = 0 to N-1 { sum = sum + DayClose(cnt); } mav = (sum/N); #------------------------------------- #--------------------------------------- if (MarketPosition == 0) and (entry == true) and L > mav Then Buy("1차매수",AtLimit,mav,Floor(금액/min(NextBarOpen,mav))); if MarketPosition == 1 and L > EntryPrice*0.95 and CurrentEntries == 1 Then Buy("2차매수",AtLimit,EntryPrice*0.95,Floor(금액*1.15/min(NextBarOpen,mav))); if MarketPosition == 1 and L > EntryPrice*0.90 and CurrentEntries == 2 Then Buy("3차매수",AtLimit,EntryPrice*0.90,Floor(금액*1.2/min(NextBarOpen,mav))); if MarketPosition == 1 and L > EntryPrice*0.85 and CurrentEntries == 3 Then Buy("4차매수",AtLimit,EntryPrice*0.85,Floor(금액*1.25/min(NextBarOpen,mav))); if MarketPosition == 1 and L > EntryPrice*0.80 and CurrentEntries == 4 Then Buy("5차매수",AtLimit,EntryPrice*0.80,Floor(금액*1.3/min(NextBarOpen,mav))); if MarketPosition == 1 and L > EntryPrice*0.75 and CurrentEntries == 5 Then Buy("6차매수",AtLimit,EntryPrice*0.75,Floor(금액*1.35/min(NextBarOpen,mav))); #----------------------------------- if MarketPosition == 1 Then { #전봉대비 수량 감소(일부 청산발생을 위미) if CurrentContracts < CurrentContracts[1] Then { #최근 청산가 저장 var1 = LatestExitPrice(0); if LatestExitName(0) == "3%익절" Then Condition1 = true; if LatestExitName(0) == "4%익절" Then Condition2 = true; if LatestExitName(0) == "5%익절" Then Condition3 = true; if LatestExitName(0) == "7%익절" Then Condition4 = true; Var5 = CurrentContracts; Var6 = AvgEntryPrice; #Var8은 평단임 수량이 줄면 전에 평단 가져다 써야지. var9 = AvgEntryPrice[1]; } #전봉대비 수량 증가(진입발생) if CurrentContracts > CurrentContracts[1] Then { #Condition1~4는 False로 초기화 Condition1 = False; Condition2 = False; Condition3 = False; Condition4 = False; #진입횟수가 3회이하일때 #수량과 평단가 if CurrentEntries <= 3 Then { Var3 = CurrentContracts; Var4 = AvgEntryPrice; } #최근 진입시점까지의 수량과 평단가 #현재 수식에서는 사용되는 부분이 없습니다. 필요하실따봐 변수로 남겨드립니다. Var5 = CurrentContracts; Var6 = AvgEntryPrice; #Var9 Var9 = ((AvgEntryPrice[1]*CurrentContracts[1])+(LatestEntryPrice(0)*(CurrentContracts - CurrentContracts[1])))/ (CurrentContracts) ; } #현재 진입횟수가 3회 이하이고(1,2,3차 매수만 남은 상태) #3,4,5,7% 청산중 하나가 발생했으면 #종가가 3차매수까지의 평단가 이하로 내려오면 청산 if CurrentEntries <= 3 and (Condition1 == true or Condition2 == true or Condition3 == true or Condition4 == true) and C < Var4*1.007 then ExitLong("bx"); if Condition1 == False AND CurrentEntries <= 3 Then ExitLong("3%익절",AtLimit,Var6*1.03,"",Floor(Var3*0.2),1); if Condition2 == False AND CurrentEntries <= 3 Then ExitLong("4%익절",AtLimit,Var6*1.04,"",Floor(Var3*0.3),1); if Condition3 == False AND CurrentEntries <= 3 Then ExitLong("5%익절",AtLimit,Var6*1.05,"",Floor(Var3*0.4),1); if Condition4 == False AND CurrentEntries <= 3 Then ExitLong("7%익절",AtLimit,Var6*1.07,"",Floor(Var3*0.1),1); ExitLong("10%익절",AtLimit,Var6*1.10); //4차 이상 진입 if CurrentEntries >= 4 Then { //4차 이후의 평균 if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "4차매수" Then { avg4 = LatestEntryPrice(0); } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "5차매수" Then { avg5 = LatestEntryPrice(0); } if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "6차매수" Then { avg6 = LatestEntryPrice(0); } if CurrentEntries >= 4 Then ExitLong("4차매수익절",AtLimit,avg4*1.045,"4차매수"); if CurrentEntries >= 5 Then ExitLong("5차매수익절",AtLimit,avg5*1.045,"5차매수"); if CurrentEntries >= 6 Then ExitLong("6차매수익절",AtLimit,avg6*1.045,"6차매수"); } Else { avg4 = 0; avg5 = 0; avg6 = 0; } } Else#매수진입중이 아니면 { #변수 0으로 초기화 var1 = 0; Var2 = 0; } -------------------------------------------------
프로필 이미지
맴맴잉
2025-03-10
347
글번호 188975
시스템

파워 님에 의해서 삭제되었습니다.

프로필 이미지
파워
2025-03-10
244
글번호 188974
지표
답변완료

종목 검색부탁드립니다.

***아래 수식을 참고하여, 1. 수식1) 이 수식2) 를 돌파할때 종목 검색식 2. 수식1) 이 수식2) 를 돌파할때 종목 검색식(단, 0봉전~20봉전 모든종목) 3. 수식1) 이 수식2)의 위에 있을때 종목 검색식 4. 수식1) 이 수식2)의 위에 있을때 종목 검색식(단, 0봉전~20봉전 모든종목) 5. 수식1) 과 수식2) 가 골든크로스 전 초근접(0.5%이하)상태 종목 검색식 부탁드립니다. 감사합니다 -------아래------- 수식1) A=(C-lowest(C,period))/C*100; max(A,0) 수식2) B=(highest(C,period)-C)/C*100; max(B,0) ----- period 60
프로필 이미지
일지매7
2025-03-10
300
글번호 188973
종목검색