커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

47620재문의 차트에 아무것도 나타나지 않습니다.

다시한번 검토바랍니다. 차트에 아무것도 나타나지 않습니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 시스템 문의드립니다. > 안녕하세요 예스스탁입니다. 1. INPUTS: LENGTH1(5),LENGTH2(20),LENGTH3(120),LENGTH4(180); VARS : DEMA1(0),DEMA2(0),DEMA3(0),DEMA4(0),Bcond(false),Scond(false); var1= EMA(C,LENGTH1); value1= EMA(EMa(C,LENGTH1),LENGTH1); var2= EMA(C,LENGTH2); value2= EMA(EMa(C,LENGTH2),LENGTH2); var3= EMA(C,LENGTH3); value3= EMA(EMa(C,LENGTH3),LENGTH3); var4= EMA(C,LENGTH4); value4= EMA(EMa(C,LENGTH4),LENGTH4); DEMA1 = var1 * 2 - value1; DEMA2 = var2 * 2 - value2; DEMA3 = var3 * 2 - value3; DEMA4 = var3 * 2 - value3; Bcond = DEMA1 > DEMA2 and DEMA2 > DEMA3 and DEMA3 > DEMA4; Scond = DEMA1 < DEMA2 and DEMA2 < DEMA3 and DEMA3 < DEMA4; if Bcond == true and bcond[1] == false Then buy(); if MarketPosition == 1 and CrossDown(DEMA1,DEMA3) Then ExitLong(); if Scond == true and Scond[1] == false Then sell(); if MarketPosition == -1 and CrossUp(DEMA1,DEMA3) Then ExitShort(); 2 INPUTS: LENGTH1(5),LENGTH2(20),LENGTH3(120),LENGTH4(180); VARS : DEMA1(0),DEMA2(0),DEMA3(0),DEMA4(0),Bcond(false),Scond(false); var1= EMA(C,LENGTH1); value1= EMA(EMa(C,LENGTH1),LENGTH1); var2= EMA(C,LENGTH2); value2= EMA(EMa(C,LENGTH2),LENGTH2); var3= EMA(C,LENGTH3); value3= EMA(EMa(C,LENGTH3),LENGTH3); var4= EMA(C,LENGTH4); value4= EMA(EMa(C,LENGTH4),LENGTH4); DEMA1 = var1 * 2 - value1; DEMA2 = var2 * 2 - value2; DEMA3 = var3 * 2 - value3; DEMA4 = var3 * 2 - value3; Bcond = DEMA1 > DEMA2 and DEMA2 > DEMA3 and DEMA3 > DEMA4; Scond = DEMA1 < DEMA2 and DEMA2 < DEMA3 and DEMA3 < DEMA4; if Bcond == true and bcond[1] == false Then buy(); if Scond == true and Scond[1] == false Then sell(); 즐거운 하루되세요 > 마르시아 님이 쓴 글입니다. > 제목 : 시스템 문의드립니다. > 안녕하세요? 수고하십니다. DEMA3개선에 1개선을 더 추가해서 신호발생을 하고자합니다. DEMA 1번(5)일선 2번(20)일선 3번(120일선 4번(180일선) 1.매수신호: 1번,2번,3번,4번이평 정배열시 매수신호 발생 매수신호청산:1번(5)이평이 3번(120)이평을 데드크로스하면 매수청산 매도신호: 1번,2번,3번,4번 이평 역배열시 매도신호 발생 매도신호청산:1번(5)이평이 3번(120)이평을 골든크로스 하면 매도청산 2.매수신호: 1번,2번,3번,4번이평 정배열시 매수신호 발생 매도신호: 1번,2번,3번,4번이평 역배열시 매도신호 발생 시스템 매매 설정에서 변수를 편집할수있게해주세요.
프로필 이미지
마르시아
2016-05-10
98
글번호 97911
시스템
답변완료

지표 수식저장

pc 포멧시 현수식을 그대로 사용하고자 합니다 타 증권사 hts같이 서버에 저장하고 다시 불러오기가 가능한가요 아니면 다른 방법이 있으면 알려주세요 감사합니다
프로필 이미지
만강
2016-05-10
118
글번호 97898
지표
답변완료

data 연계

* 항상 친철한 답변 고맙습니다. * 요청 사항 : data를 사용한 종합지수 연계 시스템 방법좀 알려 주십시요. * 해설 : input : sto1(10),sto2(5),short(12),long(26); var : stok(0),MACDV(0); stok = StochasticsK(sto1,sto2); MACDV = MACD(short,long); if stok > 50 and crossup(MACDV,0) Then buy(); 상기 수식을 사용할때 종합주가지수 코스피가 5포인트 이상오를때만 적용하고 싶습니다. 즉 코스피는 5포인트 이상 코스탁은 2포인트 이상(동시만족) 상승 할때 상기 매수 랭귀지 실행 * data 방법을 몰라 매번 부탁 드립니다. 고맙습니다.
프로필 이미지
요타
2016-05-10
91
글번호 97895
시스템
답변완료

47577재문의합니다.

47577재문의 합니다. 아래의 지표 4개 중에 1. 2개 만족시 매수매도 신호 발생요건에서 1개 캔들에서 2개의 매수매도 신호가 동시에 골든크로스나 데드크로스가 발생되어야만 매수매도 신호가 나오는데요 매수의경우 1개 지표가 골든크로스가 발생하고 다음캔들 그다음캔들 현재봉캔들 까지 합해서 3개봉캔들 사이에서 또 다른 지표가 골든크로스가 나타나면 매수 신호가 나오게 해주세요. 매도 신호는 그 반대로 해주시고요. 2. 3개 보조지표가 3개 봉캔들 사이에서 지표 3개가 골든크로스가되면 매수 신호발생 3. 4개 보조지표가 3개 봉캔들 사이에서 지표 4개가 골든크로스가되면 매수 신호발생 매도는 반대로 해주시고요 위의 3가지식 부탁드립니다. 시스템설정에서 변수 편집할 수 있게해주시고요. 감사합니다. 1. var1 = StochasticsK(12,5); var2 = StochasticsD(12,5,5); var3 = MACD(12,26); var4 = ema(var3,9); var5 = RSI(14); var6 = CCI(9); var7 = ema(var6,10); value1 = 0; if crossup(var1,var2) Then value1 = value1+1; if crossup(var3,var4) Then value1 = value1+1; if crossup(var5,30) Then value1 = value1+1; if crossup(var6,var7) Then value1 = value1+1; value2 = 0; if CrossDown(var1,var2) Then value2 = value2+1; if CrossDown(var3,var4) Then value2 = value2+1; if CrossDown(var5,70) Then value2 = value2+1; if CrossDown(var6,var7) Then value2 = value2+1; if value1 == 2 Then buy(); if value2 == 2 Then sell(); 2 var1 = StochasticsK(12,5); var2 = StochasticsD(12,5,5); var3 = MACD(12,26); var4 = ema(var3,9); var5 = RSI(14); var6 = CCI(9); var7 = ema(var6,10); value1 = 0; if crossup(var1,var2) Then value1 = value1+1; if crossup(var3,var4) Then value1 = value1+1; if crossup(var5,30) Then value1 = value1+1; if crossup(var6,var7) Then value1 = value1+1; value2 = 0; if CrossDown(var1,var2) Then value2 = value2+1; if CrossDown(var3,var4) Then value2 = value2+1; if CrossDown(var5,70) Then value2 = value2+1; if CrossDown(var6,var7) Then value2 = value2+1; if value1 == 3 Then buy(); if value2 == 3 Then sell(); 3 var1 = StochasticsK(12,5); var2 = StochasticsD(12,5,5); var3 = MACD(12,26); var4 = ema(var3,9); var5 = RSI(14); var6 = CCI(9); var7 = ema(var6,10); value1 = 0; if crossup(var1,var2) Then value1 = value1+1; if crossup(var3,var4) Then value1 = value1+1; if crossup(var5,30) Then value1 = value1+1; if crossup(var6,var7) Then value1 = value1+1; value2 = 0; if CrossDown(var1,var2) Then value2 = value2+1; if CrossDown(var3,var4) Then value2 = value2+1; if CrossDown(var5,70) Then value2 = value2+1; if CrossDown(var6,var7) Then value2 = value2+1; if value1 == 4 Then buy(); if value2 == 4 Then sell();
프로필 이미지
마르시아
2016-05-10
99
글번호 97894
시스템
답변완료

합성 시스템

귀사에서 제공하는 합성 시스템에 있는 cci-macd-dmi-stochastics 여기서 나오는 신호대로 진입하되 진입가의 상하 20틱사이에는 재진입을 안하고 손절이 날경우에는 손절남과 동시에 역포시션으로 진입하는 수식 부탁드립니다. 그리고 거래시간을 정할수 있는 수식도 부탁드립니다.
프로필 이미지
회원
2016-05-10
128
글번호 97892
사용자 함수
답변완료

부탁 드립니다.

42738번의 재질문 입니다. 답변 수식(2번 완성봉시)을 실행 해보면 유로화에서는 지표값이 0에서 2사이에서 변동하나 오일에서는 지표값이 0 에서 40 근처까지 변동 하여 정상적이지 않아 보입니다. 어떻게 하여야 하는 지요? 미리 감사와 경배 올립니다. 답변된 수식) Input: Atime(10),p1(5); Var: Cnt(0),HH(0),LL(0); var : count(0),sum1(0),mav1(0),sum2(0),mav2(0),TF(0); Array: tp[100](0), upv[100](0),dnv[100](0); Array : OO[100](0),CC[100](0); TF = TimeToMinutes(stime)%Atime; if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{ OO[0] = O; for cnt = 1 to 99{ OO[cnt] = OO[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1+1] > 0 and dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{ sum1 = 0; sum2 = 0; for count = 0 to P1-1{ sum1 = sum1+CC[count+1]; sum2 = sum2+CC[count+2]; } mav1 = sum1/P1; mav2 = sum2/P1; If (CC[1] < mav1 and CC[2] >= mav2) Then { tp[0] = (OO[1] + CC[1]) / 2; For Cnt = 1 To 99 { tp[Cnt] = tp[Cnt -1][1]; } } for cnt = 0 to 99 { if tp[cnt] >= C Then upv[cnt] = tp[cnt]; Else upv[cnt] = 2; if tp[cnt] <= C Then dnv[cnt] = tp[cnt]; Else dnv[cnt] = 0; } HH = 2; LL = 0; for cnt = 0 to 99 { if upv[cnt] < HH Then HH = upv[cnt]; if dnv[cnt] > LL Then LL = dnv[cnt]; } plot1(HH,"상승변곡"); plot2(LL,"하락변곡"); }
프로필 이미지
yes
2016-05-10
167
글번호 97885
지표
답변완료

타주기 적용 시스템변경

항상 감사드립니다 아래시스템식을 data1,data2로 나누어 타주기챠트에 적용할수 잇도록 수정해주시기 바랍니다. 진입 : 주챠트신호(1분봉) and 타주기 챠트(20틱) 청산 : 타주기챠트 #################### ###신거래선 기준 ### #################### if V == highest(V,240) Then var60 = (C+H+L)/3; #240거래선# ###################### ### 거래선_60 ######## ###################### var : upv1(0),upv2(0),upv3(0); var : dnv1(0),dnv2(0),dnv3(0); var : upv11(0),upv12(0),upv13(0); var : dnv11(0),dnv12(0),dnv13(0); var : upv21(0),upv22(0),upv23(0); var : dnv21(0),dnv22(0),dnv23(0); If V== highest(V,60) then{ Var71 = (C+H+L)/3; var72 = var71[1]; if var71 > var72 Then{ upv1 = var71; upv2 = upv1[1]; upv3 = upv2[1]; if upv1 > upv2 and upv2 > upv3 Then var70 = 1; } if var71 < var72 Then{ dnv1 = var71; dnv2 = dnv1[1]; dnv3 = dnv2[1]; if dnv1 < dnv2 and dnv2 < dnv3 Then var70 = -1; } } ################### ###### aroon ###### ################### input : Period10(20); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; Lowval= Lowest(Low, Period10+1); Highval = Highest(High, Period10+1); For counter= 0 To Period10 { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } DnAroon = 100*(Period10-DownVel)/Period10; UpAroon = 100*(Period10-UpVel)/Period10; ##################################### ##### 션샤인 보조_2호(macd_sar) ##### ##################################### input : short1(12),long1(26),signal1(9),af(0.02),maxaf(0.2); var : XX(0),YY(0); var7 = MACD(short1,long1);#MACD var8 = ema(var7,Signal1);#MACD sig var9 = sar(af,maxaf); #파라볼릭 if var7 > var8 Then{ if C > var9 Then XX = 6; Else XX = 2; } Else{ if var9 > C Then XX = -6; Else XX = -2; } if var7 > 0 Then YY = 10; Else YY = -10; if (XX+YY)>0 Then var12 = 1; # buy(); if (XX+YY)<0 Then var12 = -1; # sell(); ### 동일방향 재진입금지/전일 마지막신호와 무관하게 진입 ### var : entrycnt(0); if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then # 현지시간_뉴욕 17:00 장시작 # Entrycnt = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then Entrycnt = Entrycnt+1; if (stime >= 170000 or stime < 143000) Then{ # 현지시간_뉴욕 17:00 장시작~익일 14:30 장종료 # if ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)) and #동일방향 재진입금지# 매수조건 Then buy("B_30"); if ((entrycnt == 0) or (entrycnt >= 1 and MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) and #동일방향 재진입금지# 매도조건 Then sell("S_30"); } ############################### ##### 청산 시스템 ##### ############################### if MarketPosition == 1 and 타주기매도조건 then exitlong("eB_타주기"); if MarketPosition == -1 and 타주기매수조건 Then ExitShort("eS_타주기");
프로필 이미지
조민철
2016-05-10
115
글번호 97883
시스템

질갱이 님에 의해서 삭제되었습니다.

프로필 이미지
질갱이
2016-05-10
10
글번호 97880
시스템
답변완료

참조 데이터 사용하고싶습니다.

1.외국인 선물 순매수수량이 1000이상이고 2.금융투자 순매수금액이 개인 순매수금액보다 크면 3.가격이 20일선 돌파시 매수 적용방법(차트 셋팅방법) 부탁드립니다^^
프로필 이미지
시골소년
2016-05-10
101
글번호 97879
시스템