커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식문의

안녕하세요 하시 수식에서 추가사항이 있어서 문의 드립니다. 검토 부탁드립니다. 하기 수식에서 봉완성후가 아니라, 칼라가 바뀌면 바로 진입할 수는 없는지요? 실제 적용을 해보니, 봉완성후로 진입되면 대부분 큰 변동이 발생한 후 진입하게 됩니다. 칼라가 바뀌는 시점에서 바로 진입하게 부탁드립니다. 감사합니다. input : P(20); var1 = ma(c,P); var2 = var1-var1[1]; if var2 >= PriceScale*10 Then var3 = 1;#plot1(var2,"등락",RED); Else if var2 < PriceScale*10 and var2 > 0 Then var3 = 2;#plot1(var2,"등락",magenta); else if var2 <= 0 and var2 > -PriceScale*10 Then var3 = -1;#plot1(var2,"등락",clay); Else if var2 <= -PriceScale*10 Then var3 = -2;#plot1(var2,"등락",blue); if crossup(var3,0) Then buy(); if CrossDown(var3,0) Then sell();
프로필 이미지
softtoug
2018-06-26
193
글번호 120067
시스템
답변완료

수식 수정 부탁드립니다.

1차든 2차든 3차든 매수후에 매도가 진행되어 모든 물량이 0 이되면 그날 다시 1차 또는 2차 또는 3차 매수가 아무것도 일어나지 않게 하고 싶습니다. 1차매수후 5% 까지 올랐다가 다시 2%까지 수익이 떨어지면 전량 매도 2차매수 가격에서 5%까지 올랐다가 다시 2%까지 수익이 떨어지면 전량 매도 3차매수 가격에서 5%까지 올랐다가 다시 2%까지 수익이 떨어지면 전량 매도 추가 하고 싶습니다. input : 투자금액(10000000),투자비율1(40),투자비율2(30),투자비율3(30); input : P1(10),P2(14); var : count(0),sumV1(0),sumV2(0); var : mav1(0),mav2(0); var : m1(0),m2(0),m3(0),dd(0); sumV1 = 0; sumV2 = 0; for count = 0 to P2{ if count < P1 Then sumV1 = sumV1+DayClose(count); if count < P2 Then sumV2 = sumV2+DayClose(count); } maV1 = sumV1 / P1; maV2 = sumV2 / P2; m1 = 투자금액*(투자비율1/100); m2 = 투자금액*(투자비율2/100); m3 = 투자금액*(투자비율3/100); if bdate != bdate[1] Then { dd = dd+1; } if MarketPosition == 0 and Condition1 == false and L < mav1 Then { buy("b1",AtLimit,mav1,Floor(m1/mav1)); } if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then { Condition1 = false; Condition2 = false; if MaxEntries == 1 Then var1 = dd; } if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "bl1" Then Condition3 = true; if MaxEntries == 1 and L > mav2 Then buy("b2",AtLimit,mav2,Floor(m2/mav2)); if MaxEntries == 2 Then { buy("b3",AtLimit,LatestEntryPrice(0)*0.95,Floor(m3/LatestEntryPrice(0)*0.95)); } if MaxEntries == 3 then { if Condition3 == false then ExitLong("bl1",AtStop,LatestEntryPrice(0)*0.95,"",Floor(MaxContracts*0.5),1); ExitLong("bl2",AtStop,LatestEntryPrice(0)*0.90); } if Condition1 == false then { ExitLong("bp1",atlimit,AvgEntryPrice*1.05,"",Floor(MaxContracts*0.5),1); } if Condition2 == false then { ExitLong("bp2",atlimit,AvgEntryPrice*1.10,"",Floor(MaxContracts*0.5),1); } ExitLong("bp3",atlimit,AvgEntryPrice*1.15); if NextBarSdate > sdate and dd >= var1+4 Then exitlong("bx",AtMarket); } Else { Condition3 = false; }
프로필 이미지
부자청년28
2018-06-26
199
글번호 120062
시스템
답변완료

수식수정부탁드립니다

#,아래수식을 분봉에 적용했을때는 이상이 없는데요 틱봉에 적용할경우에는 시간이 경과됨에도 구름때의 포지션이이 원래와 다르다보니 주기적으로 바꿔줘야하는 불편함이 있습니다 왜일까요 점검부탁드립니다. Inputs: shortperiod(9), midperiod(26), longperiod(52); Variables: 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0); 전환선 = (Highest(High, shortperiod) + Lowest(Low, shortperiod)) / 2; 기준선 = (Highest(High, midperiod) + Lowest(Low, midperiod)) / 2; 선행스팬1 = (전환선 + 기준선) / 2 ; 선행스팬2 = (Highest(High, longperiod) + Lowest(Low, longperiod)) / 2; Plot1(선행스팬1," 선행스팬1"); Plot2(선행스팬2, "선행스팬2"); /* 지표속성창 차트표시탭 선행스팬1 수평이동 +25 선행스팬2 수평이동 +25 *? 언제나 늘 고맙습니다.
프로필 이미지
회원
2018-06-26
231
글번호 120047
지표
답변완료

이동평균선 주문

안녕하세요. 20일 이동평균선을 지지 및 저항선으로 매매하려고 합니다. 예를 들어 이전에 20일 이동평균선을 하향 돌파한 상태(이동평균선 기준 25틱 이상 하락: 값 0.0025)에서 다시 20일 이동평균선으로 반등하고 있는 중에 20일 이동평균선에서 2틱 아래(값: 0.0002)에 매도 주문을 내고자 합니다. 그리고 그 주문값은 20일 이동평균선 값이 바뀌면 계속 수정되었으면 합니다. 더불어 매도가격에서 10틱(값: 0.001) 상승하면 손절하고 싶습니다. 반대로 매도가격에서 20틱(값: 0.002) 하락하면 익절하고 싶습니다. 수식을 어떻게 구성하는지 부탁드립니다. 감사합니다.
프로필 이미지
BSW
2018-06-26
240
글번호 120046
시스템
답변완료

문의드립니다.

문의 1번. 안녕하세요. 다음과 같은 형태의 검색식을 작성해봤는데 원하는 대로 검색이 안되네요. 수식 확인 부탁드립니다. 감사합니다. * 60봉 동안 최고-최저가 20% 이내 * 종가 위치가 박스권의 하단 25% 이내 * 60봉 중 상단(20%) 부분에서 종가가 5회 이상 위치 * 60봉 중 하단(20%) 부분에서 종가가 5회 이상 위치 Variables : count1(0),count2(0), HH(0), LL(0), H_count(0), L_count(0); input: 날짜(20100101); HH = Highest(C[1],60); LL = Lowest(C[1],60); H_count = AccumN(iff(C > (HH -LL)*3/4 + LL, 1,0),60) ; L_count = AccumN(iff(C < (HH -LL)*4 + LL, 1,0),60) ; If HH <= LL * 1.2 and C < LL + (HH-LL) / 4 and H_count >=5 and L_count >=5 Then value1 = C; Else value1 = 0; Find(Value1); -------------------------------------------------------------------------------------- 문의 2번. 2차 매수 관련 문의 * 1차 매수 시 매수가와 직전 30봉의 최저가 체크 * 2차 매수는 1차 매수가(종가)와 직전 30봉 최저가(종가)의 차이에 따라서 변경됨 ** 최저가가 매수가 대비 -15% 이내일 경우 2차 매수 금지 ** 최저가가 매수가 대비 -15~ -20% 이내일 경우 crossdown(C, 1차매수가 * 0.85)하는 봉의 종가에서 2차 매수 ** 최저가가 매수가 대비 -20 ~ -30% 이내일 경우 crossdown(C, 1차매수가 * 0.80)하는 봉의 종가에서 2차 매수 ** 최저가가 매수가 대비 -30% 이상 벌어진 경우 2차 매수 금지 파란 원 부분에서 2차 매수가 나와야할 것 같은데 안나왔습니다. 수식 검토 부탁드립니다. 감사합니다. low30 = lowest(C,30); ma_min = min(ma(c,5), ma(c,10),ma(c,20), ma(c,60), ma(c,120)); MessageLog("%.2f %.2f %.2f %.2f %.2f", edate, low30, LatestEntryPrice, low30_no, low30_no); if 조건 만족 then { buy("b"); edate = entrydate; } ////추가 매수 If CurrentEntries == 1 and edate == EntryDate then { If low30 > LatestEntryPrice * 0.85 Then { low30_no = 1; } else If low30 <= LatestEntryPrice * 0.85 and low30 > LatestEntryPrice * 0.8 Then { low30_no = 2; } else If low30 > LatestEntryPrice * 0.7 Then { low30_no = 3; } Else { low30_no = 4; } } If CurrentEntries == 0 then edate = 0; if sdate >= 날짜 and currententries == 1 Then { If low30_no == 1 Then { } else If low30_no ==2 Then { if L<= latestentryprice * 0.85 then {buy("b2(-15%)",AtMarket,def);} } else If low30 == 3 Then { If L <= avgentryprice * 0.8 Then { buy("b2(-20%)",AtMarket,def);} } Else {}// 30% 이하찍으면 2차 매수 안함 }
프로필 이미지
깜피
2018-06-26
251
글번호 120045
시스템
답변완료

박스돌파후 지지

박스돌파 후 지지되는 종목 검색식을 부탁합니다. 일단 박스는 다음과 같이 정의 합니다. input된 기간 (예를 들어 40일)의 최고값과 최저값을 박스로 정의하고, 이 박스의 최고/최저는 20% 이하로 정의 합니다. 1. 이런 박스가 5~7일전에 돌파되고 5~7일 후에 박스의 고점에서 지지되는 종목 검색식 2. 박스를 정의하는 다른 방법이 있으면 같이 감안해서 반영해 주시면 감사하겠습니다. 예를 들면 박스는 3%이내의 2개의 고점과 3%이내의 2개의 저점으로 정의할 수도 있겠는데... 이런 경우 그 2개의 고점과 저점들을 어떻게 찾아낼 지 잘 모르겠습니다만, 이런 생각은 어떤가요. 주어진 기간의 반이 20일이므로 20일 전을 기준으로 20봉의 최고 초저를 찾고 현재봉을 기준으로 20봉의 최고 최저를 찾아서 최고끼리는 3%이내, 최저끼리도 3%이내로 정의하면 어떨까요... 이런 방법으로 박스를 정의하고 이 박스를 5~7전에 돌파하고 5~7일 후에 고점에서 지지되는 검색식. 위와 같은 검색식을 부탁드립니다.
프로필 이미지
회원
2018-06-26
238
글번호 120044
종목검색

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

프로필 이미지
깜피
2018-06-26
0
글번호 120043
검색
답변완료

문의드립니다

수고하십니다. 선물차트에서 하루장이 시작해, 최고점에서 최저점까지 "현재 몇틱이나 움직였는지" 틱수를 우측 또는 좌측상단에 표기되었으면 합니다. 부탁드립니다.
프로필 이미지
na1005
2018-06-26
205
글번호 120042
지표
답변완료

식좀 여쭤봅니다.ㅎ

안녕하세요? 질문 58331번의 답변중에 아래와 같은 부분이 있는데요 if MarketPosition == 0 and Condition1 == false and L < mav1 Then { buy("b1",AtLimit,mav1,Floor(m1/(c*0.98))); 여기에서 Floor(m1/(c*0.98))); 이부분의 의미가 어떤건지 모르겠어서 여쭤봅니다.
프로필 이미지
부자청년28
2018-06-26
223
글번호 120039
시스템