커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

신호추가

아래는 수식지왕님이 블로그에 올려주신 당일파동선입니다. http://yahoosir.blog.me/150182371951 이 파동선의 변화에 따른 신호를 추가할수있을까요..?
프로필 이미지
에이텍
2014-02-21
196
글번호 72801
시스템
답변완료

조건식 검토 부탁드립니다.

안녕하세요. 아래조건대로 시스템식 만들려고 하는데요. 적용해보니 에러가 나고 이해가 안되는 부분이 있습니다. #===== 설명 부탁(아래 내용 이해 불가) ==# 부터 설명좀 부탁드립니다. 좋은하루 되세요. 감사합니다. ------------------ 조 건 계 산 식 ------------------- 금일 시가>전일 종가 ------------------- 목표 고가=(전일고가+전일종가+2*전일저가)/2-전일저가 목표 저가=(전일고가+전일종가+2*전일저가)/2-전일고가 금일 시가<전일 종가 ------------------- 목표 고가=(2*전일고가+전일종가+전일저가)/2-전일저가 목표 저가=(2*전일고가+전일종가+2*전일저가)/2-전일고가 금일 시가=전일 종가 -------------------- 목표 고가=(전일고가+2*전일종가+전일저가)/2-전일저가 목표 저가=(전일고가+2*전일종가+전일저가)/2-전일고가 ====================================================== 시가에 디마크 목표 고가와 목표 저가의 폭의 일정 비율을 가감해서 돌파 전략으로 사용한다. ====================================================== Input: len(2.7), len1(0.37); var : var1(0), var2(0), var3(0), cond1(false),cond2(false); If open > close[1] Then { { Var1 = (high[1] + close[1] + 2 * low[1]) / 2 - low[1]; Var2 = (high[1] + close[1] + 2 * low[1]) / 2 - high[1]; } Else if open < close[1] Then { Var1 = (2 * high[1] + close[1] + low[1]) / 2 - low[1]; Var2 = (2 * high[1] + close[1] + low[1]) / 2 - high[1]; } Else { Var1 = (high[1] + 2 * close[1] + low[1]) / 2 - low[1]; Var2 = (high[1] + 2 * close[1] + low[1]) / 2 - high[1]; } } Var3 = (Var1 - var2); #===== 설명 부탁(아래 내용 이해 불가) ==# Cond1 = tdate = exitdate(1) And position(1) = 1; Cond2 = tdate = exitdate(1) And position(1) = -1; If stime < 150000 Then { If Cond1 == False Then { buy("매수1", Atstop, Def, open + var3 * len1); } } If Cond2 = False Then { sell("매도1", Atstop, Def, open - var3 * len1); } If position <> 0 Then { exitlong("매수청산", Atstop, hhv(1, high, barnumsinceentry + 1) - atr(20) * len); exitshort("매도청산", Atstop, llv(1, low, barnumsinceentry + 1) + atr(20) * len); }
프로필 이미지
바람날개
2014-02-21
199
글번호 72797
시스템
답변완료

for 문 사용법 문의

항상 신속하고 상세한 답변 주셔서 많은 도움을 받고 있습니다. 감사합니다. 제가 아직도 배열과 for문에 대해서 잘 이해 하지 못하고 있습니다. for 와 배열을 사용해서 아래의 소스 길이를 줄이고 싶은데 잘안되는 군요! //@@@@@@@ <= 이 표시된 부분부터 //@@@@@@@ <= 이 표시된 부분까지 간소화하는 방안 좀 부탁드립니다. ------- 아 래 -------- //■■■옵션 여러개 var : 콜내기준(4.85), 콜외기준(3.5), 풋내기준(6.85), 풋외기준(2.5); var : 순번(0), 콜내V(0), 콜외V(0), 풋내V(0), 풋외V(0); array : 콜[23](0), 풋[23](0), 콜V[23](0), 풋V[23](0); //@@@@@@@ 콜[1] = data2(C); 풋[1] = data2(C); 콜[2] = data3(C); 풋[2] = data3(C); 콜[3] = data4(C); 풋[3] = data4(C); 콜[4] = data5(C); 풋[4] = data5(C); 콜[5] = data6(C); 풋[5] = data6(C); 콜[6] = data7(C); 풋[6] = data7(C); 콜[7] = data8(C); 풋[7] = data8(C); 콜[8] = data9(C); 풋[8] = data9(C); 콜[9] = data10(C); 풋[9] = data10(C); 콜[10] = data11(C); 풋[10] = data11(C); 콜[11] = data12(C); 풋[11] = data12(C); 콜[12] = data13(C); 풋[12] = data13(C); 콜[13] = data14(C); 풋[13] = data14(C); 콜[14] = data15(C); 풋[14] = data15(C); 콜[15] = data16(C); 풋[15] = data16(C); 콜[16] = data17(C); 풋[16] = data17(C); 콜[17] = data18(C); 풋[17] = data18(C); 콜[18] = data19(C); 풋[18] = data19(C); 콜[19] = data20(C); 풋[19] = data20(C); 콜[20] = data21(C); 풋[20] = data21(C); 콜[21] = data22(C); 풋[21] = data22(C); 콜[22] = data23(C); 풋[22] = data23(C); 콜[23] = data24(C); 풋[23] = data24(C); 콜V[1] = data2(V); 풋V[1] = data2(V); 콜V[2] = data3(V); 풋V[2] = data3(V); 콜V[3] = data4(V); 풋V[3] = data4(V); 콜V[4] = data5(V); 풋V[4] = data5(V); 콜V[5] = data6(V); 풋V[5] = data6(V); 콜V[6] = data7(V); 풋V[6] = data7(V); 콜V[7] = data8(V); 풋V[7] = data8(V); 콜V[8] = data9(V); 풋V[8] = data9(V); 콜V[9] = data10(V); 풋V[9] = data10(V); 콜V[10] = data11(V); 풋V[10] = data11(V); 콜V[11] = data12(V); 풋V[11] = data12(V); 콜V[12] = data13(V); 풋V[12] = data13(V); 콜V[13] = data14(V); 풋V[13] = data14(V); 콜V[14] = data15(V); 풋V[14] = data15(V); 콜V[15] = data16(V); 풋V[15] = data16(V); 콜V[16] = data17(V); 풋V[16] = data17(V); 콜V[17] = data18(V); 풋V[17] = data18(V); 콜V[18] = data19(V); 풋V[18] = data19(V); 콜V[19] = data20(V); 풋V[19] = data20(V); 콜V[20] = data21(V); 풋V[20] = data21(V); 콜V[21] = data22(V); 풋V[21] = data22(V); 콜V[22] = data23(V); 풋V[22] = data23(V); 콜V[23] = data24(V); 풋V[23] = data24(V); //@@@@@@@ 콜내V = 0; 콜외V = 0; 풋내V = 0; 풋외V = 0; for 순번 = 1 to 23 { if 콜[순번] > 콜내기준 then 콜내V = 콜내V + 콜V[순번]; if 콜[순번] < 콜외기준 then 콜외V = 콜외V + 콜V[순번]; if 풋[순번] > 풋내기준 then 풋내V = 풋내V + 풋V[순번]; if 풋[순번] < 풋외기준 then 풋외V = 풋외V + 풋V[순번]; } //== 모두 plot11(콜내V, "콜내");
프로필 이미지
스퍼트시커
2014-02-21
180
글번호 72795
지표
답변완료

검색

안녕하세요 상한가후 날자와관계없이 이후 상한가날의 캔들의 중앙지점이나 최저점을 이탈하는 종목검색식부탁합니다 예을들어서 상한가후 이틀후에 내려올수도있구 한달뒤에도 내려올수도 있갰죠
프로필 이미지
질갱이
2014-02-21
174
글번호 72790
종목검색
답변완료

부탁합니다.

Input : shortPeriod(1), longPeriod(20) ; Var : value(0); value = OSCP(shortPeriod, longPeriod); # 매수/매도청산 If CrossUP(value, 0) Then { Buy(); Exitshort(); } 볼린저 밴드 상단을고가가상향돌파시 다음봉에따른다 # 매도/매수청산 If CrossDown(value, 0) Then { Sell(); Exitlong(); } 볼린저 밴드 하단을저가가하항돌파시 다음봉에따른다
프로필 이미지
큰바위얼굴
2014-02-21
130
글번호 72789
시스템
답변완료

검색식부탁합니다

과거20일간 평균거래량1.5배 < 오늘거래량 오늘봉은 양봉이고 60일이평 상향돌파
프로필 이미지
ho2350
2014-02-21
118
글번호 72788
검색
답변완료

검색식부탁합니다

과거20일간 평균거래량1.5배 < 오늘거래량 오늘봉은 양봉이고 60일이평 상향돌파
프로필 이미지
ho2350
2014-02-21
114
글번호 72787
검색
답변완료

부탁합니다

Input : shortPeriod(1), longPeriod(20) ; Var : value(0); value = OSCP(shortPeriod, longPeriod); # 매수/매도청산 If CrossUP(value, 0) Then { Buy(); Exitshort(); } 볼린저 밴드 상단을종가가상향돌파시이익실현한다 # 매도/매수청산 If CrossDown(value, 0) Then { Sell(); Exitlong(); } 볼린저 밴드 하단을종가하항돌파시이익실현한다
프로필 이미지
큰바위얼굴
2014-02-21
125
글번호 72786
시스템
답변완료

문의드립니다.

35062 번 글에 답변 달아주신 것에 대해서 의문점이 하나 있어서 질문드립니다. 그&#46468; 답변 달아주신 아래 수식대로라면 신호발생시 시장가로 바로 진입하나요 하니면 신호 발생한 그 포인트에 지정가로 진입하나요? 만약 시장가로 바로 진입한다면 지정가로 진입하게는 어떻게 하는지, 만약 신호발생한 그 포인트로 지정가로 진입한다면, C 개 캔들동안 체결이 안되었을 시에는 주문 취소 들어가게 할 수 있는지(체결이 안되었을 시 주문 취소되고 다음 신호 발생시 신호대로 진입). 가능하다면 수식 수정좀 부탁드리겠습니다. 감사합니다. var : T1(0),T2(0),T3(0),T4(0),T5(0); var : X(0),W(0),cnt(0),count(0),NP(0),PreNP(0),dayPL(0); input : dayentry(4),당일손실(-1.4),loss(100),Profit(100); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } NP = NetProfit; if date != date[1] Then{ Condition1 = False; PreNP = NP[1]; } dayPL = (NP-PreNP)+PositionProfit; X = min(T1,T2,T3,T4); W = iff(T5[1]<T5,X,T5); if Condition1 == false and T1 > W and T1[1] <= W[1] and dayindex > 0 Then Condition1 = true; if Condition1 == false and T1 <= W and T1[1] > W[1] and dayindex > 0 Then Condition1 = true; if count < dayentry and dayPL > 당일손실 Then{ if T1 > W and dayindex > 0 and Condition1 == true Then{ if count == 0 or (count >= 1 and MarketPosition == -1) Or (Count >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) Then{ buy(); } } if T1 <= W and dayindex > 0 and Condition1 == true then { if count == 0 or (count >= 1 and MarketPosition == 1) Or (Count >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) Then{ sell(); } } } SetStopProfittarget(Profit,PointStop); SetStopLoss(loss,PointStop); SetStopEndofday(150000); if MarketPosition == 1 and T1 <= W Then ExitLong("daybx2",Atstop,EntryPrice+(당일손실-DayPL)); if MarketPosition == -1 and T1 > W Then ExitShort("daysx2",Atstop,EntryPrice-(당일손실-DayPL)); if MarketPosition == 1 and T1 <= W Then ExitLong(); if MarketPosition == -1 and T1 > W Then ExitShort();
프로필 이미지
마코
2014-02-21
137
글번호 72784
시스템