커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

식변경 부탁드립니다(피라미딩)

수고하십니다.. 39846번에 문의한 것과 관련해서 아래식을 이용해서 data2로 선물을 기준으로 해서 풋옵션을 거래할려고 하는데 작동이 잘 안되네요.. 식 변경 부탁드립니다.. -------------------------------------------------------------- var:피봇(0),저항1(0),저항2(0),지지1(0),지지2(0), ilmok1(0), ilmok2(0), ilmok3(0), sunhang1(0), sunhang2(0), emaV(0),중기(0),중장기(0),장기(0), MacdV(0), MacdS(0), MacdOsc(0), LemaV(0), LmacdV(0), LmacdS(0), LmacdOsc(0),adxv(0),atrv(0),atrstop(0),cnt(0),posHigh(0), posLow(0); 피봇 = (DayHigh(1)+daylow(1)+dayclose(1))/3 ; 저항1 = 2 * 피봇 - daylow(1); 저항2 = 피봇 + DayHigh(1)-DayLow(1); 지지1 = 2 * 피봇 - DayHigh(1); 지지2 = 피봇 - DayHigh(1) + DayLow(1); 중기=ema(c,15); 중장기=ema(c,30); 장기=ema(c,400); adxv=adx(20); atrv=atr(10); atrstop=iff(adxv>25 and adxv>adxv[1],atrv*2,atrv*10); var1 = Highest(h,BarsSinceEntry+1); var2 = Lowest(L,BarsSinceEntry+1); #1 macd + ema emaV = ema(C,300); MacdV = macd(20,76); MacdS = ema(MacdV,190); MacdOsc = MacdV-MacdS; #2 #1을 다시 변형 LemaV = ema(C,300*1.8); LmacdV = macd(20*1.8,76*1.8); LmacdS = ema(MacdV*1.8,190*1.8); LmacdOsc = (LmacdV-LmacdS)*1.8; If sTime>=091500 and CrossDown(C,지지2) then { if MarketPosition == 0 or (MarketPosition == -1 and C <= LatestEntryPrice(0)-1) Then Sell("사번sell"); } if stime>=092000 and CrossDown(c, 저항1) then { if MarketPosition == 0 or (MarketPosition == -1 and C <= LatestEntryPrice(0)-1) Then Sell("이번sell"); } if IsEntryName("사번sell") Then { ExitShort("사번atrES",AtStop, Var2+ATRstop); if CrossUp(c,중기) then ExitShort("사번2ES"); } if IsEntryName("이번sell") then { ExitShort("이번atrES", AtStop, Var2+ATRstop); If CrossUp(c,피봇)and c<EntryPrice then ExitShort("이번2es"); } ilmok1 = (highest(H,15)+lowest(L,15))/2; ilmok2 = (highest(H,15*3)+lowest(L,15*3))/2; ilmok3 = (highest(H,15*3*2)+lowest(L,15*3*2))/2; sunhang1 = (ilmok1+ilmok2)/2 ;// "선행스팬1" sunhang2 = ilmok3; // "선행스팬2" if dayindex() == 23+1 then { if accumN(iff( C < min(sunhang1, sunhang2),1,0), 14) == 14 then { if MarketPosition == 0 or (MarketPosition == -1 and C <= LatestEntryPrice(0)-1) Then sell("육번Sell"); } } if isEntryname("육번Sell") then { if CrossUp(C, min(sunhang1, sunhang2)) Then exitshort("육번es1"); if MarketPosition == -1 then ExitShort("6익절", atlimit, EntryPrice-4); } if CrossDown(ema(c,30), ema(c,580)) then { if MarketPosition == 0 or (MarketPosition == -1 and C <= LatestEntryPrice(0)-1) Then sell("팔번Sell"); } if IsEntryName("팔번Sell") Then { ExitShort("팔번atres",AtStop, Var2+ATRstop);} # 매도진입 If stime >=090500 and LemaV < LemaV[1] then { if Crossdown(C, emaV) Then{ if MarketPosition == 0 or (MarketPosition == -1 and C <= LatestEntryPrice(0)-1) Then sell("십번sell"); } } if IsEntryName("십번sell") Then {ExitShort("십번atres",AtStop, Var2+ATRstop); } SetStopLoss(0.6,PointStop); SetStopEndofday(144200);
프로필 이미지
머니사이언스
2015-01-10
193
글번호 82125
시스템
답변완료

수식 문의 드립니다.

안녕하세요. 수식 작성 공부 중인에 막히는 부분이 있어서 문의드립니다. 제일모직, 20150109, 1분봉으로 설정했습니다. 제 생각에는 5% 익절 부분에서 수량을 50%로 설정했으니까 14주만 익절하고 8%에서 6주, 12%에서 8주가 익절되는게 맞는 것 같은데 실제로는 다르게 나오는데 틀린 부분 수정 부탁드리겠습니다. 그리고 위에서 처럼 수량 * 0.3 이런 식으로 설정하면 소수점이 발생할 수도 있는데 (예를 들어 수량이 15주 있으면 15*0.3=4.5) 이럴 경우에 몇 주가 잡히게 되는지가 궁금합니다. 감사합니다. -------------------------------------------------------------- input : 오늘(20150109), 아홉시(90000), 진입가격(0), X(3), TsVal1(3), TsVal2(2), range_H(dayclose(1)*1.01),range_L(dayclose(1)*0.99); var : Hval(0), Lval(0),priceB01(0),priceB02(0),priceB03(0),priceB04(0),priceS01(0),priceS02(0),priceS03(0),priceS04(0), final_volume(0), mid_volume(0),수량1(0), 수량2(0),조건1(0), 조건2(0), e_no(0), H1(0),L1(0),H2(0),L2(0),H3(0),L3(0); 수량1= 2000000/dayclose(1); 수량2= 2000000/dayclose(1)*0.5; If MarketPosition == 1 and H>H1 Then { H1=H; } If MarketPosition == 1 and L<L1 Then { L1=L; } if stime >=150000 then { H1=0; L1=0; final_volume=0; mid_volume=0; } /*-----시장가 진입------*/ if DayOpen(0)<=DayClose(1)*1.04 and DayOpen(0)>=DayClose(1)*0.97 and sdate == 오늘 and CurrentEntries==0 and 조건2==0 then { buy("1",AtLimit,c*1.02,수량1); final_volume = final_volume + 수량1; 조건1=1; H1=H; L1=L; } if MarketPosition == 1 and L <= AvgEntryPrice*0.975 and CurrentEntries==1 and 조건2==0 then { buy("2",AtLimit,c*1.02,수량1); final_volume = final_volume + 수량1; 조건1=1; H1=H; L1=L; } If MarketPosition == 1 and L <= AvgEntryPrice * 0.97 Then { ExitLong("3%손절"); 조건1=2; 조건2=1; H1=H; L1=L; } If MarketPosition == 1 and H >= AvgEntryPrice * 1.05 Then { mid_volume = final_volume *0.5; ExitLong("5%익절",Atlimit,C * 0.99,"",mid_volume,1); final_volume = final_volume -mid_volume; 조건1=2; 조건2=1; H1=H; L1=L; } If MarketPosition == 1 and H >= AvgEntryPrice * 1.08 Then { mid_volume = final_volume *0.4; ExitLong("8%익절",AtStop,c*0.99,"",mid_volume,1); final_volume = final_volume -mid_volume; 조건1=2; 조건2=1; H1=H; L1=L; } If MarketPosition == 1 and H >= AvgEntryPrice * 1.12 Then { ExitLong("12%익절"); 조건1=2; 조건2=1; H1=H; L1=L; } SetStopTrailing(4,6,PercentStop,1); /* If MarketPosition == 1 and H >= AvgEntryPrice * 1.05 and L1<H1*0.97 Then { ExitLong("5% trailingstop 익절"); 조건2=1; H1=H; L1=L; } */
프로필 이미지
깜피
2015-01-10
180
글번호 82124
시스템

안녕하세요

안녕하세요 지표식 문의드립니다 차트 상에 1). 0 0 시 0 0 분일 때 ( 0 0 시 0 0 분)을 표시하는 2). 2 0 시 3 0 분일 때 ( 2 0 시 3 0 분)을 표시하는 지표식을 부탁 드립니다 감사합니다 수고하세요
프로필 이미지
금보
2015-01-10
130
글번호 82123
지표

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

프로필 이미지
금보
2015-01-10
0
글번호 82122
지표
답변완료

지표식 부탁드립니다

종가가 5이평선 최초 돌파시에 캔들하단에 빨강화살표를 표시하고 종가가 3이평선을 최초 이탈시 캔들상단에 파랑화살표를 표시하고 시가가 전봉종가보다 2.5%이상 갭상승하면 캔들하단에 보라화살표를 표시하고 시가가 전봉종가보다 2.5%이상 갭하락하면 캔들상단에 초록화살표를 표시하는 지표식입니다.빨강과 보라가 겹칠경우 빨강화살표 하단에 보라색화살표를 표시하거나 불가하면 노랑화살표로 표시하고 파랑과 초록이 겹칠경우 파랑화살표위에 초록색화살표를 표시하거나 불가하면 연두화살표로 표시부탁드립니다 감사합니다
프로필 이미지
부양가족
2015-01-10
179
글번호 82121
지표

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
좋은선물
2015-01-09
7
글번호 82119
시스템
답변완료

참조 data2에 TEXT 표시하는 수식 부탁드립니다

안녕하세요 차트에서 TEXT 표시에 대하여 문의 드립니다 첨부한 그림1의 CaLL 차트는 <프로그램1>>을 실행한것으로 옵션기준선아래 "기준가" 표시가 정상으로 표시되는데, 그림2 에서는 참조Data2의 PUTT 차트에 <프로그램2>를 실행하면 PUT차트의 기준선 밑에 "기준가" 가 나타나지 않고 위의 CaLL차트에 "기준가" 글자가 겹쳐서 나나납니다 data2 PUT 차트에도 기준선 밑에 "기준가" 표시가 나타나는 수식을 부탁드립니다 감사합니다 //========================================================= <프로그램 1> //옵션-기준가 var : va2(0), va3(0), cond(false), ndate(0); va2 = date - int(date/100)*100; va3 = DayOfWeek(date); if va2 >= 8 and va2 <= 14 and va3 == 4 then cond = true; Else cond = false; if (cond == false and cond[1] == true) or (data1(index ==0)) Then{ ndate = sdate; } if sdate == ndate Then var1= daylow; //옵션기준가(var1)==>당월물첫날(금요일)저가 plot1(var1, "기준가"); //--------------------TEXT 표시---------------------------- var : tx1(0); text_delete(tx1); tx1= text_new(sdate, stime, var1, "기준가"); //========================================================================== <프로그램2> //옵션-기준가-date2 var : va2(0), va3(0), cond(false), ndate(0); //var1 = sdate; var2 =stime; va2 = date - int(date/100)*100; va3 = DayOfWeek(date); if va2 >= 8 and va2 <= 14 and va3 == 4 then cond = true; Else cond = false; if (cond == false and cond[1] == true) or (data2(index ==0)) Then{ ndate = sdate; } if sdate == ndate Then var11 = data2(daylow); //옵션기준가(var11)==>당월물첫날(금요일)저가 plot11(var11, "기준가"); //--------------------TEXT 표시---------------------------- var : tx11(0); text_delete(tx11); tx11= text_new(sdate, stime, var11, "기준가");
프로필 이미지
월인박사
2015-01-09
207
글번호 82118
지표
답변완료

시스템 수식 수정 요청합니다.

var : Entry(0); if date != date[1] Then Entry = 0; if CurrentContracts > CurrentContracts[1] Then Entry = Entry+1; if stime == 150000 Then{ if NextBarOpen <= C Then buy("매수1",AtStop,C); if NextBarOpen > C Then buy("매수2",AtLimit,C); } if Entry == 0 Then{ if DayOpen < DayClose(1) Then{ buy("매수11",AtStop,min(DayOpen,DayLow*1.02)); } if dayopen > DayClose(1) Then buy("매수22",AtLimit,min(DayClose(1),DayClose(1)*1.01)); } SetStopLoss(3,PercentStop); if MarketPosition == 1 Then ExitLong("매도",AtStop,highest(H,BarsSinceEntry)*0.95); var1 = ma(c,20); var2 = ma(c,60); var3 = ma(C,120); Condition1 = c < var3 and var1 < var2; if MarketPosition == 1 and Condition1 == true and Condition1[1] == false Then ExitLong("매도1"); 위 수식처럼 익일 추가 매수진입 가능한 수식에서 추가로 매수조건과 매도조건을 아래와 같이 수정을 요청합니다. 부탁드릴께요. - 아 래 - 매수조건 시초가 이후 처음 발생하는 Stochastic(20,12,12) GoldenCross 매도조건 1.매수가 대비 +5%에서 익절 2.주가가 120이평을 하향이탈하고 20이평과 60이평이 DeadCross 또는 역배열되는 두조건이 모두 만족하는 경우 익절조건 최고가 대비 -5% 손절조건 매수가 대비 -3%
프로필 이미지
승부사1
2015-01-09
176
글번호 82117
시스템
답변완료

부탁드립니다.

39854관련입니다. 스토캐스틱(12,5,5) 다이버전스 매매 1.당일에 한정하지 않구요. 2. 스토파동은 K가 반드시 50우아래로 갔다왔어야 한 파동으로 봄 가격의 저점비교,고점비교는 스토파동을 기준으로 최저점 또는 최고점끼리 비교 매수조건 : 가격파동은 저점이 낮아졌는데 스토파동이 저점을 높이고(앞번파동 스토는 K의 저점이 20보다 작았어야 함. 지금 파동은 전파동보다 저점이 높으면 됨) K가 D를 크로스업할 때 매수청산조건 : K가 80을 뚫고 나서 아래로 꺾일 때 또는 90을 크로스업할 때 매도조건 : 가격파동은 고점이 높아졌는데 스토파동이 고점을 낮추고(앞번파동 스토는 K의 고점이 80보다 컸어야 함. 지금 파동은 전파동보다 고점이 낮으면 됨) K가 D를 크로스다운할 때 매도청산조건 : K가 20을 붕괴하고 나서 위로 꺾일 때 또는 10을 크로스다운할 때 부탁드립니다.
프로필 이미지
묘선낭자
2015-01-09
190
글번호 82113
시스템