커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁드립니다.

아래 지표에서 골든 데드크로스 날때 매수진입 청산 매도진입 청산이 동시에 이루어지도록 부탁드립니다. var1 = Ma(c,5); if var1 < var1[1] and var1[1] > var1[2] Then plot1(L); Else NoPlot(1); if var1 > var1[1] and var1[1] < var1[2] Then plot2(H); Else NoPlot(2);
프로필 이미지
매일상승
2015-06-24
119
글번호 87598
시스템
답변완료

39717 관련해서

답변2 진입식답변내용중 주간장시스템진입식은 buy("b",AtStop,OO[0]+(HH[1]-LL[1])*0.3); OR sell("s",AtStop,OO[0]-(HH[1]-LL[1])*0.3) 으로만 코딩하면되는데 복합장시스템에서 if HH[1] > 0 and LL[1] > 0 Then{ if HH[0] < OO[0]+(HH[1]-LL[1])*0.3 Then 를 추가하는 이유가 머죠 ? 주석과함께 설명부탁드립니다 주간장 9시-15시 야간장 2100-023000 일때 진입 조건식을 If BONGINDEX>1 AND time<020000 and entrcnt<1 then { buy("B1", AtStop, BPS+Drange); bps= 첫봉종가 sell("S1", AtStop, BPS-Drange);} 로 작성하니 신호가 저녁12시지나서만 나옵니다 .. 참고로 dayoen 이 야간장시초가 (2100) 를 나타내고 일봉시가는 2100시초가 일봉종가는 다음날1500시종가로 해서 일봉이한개그려지네요//확인부탁 중국상품선물 은종목입니다 0900시를 장시작으로보고 023000 을 장 마감으해서 0900-0230 을 하루거래구간으로 .. 오전9시 시가 혹은 첫봉종가 + (전일0900에서0230사이고가 - 전일0900에서0230사이저가)를 전일변동폭으로해서 0230에 청산하면 기존 주간장데이시스템에 야간장데이타를 추가한거로 바도 되는건가요 ?
프로필 이미지
CSI300
2015-06-24
122
글번호 87597
시스템
답변완료

배열의 평균

배열변수의 평균을 구하는 방법이 있나요? 시계열변수의 경우, 그냥 ma(변수, 기간) 으로 바로 계산이 가능한데, 배열변수는 어떻게 평균값을 계산하는지 궁금합니다. 이를테면,,, 다음과 갈은 배열이 있다고 했을때, array: tmp[10](0); 요놈의 평균을, 다음과 같이 계산하려고 하면 오류가 나더라고요 ma(tmp, 10); 아니면 for문을 이용해서, 일일이 계산해야할까요?
프로필 이미지
gem763
2015-06-24
141
글번호 87595
사용자 함수
답변완료

문의드립니다

안녕하세요. 수식을 만들었는데 무엇이 잘못되서 그런지 실행이 되지않읍니다. 보시고 간단하게 줄일것은 줄이고 틀린것은 수정부탁드립니다. 감사합니다. ###################### Input : af(0.01), maxAF(0.1),shortPeriod(12), longPeriod(26),shortPeriod1(24), longPeriod1(52),shortPeriod2(20), longPeriod2(120); Var : value(0),value1(0),value2(0),value3(0),value4(0),T(0),HH(0),LL(0),ma5(0); Var : value5(0), value6(0), value7(0), 갭누적(0), 일간갭(0), GC(0),TRIXGap(0),osc(0) ; value = sar(af,maxAF); value1 = MACD(shortPeriod, longPeriod); value2 = MACD(shortPeriod1, longPeriod1); value3 = ma(c, shortPeriod2); value4 = ma(c, longPeriod2); ##PAR조건 If crossup(c, value) Then { var1 = H; var2 = L; var3 = var1[1]; var4 = var2[1]; } If CrossDown(c, value) Then { var1 = H; var2 = L; var3 = var1[1]; var4 = var2[1]; } if H > var1 Then var1 = H; if L < var2 Then var2 = L; if H > var5 Then var5 = H; if L < var6 Then var6 = L; if crossUp(C, value) then var8 = var4; if CrossDown(C, value) then var9 = var3; if crossup(ma(c,5),var9) Then var10 = var8; if crossdown(ma(c,5),var8) Then var10 = var9; if crossup(ma(c,5),var10) then var5= h; if crossdown(ma(c,5),var10) then var6= l; if crossup(ma(c,5),var10) then var7= var6; if crossdown(ma(c,5),var10) then var7= var5; var11 =var6 + (var5-var6)*0.5; If crossup(c, value) Then { var12 = H; var13 = L; } If CrossDown(c, value) Then { var14 =h; var15= l; } if var12 > var14 then var16 = var12; Else var16 = var14; if var13 < var15 then var17 = var13; Else var17 = var15; ##cut loss if ma(c,5) > var7 Then var18 = var17; Else var18 = var16; ##trix if index > 0 and date!=date[1] then { 일간갭 = Open-Close[1]; //일간갭 갭누적 = 갭누적+일간갭; //일간갭 누적 } GC = C - 갭누적; value5 = ema(GC, shortPeriod); value6 = ema(value5, shortPeriod); value7 = ema(value6, shortPeriod); TRIXGap = (value7-value7[1])/value7[1]*100; OSC = trixgap; ##진입식 if T <= 0 and ma5 > var7 and value1 > 0 and value2 > 0 and value3 > value4 and C > var11 and osc > osc[1] And crossup(c,value) Then{ T = 1; HH = H; } if T >= 0 and ma5 < var7 and value1 < 0 and value2 < 0 and value3 < value4 and C < var11 and osc < osc[1] And CrossDown(c,value) Then{ T = -1; LL = L; } if T == 1 and crossup(C,HH) Then buy("매수"); if MarketPosition == 1 and value1 < 0 and osc < 0 and ma5 < var18 Then ExitLong("매수청산"); if T == -1 and CrossDown(C,LL) Then sell("매도"); if MarketPosition == -1 and value1 > 0 and osc > 0 and ma5 > var18 Then ExitShort("매도청산");
프로필 이미지
베드로
2015-06-24
126
글번호 87594
시스템
답변완료

수식 부탁드려요.

예를들어 MACD 가 MACD Signal 선을 골든크로스 했을때. 1번 수식 2계약 진입. 1계약은 진입 후 20틱 수익일때 청산 나머지 1계약은 30틱 수익후 10틱으로 내려오면 청산 40틱 수익후 15틱으로 내려오면 청산 50틱 수익후 20틱으로 내려오면 청산 2번 수식 프라이스 채널 지표를 이용했을때 프라이스채널 상단을 터치하고 다음봉 음봉으로 전환되면 매도 진입. 반대로 하단을 터치하고 양봉으로 전환되면 매수진입. * 그리고 매수 매도 진입시 진입명을 정할 수 있는데. 진입한 진입가도 표시되게 할 수 있는 방법좀 부탁드립니다. 항상 감사합니다.
프로필 이미지
찬찬히
2015-06-24
129
글번호 87586
시스템
답변완료

지표식 작성간 로직문의

지표식 작성중에 문법로직에 대한 문의가 발생하여 문의드립니다. 원하는 지표는 다음과 같습니다. 1. 20일선 하향이탈 100건을 배열에 담는다. 2. 배열을 뒤져서 현재봉의 종가 또는 시가와 가장 근접한 봉의 위쪽, 봉의 아래쪽 값 두개를 찾아서 Plot으로 그려준다. 아래는 소스입니다. Input: 일선1(5), 일선2(20); Var: 종가변곡점2(0), Cnt(0), Cnt1(0), Cnt2(0), 상위값(0), 하위값(0), Array: 변곡발생[100](0), AA[100](0); // 100개의 20일선 하향이탈을 기록한다. If (CrossDown(C, 일선2)) Then { 종가변곡점2 = (O + C) / 2; 변곡발생[0] = 종가변곡점2; For Cnt = 1 To 100 { 변곡발생[Cnt] = 변곡발생[Cnt -1][1]; } } For Cnt1 = 0 To 99 { AA[Cnt1] = Abs(C[1] - 변곡발생[Cnt1]); MessageLog("인덱스: %f, 배열: %.2f", Cnt1, AA[Cnt1]); } 하위값 = AA[0]; 상위값 = AA[0]; For Cnt2 = 0 To 99 { If (AA[Cnt2] < 하위값) Then { 하위값 = AA[Cnt2]; } } MessageLog("하위값: %.2f", 하위값); //Plot3(상위값, "저항선", RED, DEF, 3); Plot4(하위값, "지지선", BLUE, DEF, 3);
프로필 이미지
가락국수
2015-06-24
152
글번호 87585
지표
답변완료

시스템 수식 부탁드립니다.

코스피 200선물옵션 분봉에서 당일 5분봉 종가에서 위 or 아래 0.5 실시간(mit)진입 익절 0.5 손절 0.5로하고 당일청산 하고싶습니다. 저번에도 한번 부탁드렸는데... 시가에서 0.5로 되어있드라구용 5분봉 종가에서 0.5로 부탁드리겠습니다.~
프로필 이미지
마이웨2
2015-06-24
119
글번호 87581
시스템
답변완료

수식부탁드립니다.

if stime < 095900 then{ var1 = dayhigh; var2 = daylow; } if stime >= 095900 Then{ if crossup(c,var1) Then buy(); if CrossDown(c,var2) Then sell(); } SetStopLoss(0.6,PointStop); SetStopProfittarget(0.8,PointStop); SetStopEndofday(150000); 진입을 mit진입 하고싶습니다. (실시간 진입)
프로필 이미지
마이웨2
2015-06-24
112
글번호 87580
시스템

부득탐승 님에 의해서 삭제되었습니다.

프로필 이미지
부득탐승
2015-06-24
0
글번호 87578
시스템