커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

한번 손절이 발생하면 다음 진입이 전혀 없습니다.

해외 크루드오일 틱 챠트로 시스템 거래중입니다. 챠트 설정은 한국시간으로 되어 있습니다. 손절이 발생하면 다음 거래를 멈추도록 진입이 설정되어 있다보니, 한번 손절이 발생하면 다음 진입이 전혀 없습니다. 손절 발생 후 챠트설정 시간대(한국)의 자정 까지 단 하루만 다음 진입을 않고 익일 부터는 거래를 계속하도록 수식을 변경하고 싶습니다. 현재 수식은 다음과 같읍니다. Condition1 = MarketPosition == 0 and MarketPosition(1) == 1 and IsExitName("StopLoss",1); Condition2 = MarketPosition == 0 and MarketPosition(1) == -1 and IsExitName("StopLoss",1); if 조건-1 and Condition1 == false Then buy("buy-조건-1"); ######################### if 조건-2 and Condition2 == false Then sell("sell-조건-1");
프로필 이미지
우후훗
2016-08-18
136
글번호 101131
시스템

고박사122 님에 의해서 삭제되었습니다.

프로필 이미지
고박사122
2016-08-18
52
글번호 101126
지표
답변완료

행복; 시스템식 작성 바랍니다

한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 시스템식 관련입니다 <조건> - 10일전 상한가 이고 - 오늘 거래대금이 1 억원 이상인 경우 - 종가에 매수하고 - 내일 종가에 매도 를 << 아래 >>와 같이 작성하면 되는지요? ====<< 아래 시작 >>=================================== 이 시스템식은 예스스탁 홈페이지에 있는 수식작성 Q&A 45671( 40일전 상한가 종목검색식) 을 응용한 것입니다 input : N(10); var : 상한가(0), UpLimit(0); var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0); if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else if date >= 20050328 and date < 20150615 Then UpLimit = (BP[0] * 1.15); Else UpLimit = (BP[0] * 1.30); if CodeCategory() == 2 then { if date >= 20030721 then { up1 = int(UpLimit/100+0.00001)*100; up2 = int(UpLimit/100+0.00001)*100; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/10+0.00001)*10; up7 = int(UpLimit/1+0.00001)*1; } } Else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } if CodeCategory() == 1 || CodeCategory() == 2 then { if sdate < 20101004 Then{ If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up6); } Else{ If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up7); } } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = up6; } } If H[N] >= 상한가[N] and M >= 100000000 Then{ buy("b", onclose); var1 = index; } If Index == Var1 + 1 Then ExitLong("s", OnClose, def, "b"); ====<< 아래 끝 >>=================================== 수고하십시요^^
프로필 이미지
행복한가방
2016-08-18
154
글번호 101125
시스템
답변완료

수식 수정 좀 부탁드려요

수식 위에서 아래로 3번째 줄이 아래와 같이 멘트가 뜨네요 1열 멘트는 "문법에러, 잘못된 토큰: name, 올 수 있는것; 9열 예약어 "Data2"는 입력 변수나 변수, 배열, 함수로 선언 할 수 없습니다. 라고 멘트가 뜨네요 참고로 data2는 달러 인덱스 입니다. 그래서 또 검증에 실패 했어요! 왜 이러는 걸까요???? Input : period(12), period1(2), atrperiod(10), atrs1(6); var : Value(0) Value = Data2(StochasticsK(period, period1)); # 매수/매도 청산 If CrossUp(value, 20) Then // DX의 스토캐스틱 K가 20선을 상향 돌파하면 { buy("매수"); } If MarketPosition == 1 Then // 매수포지션 상태에서 { ExitLong("매수청산", AtStop, Highest(H, BarsSinceEntry)-atr(atrperiod)*atrs1); } # 매도/매수 청산 If CrossDown(value, 80) Then // DX의 스토캐스틱 K가 80선을 하향 돌파하면 { sell("매도"); } If MarketPosition == -1 Then // 매도포지션 상태에서 { ExitShort("매도청산", AtStop, Lowest(L, BarsSinceEntry)+atr(atrperiod)*atrs1); } SetStopLoss (3,Pointstop); //3포인트 손절
프로필 이미지
qha71
2016-08-18
189
글번호 101124
시스템
답변완료

시간설정에 관한식 문의

원유재고 발표 시간인 수요일 한국시간 23시 25분에서 0시 20분까지는 매매를 하지 않는 수식 부탁합니다. 즉 1. 수요일 23시 25분에 포지션 모두 청산. 0시 20분에 시스템 가동 2. 월물 마감일인 매월 18일 0시에는 매매 끝.
프로필 이미지
Pooh
2016-08-18
153
글번호 101123
시스템
답변완료

부탁해요

전일의 고가저가를 당일에만 나타나도록 부탁합니다.
프로필 이미지
오동도물개
2016-08-18
135
글번호 101122
지표
답변완료

문의합니다

nh트레이더를 사용하려 합니다 자동매매에서 틱봉 960틱으로 로직을 구현하려 하는데 틱봉도 가능한지요
프로필 이미지
남산
2016-08-17
120
글번호 101121
시스템
답변완료

문의드립니다.

수정하여 주셨던 수식을 적용하였으나 전일 매수, 당일 매도 후 당일 b1,b2 재매수가 이루어집니다. 1. 매매횟수 제한이 이루어지지 않습니다. 2. 매도 당일 이전에 매수신호가 나온 b1,b2를 인식하지 못합니다. 따라서 당일 매도가 이루어져도, 당일은 매수신호 b1이 나오지 않았기 때문에 count < N 가 성립하여 매수가 되는 듯 합니다. 3. 매수가 언재 이루어지던지, 당일 매도가 나온 경우에는 당일 매수하지 않는 방법을 찾고자 합니다. 감사합니다. 이전 문의 및 답변내용 --------------------------- 안녕하세요 예스스탁입니다. b2는 추가진입식인에 신호타입이 atlimit으로 되어 있습니다. 완성봉에서 value4값을 셋팅하고 다음봉에서 해당 값 이하의 시세가 발생하면 즉시신호가 발생합니다. 수식에서 포지션등은 신호발생후 봉이 완성이 되어야 인지됩니다. 청산과 b2진입이 동시 셋팅되므로 b2조건에 청산조건이 만족하지 않은 봉에서만 셋팅되게 아래와 같이 조건을 추가하셔야 합니다. input : N(1); var : AA(0),BB(0),CC(0); var : TF(0),VV(0),VH(0),VH1(0),upv(0); var : cnt(0),count(0); count = 0; for cnt = 0 to 20{ if sdate ==EntryDate(cnt) Then count = count+1; } AA = (highest(H,5760)+lowest(L,5760))/2; BB = Highest(H,1800); var1 = NthHighestBar(1,H,1800); CC = lowest(L,var1); value1 = (((BB-AA)/5)*0)+AA; value2 = (((BB-AA)/5)*1.5)+CC; Value5 = AA-(((BB-AA)/5)*3); TF = dayindex%15; if date != date[1] then{ VV = 0; VH = 0; VH1 = VH[1]; } if (TF < TF[1] and date == date[1]) Then VV = 0; VV = VV +V; if VV > VH Then VH = VV; if stime < 091500 Then value3 = VH; value4 = AA-(((BB-AA)/5)*1); if (stime >= 090300 and value3 <= VH1) or (stime >= 141500) then{ if MarketPosition == 0 and CrossDown(c,value1) and count < N Then if ((dayopen > DayClose(1)*0.98) or (dayopen <= DayClose(1)*0.98 and stime >= 141500)) then buy("b1"); if MarketPosition == 1 and MaxEntries == 1 and !Crossup(c,value2) and !CrossDown(c,value5) and !((c<Value5) and (stime < 090300 or stime>=144800)) Then buy("b2",atlimit,value4); } if crossup(c,value2) Then ExitLong(); if CrossDown(c,Value5) Then ExitLong("bx1",onclose,def,"b1"); if (c<Value5) and (stime < 090300 or stime>=144800) Then ExitLong("bx2",onclose,def,"b2"); 즐거운 하루되세요 > 사과쥬스 님이 쓴 글입니다. > 제목 : 매매횟수 제한 검토 부탁드립니다. > 아래수식에 당일 매수,매도 횟수가 1회로 제한하는 수식이 포함된 것으로 아는데 시스템 적용시 당일 매도후 다시 매수하는 경우가 생깁니다. 검토 부탁드립니다~ -아래- input : N(1); var : AA(0),BB(0),CC(0); var : TF(0),VV(0),VH(0),VH1(0),upv(0); var : cnt(0),count(0); count = 0; for cnt = 0 to 20{ if sdate ==EntryDate(cnt) Then count = count+1; } AA = (highest(H,5760)+lowest(L,5760))/2; BB = Highest(H,1800); var1 = NthHighestBar(1,H,1800); CC = lowest(L,var1); value1 = (((BB-AA)/5)*0)+AA; value2 = (((BB-AA)/5)*1.5)+CC; Value5 = AA-(((BB-AA)/5)*3); TF = dayindex%15; if date != date[1] then{ VV = 0; VH = 0; VH1 = VH[1]; } if (TF < TF[1] and date == date[1]) Then VV = 0; VV = VV +V; if VV > VH Then VH = VV; if stime < 091500 Then value3 = VH; value4 = AA-(((BB-AA)/5)*1); if (stime >= 090300 and value3 <= VH1) or (stime >= 141500) then{ if MarketPosition == 0 and CrossDown(c,value1) and count < N Then if ((dayopen > DayClose(1)*0.98) or (dayopen <= DayClose(1)*0.98 and stime >= 141500)) then buy("b1"); if MarketPosition == 1 and MaxEntries == 1 Then buy("b2",atlimit,value4); } if crossup(c,value2) Then ExitLong(); if CrossDown(c,Value5) Then ExitLong("bx1",onclose,def,"b1"); if (c<Value5) and (stime < 090300 or stime>=144800) Then ExitLong("bx2",onclose,def,"b2");
프로필 이미지
사과쥬스
2016-08-17
129
글번호 101120
시스템
답변완료

지표 부탁 드리겠습니다

수고 많으십니다. 2가지 지표 부탁드립니다. 1)틱차트에서 렝코차트가격을 기초로 한 스토캐스틱을 구현하고싶습니다. 변화폭은 0.25로 그리고 외부변수로. 스토캐스틱은 9.5.5 기본으로 외부변수로. 2) 가.1번 지표에서 골든크로스 시 직전 골든크로스보다 위치가 높다면 빨간색 막대그래프 삽입 나.골든크로스 시 직전 골든크로스보다 위치가 낮다면 주황색 막대그래프 삽입 다. 데드크로스 시 직전 데드크로스보다 위치가 낮다면 파란색 막대그래프 삽입 라. 데드크로스 시 직전 데드크로스보다 위치가 높다면 파란색 막대그래프 삽입
프로필 이미지
짱구아빠1234
2016-08-17
133
글번호 101117
지표