커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

진입금지 수식 부탁드립니다.

안녕하세요, 직전 거래가 profit 이었으면 5봉 동안은 진입 하지않고 6봉 이후로 진입, 진전 거래가 loss 였으면 10봉 동안은 진입 하지않고 11봉 이후로 진입 하는 수식 부탁드립니다. (간단하게 exitprice 와 barssinceexit 활용하여 작성하였는데, 시스템의 첫번째 거래신호가 아예 발생하지 않는 오류가 발생하였었습니다.) 감사합니다.
프로필 이미지
라면의비밀
2016-06-16
138
글번호 99129
시스템
답변완료

48215재질문입니다.

안녕하세요. 수고가 많습니다. 48215재질문입니다. 첨부파일처럼 DEMA 100이평선(4번째선)과 관계없이 매수 매도 신호가 발생합니다. 다시한번 검토바랍니다. 수고하세요.
프로필 이미지
마르시아
2016-06-16
139
글번호 99127
시스템
답변완료

시스템식 수정 문의드립니다.

안녕하세요. 전에 알려주신 것을 바탕으로 응용을 해보고 있는데 잘 안되는 부분이 있어 글을 작성하게 되었습니다. 항상 감사합니다!!! 두가지 문의드립니다 1. 한번의 신고가 구간에서는 한번 매도가 이루어 지면, 다음 신고가 까지 다시 진입하지 않음. 2. 매도가의 설정 매도가 = 신고가구간에서의 최저가 + 폭 입니다. 매수가와 폭설정은 제대로 되었습니다. 허나, 신고가 구간에서 최저가를 구하는 것을 모르겠습니다. 그부분도 추가해 주시면 정말 감사하겠습니다!!!! ----------------------------------------------------------------------------------- input : P(120),시작날짜(20160101),매수1차(1000000),매수2차(1500000),매수3차(2000000); var : kk(0),V0.5(0),V1(0),V2(0),V3(0); var : V4(0),ss(0),s1(0),dayhh(0),cnt(0),ll(0); var : entry(0),Price1(0),Price2(0),Price3(0); dayhh = dayhigh(0); for cnt = 0 to P-1{ if dayhigh(cnt) > dayhh Then dayhh = dayhigh(cnt); } ##### 신고가 조건 ############ if sdate >= 시작날짜 then{ if dayhh > dayhh[1] Then{ Condition1 = true; # entry==true; } #entry 함수를 넣으면 매수를 안함 # if O*1.03 < C then{ #entry == true; # } # 지표 설정식 ## if condition1 ==true then { #지표# var1 = highest(h,p); var2 = lowest(L,p); if var1[1] < var1 Then kk = (var1+var2)/2; V0.5 = var1-((var1-kk)/5)*1; V1 = var1-((var1-kk)/5)*2; V2 = var1-((var1-kk)/5)*3; V3 = var1-((var1-kk)/5)*4; V4 = var1-((var1-kk)/5)*5; #매도폭 ss = v2-v3 ; Price1 = v2; Price2 = v3; Price3 = v4; } } if MarketPosition == 1 Then entry == false; #가격이 하락해 1차매수가격 이하이면 매수 if MarketPosition == 0 and condition1 == true Then buy("b1",atlimit,Price1,Floor(매수1차/C)); #가격이 하락해 2차매수가격 이하이면 매수 if MarketPosition == 1 and MaxEntries == 1 and Price2 > 0 Then buy("b2",atlimit,Price2,Floor(매수2차/C)); #가격이 하락해 3차매수가격 이하이면 매수 if MarketPosition == 1 and MaxEntries == 2 and Price3 > 0 Then buy("b3",atlimit,Price3,Floor(매수3차/C)); if MarketPosition == 1 Then{ #진입이후 최저가에서 폭만큼 상승하면 청산 ExitLong("bx1",atlimit,lowest(L,BarsSinceEntry)+ss); if MaxEntries == 2 Then exitlong("본절2",atlimit,(Price1+Price2)/2); if MaxEntries == 3 Then exitlong("본절3",atlimit,Price2); }
프로필 이미지
단순점진일관
2016-06-15
125
글번호 99126
시스템
답변완료

부탁드립니다.

안녕하세요..머리숙여 감사드립니다. 1.전주.주봉고점라인 2.전주.주봉저점라인 3.전주.주봉중심라인 4.전일.일봉고점라인 5.전일.일봉저점라인 6.전일.일봉중심라인 7.전일장시작.시가라인 8.전일장마감.종가라인 9.전일야간장.고점라인 10.전일야간장.저가라인 11.전일야간장.중심라인 12.전일야간장.종가라인 13.당일장시작.시가라인 14.당일장마감.종가라인 15.당일고가라인 16.당일저가라인 17.당일고저의87.5%라인 18.당일고저의75.0%라인 19.당일고저의61.8%라인 20.당일고저의50.0%중심라인 21.당일고저의38.2%라인 22.당일고저의25.0%라인 23.당일고저의12.5%라인 수고하세요.감사합니다.꾸벅
프로필 이미지
보인다
2016-06-15
155
글번호 99125
지표
답변완료

문의드립니다

수식지왕 님의 지표 입니다 Input:length(5); Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); // 봉이 새로 생겼으므로 봉개수 관리하는 변수들의 봉개수 값 1씩 증가 For j = 0 To 9 { barArr[j] = barArr[j] + 1; } // 고점조건 = 현재 봉의 고가가 기간최고가이면서 최고가 갱신되었을 때; // 저점조건 = 현재 봉의 저가가 기간최저가이면서 최저가 갱신되었을 때; // 고점,저점조건 만족시 현재 봉의 고[저]가를 변수에 저장 Condition1 = Highest(H,length) == H and lastHiVal <> H; Condition2 = Lowest(L,length) == L and lastLoVal <> L; If Condition1 Then lastHiVal = H; If Condition2 Then lastLoVal = L; // 전환점구분 null값으로 초기화; turnPntBit = ""; // if 고점조건, 저점조건 동시 만족시 then // if 이전 고점,저점 범위를 모두 벗어났을 때 // 전환점구분 = 고저점; // else if 이전 고점을 갱신했다면 전환점구분 = 고점; // else if 이전 저점을 갱신했다면 전환점구분 = 저점; // else if 고점조건 만족하면 전환점구분 = 고점; // else if 저점조건 만족하면 전환점구분 = 저점; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; // if 전환점구분에 값이 있을 때만 then 아래 실행, 없으면 통과 If turnPntBit <> "" Then { // if 전환점구분이 고저점이면 then // 이전 파동은 연장시키고 아래에서 새로이 파동선을 추가토록 한다. If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } // if 신규 전환점구분이 현재(전환점배열 1번째)와 다르면 then // 배열값들을 이전값으로 Move; If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } // if 전환점구분이 바뀌었거나 또는 // (전환점구분은 안바뀌었는데 // (이전 고점보다 높은 고점이 발생했거나 또는 // 이전 저점보다 낮은 저점이 발생했으면)) then If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { // 값 배열에는 고점 또는 저점을 대입; // 봉개수 배열에는 0값 대입; // 전환점 배열에 전환점구분값을 대입; valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; // if 이전봉대비 전환점구분이 바뀌었다면 추세선 새로 그리고; // else 전환점구분이 안바뀌었으면 값만 바뀐거므로 추세선 연장; If turnPntArr[1][1] <> turnPntArr[1][0] Then TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2], sDate[barArr[1]],sTime[barArr[1]],valArr[1]); Else TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); } } TL_SetSize(TL1,4); TL_SetColor(TL1,GREEN); Plot1(Highest(H,length)); Plot2(Lowest(L,length)); ==================================== 위수식에서 문의를 좀드리겠습니다 추세가 딱 생기는 부분에 저점 , 고점 이라는 글씨를 추가할수있는지 궁금해서 여쭈어봅니다 즉 추세가 딱~하고 현제의 봉에 딱 되는순간 표시가되었으면합니다
프로필 이미지
곽민수
2016-06-15
292
글번호 99124
시스템

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

프로필 이미지
렉쳐
2016-06-15
13
글번호 99123
시스템
답변완료

수식요청드립니다.

안녕하세요. 연결선물 당일청산 피라미딩진입 시스템 수식에서 피리미딩 진입횟수 합계가 5EA 이후 진입부터 input : 수익금액(700000),진입횟수(5); 1. 현재 매수 포지션에서 발생한이익이(틱말고 금액기준) 70만원 시스템 합계수익 이후부터 최고수익금액에서 12% 밀리면 매수 익절 추적청산 2. 현재 매도 포지션에서 발생한이익이(틱말고 금액기준) 70만원 시스템 합계수익 이후부터 최고수익금액에서 12% 밀리면 매도 익절 추적청산 감사합니다.
프로필 이미지
dandy
2016-06-16
117
글번호 99122
시스템
답변완료

수식 재 문의 드립니다.

안녕하세요 제가 잘 몰라서... 제 생각을 예로 설명 드리겠습니다. 제 생각의 요지는 어떤 가격에 매수 또는 매도 진입하여 (손절은 생각하지 않고), 상승 또는 하락을 한다는 가정하에 최대한 추세대로 따라가기를 원합니다. 48.50 에 진입하여, 이 가격이 어디까지 올라갈지 모르겠으나 따라가는 방법을 취하되 10틱정도의 기준으로 청산하면서 따라갔으면 하는 것이 제 생각입니다. 추세만 따라간다는 가정하에(48.50 진입시) 최종가격이 절반(또는 특정숫자)을 기준으로 해서 48.55아래에 있으면 48.50으로 가서 청산되고,(만약 말씀하신대로 진입하자 마자 청산된다면 최초 진입 후 청산은 3틱 아래(매수)로 또는 위로(매도)해 주셨으면 합니다. 아니면 무조건 추세를 따라간다는 가정하에 최초진입은 청산없이 48.50 이상에서 진행된다고 가정하고 해 주시기 바랍니다.) 48.55 위에 있으면 48.60 쪽으로 가서 청산되게끔 하고 싶습니다. 48.60 이 되어도 마찬가지 조건이 성립되도록.. 그래서 추세를 따라가도록... 48.60 으로 올라간다면, 가격이 48.60 이 기준이되어 48.55 와 48.65 사이로 어디로 가든 도달하면 청산되게 하는 방법을 원합니다. 같은 방법으로 꾸준히 추세를 따라가다 최종적으로 청산되는 것이지요... 또는, 예스랭귀지 시스템처럼 최고가격대비 하락 시스템을 적용해서 프로그램을 했으면 합니다. 그것을 하려고 하니 실제에서는 차이가 많이 난다고 해서..(적용범위가 커야된다고 하셔서) 그냥 최고가격대비 방법처럼.. 10틱까지는 시장가격을 따라가고, 10틱 초과 부터는 몇 틱이면 몇 틱,몇 %면 몇 %으로 뒤따라 가면서, 청산될 수 있는 프로그램 부탁드립니다. 한 봉내에서 할 수 있는지 부탁드립니다.여러봉을 사용해도 무방합니다 손절은 예스랭귀지 손절 기능으로 하겠습니다. 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 문의 > 안녕하세요 예스스탁입니다. 문의하신 내용 정확히 이해하지 못했습니다. 48.50 에 매수진입후 3틱 이하이면 (ex 48.53) 48.50이 오면 청산하게 되면 진입하지 마자 청산이 됩니다. 진입된 가격이 해당 가격 아래입니다 좀더 자세한 내용 올려주시기 바랍니다 즐거운 하루되세요 > softtoug 님이 쓴 글입니다. > 제목 : 수식 문의 > 안녕하세요 하기 문의 드립니다. 어떠한 수식에 의거하여 매수 또는 매도에 진입하였는데, 청산을 10틱기준으로 들어갈 수 있는지요? 예를 들어 오일을 48.50 에 매수에 들어갔는데 편차를 3틱 기준으로 3틱 이하이면 (ex 48.53) 48.50이 오면 청산하게되고 3틱이상이면 (ex 48.54) 48.60이되면 청산하게 부탁드립니다. 3틱 기준도 도달하지 못하고 내려가기 시작하면 48.45에 청산 가능하게 부탁드립니다. 같은 봉내에서 계속 상승하면 따라서 계속 적용될 수 있게 부탁드립니다. 청산이 되지 못하면 다음 봉으로 넘어가게 부탁드립니다. 대신 두번째 봉에서는 계속 손실이 나면 봉 완성시 강제 청산하는 옵션 부탁드립니다. 감사합니다.
프로필 이미지
softtoug
2016-06-16
135
글번호 99121
사용자 함수
답변완료

전일 가격말고 당일 부터 계산 되어지게 하고 싶습니다.

Input : Period1(20); var : MAv1(0), NP1(0), MAv2(0), NP2(0); MAv1 = ma(C,Period1); MAv2 = data2(ma(C,Period1)); NP1 = (c-MAv1)/std(c,Period1); NP2 = data2((c-MAv2)/std(c,Period1)); Plot1(NP1, "정규화가격1"); Plot2(NP2, "정규화가격2"); 감사합니다.
프로필 이미지
Ttrader
2016-06-15
126
글번호 99117
지표