커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

안녕하세요

안녕하세요. 수고 많으십니다. 아래 수식은 지표식입니다. 아래 수식을 시스템식으로 부탁드립니다. 1). 1의 종가가 중심선 위로 갈때 매수 1의 종가가 중신선 아래로 갈때 매도 2). 아래&#160;수식에서&#160;매수신호&#160;후&#160;위로&#160;10틱씩&#160;진행시&#160;틱수(10틱).&#160;&#160;&#160;&#160; 매도신호&#160;후&#160;아래로&#160;진행시&#160;틱수(10)틱씩&#160;구현하고&#160;싶습니다 input : N(10),Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4); var : cnt(0),HH(0),LL(0); if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then{ Condition1 = true; HH = H; LL = L; } var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100)); var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100)); var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100)); var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100)); var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100)); plot1(HH,"H"); plot2(var1,"23.6"); plot3(var2,"38.2"); plot4(var3,"50.0"); plot5(var4,"61.8"); plot6(var5,"76.4"); plot7(LL,"L"); } 감사합니다. 수고 하세요.
프로필 이미지
탐라
2019-06-26
291
글번호 129749
지표
답변완료

캔들 20일선 상향돌파

캔들이 20일선 상향돌파하면 바로 시장가로 1계약만 매수되게 하는 수익은 어떻게 되나요. 알려주시면 감사하겠습니다.
프로필 이미지
100억번남
2019-06-25
291
글번호 129748
사용자 함수
답변완료

문의드립니다

스토캐스틱 (10,6,6) 기준으로 만드려고합니다 1. 15분봉, 5분봉 에서 둘 다 sto가 과매수 >= 80 이상이고 and 1분봉에서 sto[1] = 0 AND sto >= 5 이상이 되면 buy 손절, 청산은 1분봉 sto[1] - sto >= 10 차이 날 때 2. 1번과 반대조건 (과매도 <=20) 에 진입했을때 sell 서로 다른 시간 봉이라 잘 모르겠네요 ㅎㅎ 날도 더운데 건강조심하시구요 ^^ 항상 감사드립니다 :)
프로필 이미지
뚜비뚜밥
2019-06-25
283
글번호 129746
시스템
답변완료

문의드립니다.

안녕하세요 항상 많은 도움에 감사드립니다. 국내선물은 하이투자증권을, 해외선물은 유진투자선물을 이용하여 예스트레이더 전략에 대하여 모투를 진행중입니다. 그동한 해외선물만 하다가, 오늘 국내선물을 예스트레이더로 처음 시작했는데요, 청산 매매시 "접수오류( 주문가격이 하한가 미만입니다. 0)" 이렇게 오류가 발생합니다. 아마도 국선 시장가 청산 때문에 오류가 나는것 같습니다. 그게 맞는지 하는 질문 하나 이구요, 또하나는 모투 말고 실투에서도 국선에서 예스트레이더로 매매시에 시장가 매매는 안되는 것인지요? (예스랭귀지와 예스스팟을 이용하여 전략 구동중입니다.) 감사합니다.
프로필 이미지
워싱턴
2019-06-25
328
글번호 129745
시스템
답변완료

재문의

청산한후 추세를 따라하지 못해서 익절이던 손절이던 청산 값보다 10틱이상 크면 아직도 오실레이터 값이 만족한다면 재진입 하는 식을 추가 부탁 합니다 그리고 0 교차 보다 시그널 교차로 만들려면 If CrossUp(ZzOsc,0) Then Buy("B",AtMarket); If CrossDown(ZzOsc,0) Then sell("S",AtMarket); value1 = ma( C, Zzosc( )); ???? 어떻게 만드나요 Input:ChgRate(3); Var:Row(0),Col(0),hiBar(0),loBar(0),HiCond(False),LoCond(False), LastStat(0),WorkBit(0); Var:HA_C(0),HA_O(0),HA_H(0),HA_L(0); Var:ZzOsc(0); Array : HiZZ[10,4](0), // 열번호 1:가격,2:Index,3:sDate,4:sTime LoZZ[10,4](0); #==========================================# HA_C = (O+H+L+C)/4; If IsNaN(HA_O[1]) Then HA_O = O; Else HA_O = (HA_O[1]+HA_C[1])/2; HA_H = max(H,HA_O,HA_C); HA_L = min(L,HA_O,HA_C); If Index == 1 Then { HiZZ[1,1] = HA_H; HiZZ[1,2] = 0; HiZZ[1,3] = sDate; HiZZ[1,4] = sTime; LoZZ[1,1] = HA_L; LoZZ[1,2] = 0; LoZZ[1,3] = sDate; LoZZ[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HA_H[hiBar] < HA_H Then hiBar = 0; If HA_L[loBar] > HA_L Then loBar = 0; HiCond = LoZZ[1,1] * (1 + (ChgRate/100)) < HA_H and hiBar == 0; LoCond = HiZZ[1,1] * (1 - (ChgRate/100)) > HA_L and loBar == 0; WorkBit = 0; If HiCond and LoCond Then { If HiZZ[1,1] < HA_H and LoZZ[1,1] > HA_L Then { If HA_H - HiZZ[1,1] > LoZZ[1,1] - HA_L Then WorkBit = 1; Else If HA_H - HiZZ[1,1] < LoZZ[1,1] - HA_L Then WorkBit = -1; Else If LastStat == -1 Then WorkBit = 1; Else WorkBit = -1; } Else If LoZZ[1,1] > HA_L Then WorkBit = -1; Else If HiZZ[1,1] < HA_H Then WorkBit = 1; Else If LastStat == -1 Then WorkBit = 1; Else WorkBit = -1; } Else If HiCond Then WorkBit = 1; Else If LoCond Then WorkBit = -1; #==========================================# If WorkBit == 1 Then { If LastStat == -1 Then { For Row = 10 DownTo 2 { For Col = 1 To 4 { HiZZ[Row,Col] = HiZZ[Row-1,Col]; } } HiZZ[1,1] = HA_H; HiZZ[1,2] = Index; HiZZ[1,3] = sDate; HiZZ[1,4] = sTime; hiBar = -1; loBar = -1; } Else If HiZZ[1,1] < HA_H Then { HiZZ[1,1] = HA_H; HiZZ[1,2] = Index; HiZZ[1,3] = sDate; HiZZ[1,4] = sTime; hiBar = -1; loBar = -1; } LastStat = 1; } #==========================================# If WorkBit == -1 Then { If LastStat == 1 then { For Row = 10 DownTo 2 { For Col = 1 To 4 { LoZZ[Row,Col] = LoZZ[Row-1,Col]; } } LoZZ[1,1] = HA_L; LoZZ[1,2] = Index; LoZZ[1,3] = sDate; LoZZ[1,4] = sTime; hiBar = -1; loBar = -1; } Else If LoZZ[1,1] > HA_L then { LoZZ[1,1] = HA_L; LoZZ[1,2] = Index; LoZZ[1,3] = sDate; LoZZ[1,4] = sTime; hiBar = -1; loBar = -1; } LastStat = -1; } ZzOsc = HA_C - IFF(LastStat == -1,HiZZ[1,1],LoZZ[1,1]); If CrossUp(ZzOsc,0) Then Buy("B",AtMarket); If CrossDown(ZzOsc,0) Then sell("S",AtMarket); Input : BuyATRP(46),SellATRP(6),BuyATRS1(2.5),BuyATRS2(4.0),BuyATRS3(4.0),SellATRS1(3.5),SellATRS2(6.0),SellATRS3(6.0); Input : BuyStoploss(12), SellStoploss(6), BuyTrailing(5), BuyFloor(20), SellTrailing(5),SellFloor(8.5); Input:break(1.9),level(0.3),big(8),sbreak(1.9),slevel(0.3),sbig(8); var:진입후최고가(0),진입후최저가(0); If MarketPosition == 1 Then { 진입후최고가 = Highest(H,BarsSinceEntry + 1); ExitLong("매수추적",AtStop,진입후최고가 - ATR(BuyATRP) * BuyATRS1); ExitLong("매수변동성",AtStop,C - ATR(BuyATRP) * BuyATRS2); If 진입후최고가 >= Entryprice + ATR(BuyATRP) * break Then { ExitLong("매수손익분기",AtStop,Entryprice + ATR(BuyATRP) * level); ExitLong("매수추적1",AtStop,진입후최고가 - ATR(BuyATRP) * BuyATRS3); } If 진입후최고가 >= Entryprice + ATR(BuyATRP) * big Then { ExitLong("매수초과수익",AtStop,Lowest(L,3)); } SetStopLoss(BuyStoploss, PointStop); SetStopTrailing(BuyTrailing,BuyFloor,PointStop); } If MarketPosition == -1 Then { 진입후최저가 = Lowest(L,BarsSinceEntry + 1); ExitShort("매도추적",AtStop,진입후최저가 + ATR(SellATRP) * SellATRS1); ExitShort("매도변동성",AtStop,C + ATR(SellATRP) * SellATRS2); If 진입후최저가 <= Entryprice - ATR(SellATRP) * sbreak Then { ExitShort("매도손익분기",AtStop,Entryprice - ATR(SellATRP) * slevel); ExitShort("매도추적1",AtStop,진입후최저가 + ATR(SellATRP) * SellATRS3); } If 진입후최저가 <= Entryprice - ATR(SellATRP) * sbig Then { ExitShort("매도초과수익",AtStop,Highest(H,3)); } SetStopLoss(SellStoploss, PointStop); SetStopTrailing(SellTrailing,SellFloor,PointStop); } If MarketPosition == 0 Then { // 無포일 때 손절 설정을 clear 해야 만 오류가 안 생김 SetStopLoss(0, PointStop); SetStopTrailing(0, 0, PointStop); } If MarketPosition == 1 Then ExitLong("스파이크청산-1", AtLimit, C + ATR(20) * 7); // 상승돌파 시 매수청산 If MarketPosition == -1 Then Exitshort("스파이크청산+1", AtLimit, C - ATR(20) * 7); // 상승돌파 시 매도청산 Var:SpikeHigh(0), spikelow(0); If MarketPosition == 1 Then // 매수포지션일 때 { if MarketPosition != MarketPosition[1] Then { SpikeHigh = 10; // 초기화 Condition1 = false; } If Condition1 == false and // 스파이크 미발생 H > C[1] + ATR(20) * 7 Then // 전봉 종가보다 7 * ATR 이상 상승 { SpikeHigh = H; // 스파이크 고점 설정 Condition1 = true; // 스파이크 발생 } If Condition1 Then // 스파이크 발생 후 { If SpikeHigh < H then SpikeHigh = H; // 신규 고점 나오면 갱신 ExitLong("스파이크청산-2", AtStop, SpikeHigh - ATR(20) * 2); //추적청산처럼 꼭지 찍고 내려올 때 } } If MarketPosition == -1 Then { if MarketPosition != MarketPosition[1] Then { Spikelow = 10; // 초기화 Condition2 = false; } If Condition2 == false and L < C[1] - ATR(20) * 7 Then { Spikelow = H; Condition2 = true; } If Condition2 Then { If Spikelow > L then Spikelow = L; // 신규 고점 나오면 갱신 ExitShort("스파이크low청산-2", AtStop, Spikelow + ATR(20) * 2); } }
프로필 이미지
구다이전설
2019-06-25
295
글번호 129744
시스템
답변완료

수식작성부탁드립니다

매수진입 수식에 추가조건 작성 부탁 드립니다 가중이동평균 10일선이 가중이동평균 20일선을 상향 돌파시 가격기준으로 상향돌파시 가격 + 10틱 미만에서 매수 진입이 허용(이상의가격에서 매수진입 금지) 되도록 수식 작성 부탁드립니다.
프로필 이미지
뎅이요
2019-06-25
301
글번호 129743
시스템
답변완료

수식작성부탁드립니다.

선물 이용할거구요 TRIX신호로 매수매도 3계약진입하여 목표10틱씩 수익이 발생하면 1계약씩 청산 목표30틱나면 완전청산하는데.. 여기서 TRIX신호가 매수진입시 RSI신호가 매도신호로 나온다면 현재 포지션 전량처분하려고합니다. 가능할까요? 반대로 TRIX신호가 매도진입후 목표단위로 처분중 RSI신호가 매수가 뜨면 포지션 전량처분 이런식으로 가능할까요? 수식부탁드립니다.
프로필 이미지
김국장
2019-06-25
295
글번호 129742
시스템
답변완료

문의드립니다.

안녕하세요, 아래식에서 문의드리고자 합니다. 진입수량이 수량1에서 100개 , 수량2에서 50개 지정하면ㅅ 실제 시스템에서 수량1 진입 100개 수량2 진입 150개 이렇게 되고있습니다' 수량1 진입 100개 수량2 진입 50개 할수있게 부탁드립니다. 감사합니다~ ---------------------------------------------------- input : 저점날짜(20190619),저점가격(3275); input : 고점날짜(20190620),고점가격(3380); input : 시작일(20190620),시작시간(101000); input : 진입비율1(65.2),수량1(100),청산비율1(40.0); input : 진입비율2(70.0),수량2(50),청산비율2(45.0); input : 진입비율3(80.0),수량3(30),청산비율3(60.0); input : 손절비율(90); var : HH(0),LL(0),newHigh(false),Tcond(false),Trade(false); if sdate == 저점날짜 and sdate != sdate[1] Then LL = 저점가격; if sdate == 고점날짜 and sdate != sdate[1] Then { HH = 고점가격; newHigh = true; } if sdate == 시작일 and stime > 시작시간 Then Trade = true; if sdate >= 고점날짜 and sdate >= 저점날짜 and HH > 0 and LL > 0 Then Tcond = true; if tcond == true then { if C <= HH*0.85 Then newhigh = false; if newhigh == true and H > HH Then HH = H; if Trade == true then { #첫진입(65.2%위에서 아래로 터치하면 즉시 매수) if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1); #매수 후 if MarketPosition == 1 then { #두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수) if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2); #세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수) if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3); #첫 진입후 40%를 상회하면 즉시 전량청산 if MaxEntries == 1 Then ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100)); #두번 진입후 45%를 상회하면 즉시 전량청산 if MaxEntries == 2 Then ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100)); #세번 진입후 60%를 상회하면 즉시 전량청산 if MaxEntries == 3 Then ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100)); #손절비율 이하로 하락시 즉시 전량청산 ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100)); } } }
프로필 이미지
스누피독
2019-06-25
281
글번호 129733
시스템
답변완료

수식 문의 드립니다....^^

수고가 많으시죠...^^ 수식 문의 드립니다.. macd1(12,26,9) macd2 (24,52,18) 1 macd1의 오실레이터값이 macd2 오실레이터값을 상향돌파시에 매수 2 macd1의 오실레이터값이 macd2 오실레이터값을 하향돌파시에 매도 이상입니다... 수고하세요...
프로필 이미지
우섭
2019-06-25
299
글번호 129727
시스템