커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의

안녕하세요 이렇게하니까 처음에매수진입하여다시매도신호만나오고체결은안됩니다 제가원하는것은 1000에진입하여 -1000에스위칭되게부탁합니다 1000에진입한것을청산과동시에 -1000이니까매도로바로진입하는거죠 var : diff(0,data2); diff = data2(bids-asks); if crossup(diff,1000) Then buy(); if CrossDown(diff,-1000) Then sell(); 그리구 밑에수식 각각수정부탁합니다. 1. 하루에두번만진입(2회변수) 2. 하루수익10틱설정 첫번째진입하여10틱수익은청산과동시진입금지 손실시는두번째진입수익.손실청산진입금지(2회변수만진입) 3. 처음진입에익절하게되면실패할때까지진입한번이라도실패시진입금지(처음실패시에도진입금지) var : diff(0); diff = bids-asks; if crossup(diff,1000) Then buy(); if CrossDown(diff,0) Then exitlong(); if CrossDown(diff,-1000) Then sell(); if crossup(diff,0) Then ExitShort(); 너무감사합니다~~~~~...
프로필 이미지
질갱이
2016-06-15
95
글번호 99085
시스템
답변완료

추세선을 최근것만 그릴 수는 없을까요?

안녕하세요. 늘 감사합니다. 전에 알려주신 것으로 잘 사용하고 있습니다만, 첨부그림을 보면, 디마크 추세선이 모든 날에 그려져 있어서 컴퓨터 성능이 뒷받침되질 않아 종목을 다른종목으로 넘기면 느려지거나 예스트레이더가 멈추는 상황이 종종 있습니다. 그래서 말씀인데, 가장 최근의 추세선, 즉 오늘 추세선만 남겨놓거나, 아니면 지정하는 일자, 3일전까지만 또는 5일전까지만 등의 지정을 할 수 있을까요? 그 이전의 추세선은 그다지 의미가 없어서요. var : TL1(0),TL2(0); If DayClose(0) > DayOpen(0) Then { value1 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayHigh(0))/2-DayLow(0); value2 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayHigh(0))/2-DayHigh(0); } Else If DayClose(0) < DayOpen(0) Then { value1 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayLow(0))/2-DayLow(0); value2 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayLow(0))/2-DayHigh(0); } Else { value1 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayClose(0))/2-DayLow(0); value2 = (DayHigh(0)+DayLow(0)+DayClose(0)+DayClose(0))/2-DayHigh(0); } if date != date[1] Then { var1 = sdate; var2 = stime; var3 = var1[1]; var4 = var2[1]; TL_New(var3,var4,value1[1],sdate[1],stime[1],value1[1]); TL_New(var3,var4,value2[1],sdate[1],stime[1],value2[1]); } TL_Delete(TL1); TL_Delete(TL2); /*TL_SetColor(TL1, RED); TL_SetColor(TL2, BLUE); TL_SetSize(TL1, 3); TL_SetSize(TL2, 3); TL_SetColor(TL1, RED); TL_SetColor(TL2, BLUE);*/ TL1 = TL_New(var1,var2,value1,sdate,stime,value1); TL2 = TL_New(var1,var2,value2,sdate,stime,value2); TL_SetColor(TL1, RED); TL_SetColor(TL2, BLUE); TL_SetExtRight(TL1, True); TL_SetExtRight(TL2, True); TL_SetSize(TL1, 3); TL_SetSize(TL2, 3); 이걸 수정하고 싶습니다. 감사합니다.
프로필 이미지
트러스톤
2016-06-15
298
글번호 99084
지표
답변완료

수식부탁합니다.

안녕하세요? 수고하십니다. DEMA 1번(5)일선 2번(20)일선 3번(60)일선 4번(100)일선 1.매수신호: 1번,2번,3번,4번이평 정배열시 매수신호 발생 매도신호: 1번,2번,3번,4번 이평 역배열시 매도신호 발생 장시작시간 07시00분 부터 다음날 05시50분까지 익절20틱 손절20틱 시스템 매매 설정에서 변수를 편집 할수있게해주세요. 감사합니다.
프로필 이미지
마르시아
2016-06-15
110
글번호 99083
시스템

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

프로필 이미지
knb
2016-06-15
30
글번호 99082
지표

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

프로필 이미지
knb
2016-06-15
20
글번호 99081
지표
답변완료

수식 문의

안녕하세요 하기 문의 드립니다. 어떠한 수식에 의거하여 매수 또는 매도에 진입하였는데, 청산을 10틱기준으로 들어갈 수 있는지요? 예를 들어 오일을 48.50 에 매수에 들어갔는데 편차를 3틱 기준으로 3틱 이하이면 (ex 48.53) 48.50이 오면 청산하게되고 3틱이상이면 (ex 48.54) 48.60이되면 청산하게 부탁드립니다. 3틱 기준도 도달하지 못하고 내려가기 시작하면 48.45에 청산 가능하게 부탁드립니다. 같은 봉내에서 계속 상승하면 따라서 계속 적용될 수 있게 부탁드립니다. 청산이 되지 못하면 다음 봉으로 넘어가게 부탁드립니다. 대신 두번째 봉에서는 계속 손실이 나면 봉 완성시 강제 청산하는 옵션 부탁드립니다. 감사합니다.
프로필 이미지
softtoug
2016-06-15
106
글번호 99080
사용자 함수

곽민수 님에 의해서 삭제되었습니다.

프로필 이미지
곽민수
2016-06-14
8
글번호 99079
시스템
답변완료

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

안녕하세요. 신고가 조건을 수정하고 그에 따른 조건을 추가해보고 싶어 글 올립니다 항상 신경써주셔서 감사합니다!! 1 신고가 양봉돌파(O *1.03 < C) & 그 봉의 폭이 이전 최대폭보다 클때 폭계산 : 1 조건의 신고가 봉만 저가를 봉의 고가로 처리해서 폭계산(DIFF = HV-LV=0), 다음 신고가 돌파까지 1조건의 신고가봉만 저가를 H로 고정 다음봉 부터는 폭계산식 그대로 계산 진입 : 현재식 그대로 진입 2. 신고가 양봉돌파(O *1.03 < C) & 그 봉의 폭이 이전 최대폭보다 작을때 폭 계산: 폭계산식 그대로 계산 진입 : 현재식 그대로 진입 3. 신고가 음봉돌파(O *1.03 > C) 했을때 폭 계산 : 폭계산식 그대로 계산 진입 : 신고가 재돌파 시까지 진입금지 -------------------------------------------------------------------------------- input : P(20),시작날짜(20160108),매수1차(1000000),매수2차(1500000),매수3차(2000000); var : T(0),HH(0),Price1(0),Price2(0),Price3(0),diff(0),maxdiff(0),Lv(0),sum(0),mav(0),cnt(0),Hv(0),entry(false); var : dayhh(0),EnvelUp(0),Percent(20); sum = 0; dayhh = dayhigh(0); for cnt = 0 to P-1{ sum = sum+DayClose(cnt); if dayhigh(cnt) > dayhh Then dayhh = dayhigh(cnt); } mav = sum/P; EnvelUp = maV + maV * (Percent / 100); ######## 매수전 조건 ############## if sdate >= 시작날짜 then{ if crossup(L,mav) Then{ T = 1; diff = 0; maxdiff = 0; Condition1 = false; entry = false; } if CrossDown(H,mav) Then{ T = -1; Condition1 = false; entry = false; } ##### 신고가 조건 ############ if dayhh > dayhh[1] Then{ Condition1 = true; entry = true; Hv = H; Lv = L; } ######### 폭계산식 ############### if T == 1 and Condition1 == true Then{ if H > Hv Then Hv = H; if L < Lv Then Lv = L; diff = Hv-Lv; if diff > maxdiff Then maxdiff = diff; Price1 = Hv-maxdiff*1; Price2 = Hv-maxdiff*2; Price3 = Hv-maxdiff*3; } if MarketPosition == 1 Then entry = false; #가격이 하락해 1차매수가격 이하이면 매수 if MarketPosition == 0 and Condition1 == true and entry == true and L > mav and Hv >= Price1*1.025 Then buy("b1",atlimit,Price1,Floor(매수1차/C)); #가격이 하락해 2차매수가격 이하이면 매수 if MarketPosition == 1 and MaxEntries == 1 and Price2[BarsSinceEntry+1] > 0 Then buy("b2",atlimit,Price2[BarsSinceEntry+1],Floor(매수2차/C)); #가격이 하락해 3차매수가격 이하이면 매수 if MarketPosition == 1 and MaxEntries == 2 and Price3[BarsSinceEntry+1] > 0 Then buy("b3",atlimit,Price3[BarsSinceEntry+1],Floor(매수3차/C)); if MarketPosition == 1 Then{ #진입이후로 한번도 선 아래로 내려가지 않은경우 #진입이후 최저가에서 폭만큼 상승하면 청산 if countif(L<mav,BarsSinceEntry) == 0 Then ExitLong("bx1",atlimit,lowest(L,BarsSinceEntry)+maxdiff[BarsSinceEntry+1]); #진입이후로 20선 아래로 한번이상 내려간 경우 #진입이후 최저가에서 폭의 절반만큼 상승하면 청산 if countif(L<mav,BarsSinceEntry) >= 1 Then ExitLong("bx2",atlimit,lowest(L,BarsSinceEntry)+maxdiff[BarsSinceEntry+1]*0.5); #일괄매도 = 현재 20일 신고가 이후 최저가 + 최대폭(75%) ExitLong("일괄매도",atlimit,lowest(L,BarsSinceEntry)+maxdiff[BarsSinceEntry+1]*0.75); if MaxEntries == 2 Then exitlong("본절2",atlimit,(Price1[BarsSinceEntry+1]+Price2[BarsSinceEntry+1])/2); if MaxEntries == 3 Then exitlong("본절3",atlimit,Price2[BarsSinceEntry+1]); } }
프로필 이미지
kosto1
2016-06-14
105
글번호 99078
시스템
답변완료

문의드립니다.

수식 작성틀에 대해 문의드립니다. (자세히 작성해 주시면 감사하겠습니다.) 주식 거래인데요 매수조건1 = A조건 매수조건2 = B and C 매수조건3 = D or E 매수조건4 = F조건 처음 진입시, 1) Kospi 시장이 상승 (60일 이평 상향돌파)이면 매수조건1 또는 매수조건2에 진입하고 Kospi 시장이 하락 (60일 이평 하향돌파)이면 매수조건3에 진입하고 Kospi 시장이 횡보 (???)면 매수조건4에 진입한 후 2) 포지션이 있다면 다음봉(주봉) 종가에 청산 청산 시 상기 조건이 되는 종목을 동시에 매수 6) 계속 반복 거래... ※ 주봉 거래임 : 주봉을 띄어놓고 수식을 짜니 신호가 아주 엉망으로 나옵니다. 이럴 때 주봉은 참조로 하고 분봉으로 거래를 해야 하는 것인지...? 그러면 수식은 어떻게 변하는지... ※ 진입/청산은 상기 매수조건이 되면 그날 주봉의 종가에 필히 매수되도록 하고요 다음 주봉의 종가에 전주 매수한 종목은 팔고 또 곧바로 상기 조건에 맞는 진입이 이루어지도록 수식을 표현하고 싶습니다.
프로필 이미지
꺼치리
2016-06-14
102
글번호 99077
시스템