커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

문의 드림니다

수식 예스로 변환부탁드림니다(미리 감사드림니다) 1) base=(H+L)/2; upper_band=base + atr(period)*multiple; downtrend=valuewhen(1,lowest(upper_band(1),period)>upper_band, upper_band) 2) base=(H+L)/2; lower_band=base - atr(period)*multiple; uptrend=valuewhen(1,highest(lower_band(1),period)<lower_band, lower_band); if(eavg(c,120)<c,uptrend,downtrend); 3) base=(H+L)/2; upper_band=base + atr(period)*multiple; downtrend=valuewhen(1,lowest(upper_band(1),period)>upper_band, upper_band); if(eavg(c,120)<c,uptrend,downtrend);
프로필 이미지
아트키노
2023-10-19
933
글번호 173237
지표
답변완료

문의 드립니다

input : StartTime(140000),EndTime(50000); input : 익절틱수(0),손절틱수(50); var : Tcond(False),entry(0); Variables: Mom(0); Var : N1(0),dayPl(0),당일수익(400),당일손실(100),Xcond(false); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; IF Endtime <= starttime Then { SetStopEndofday(0); } } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if Tcond == true Then { if L ==lowest(L,2) and highest(H,2) >= lowest(L,2)+PriceScale*1 Then { Buy("b",AtStop,(highest(H,2)+lowest(L,2))/2); } if MarketPosition == 1 and BarsSinceEntry == 8 Then ExitShort(); } if H == highest(H,2) and lowest(L,2) <= highest(H,2)+PriceScale*1 Then { Sell("s",AtStop,(lowest(L,2)+highest(H,2))/2); } if MarketPosition == -1 and BarsSinceEntry == 8 Then ExitLong(); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); 5,20 이동평균선 역배열에 매수 진입금지 5,20 이동평균선 정배열에 매도 진입금지를 추가하고자 합니다.
프로필 이미지
푸른
2023-10-20
796
글번호 173236
시스템
답변완료

시스템 실행 시 결과가 나오지 않습니다.

아래 시스템으로 실행시 결과가 나오지 않습니다. 번거로우시더라도 확인 부탁드리겠습니다. 고맙습니다.. [시스템] Input : SampleLength(20 ) , FastLength(10), SlowLength(20) ; Var : Z_ValuePrice(0), PriceOsc(0); Z_ValuePrice =standardize(Close,SampleLength,1); PriceOsc = PriceOscillatorTS(Z_ValuePrice , FastLength, SlowLength); If PriceOsc < 0 and PriceOsc[1] > 0 And FastLength < SlowLength Then Sell ( "tPOsc(z)SE" ,OnClose,DEf ) ; If PriceOsc > 0 and PriceOsc[1] < 0 And FastLength < SlowLength Then Buy ( "tPOsc(z)LE" ,OnClose, DEf ) ; [함수 : PriceOscillatorTS] inputs: Price( numericseries ), FastLength( numericsimple ), SlowLength( numericsimple ) ; PriceOscillatorTS = AverageFC( Price, FastLength ) - AverageFC( Price, SlowLength ) ;
프로필 이미지
노둣돌
2023-10-19
1042
글번호 173235
시스템
답변완료

부탁드립니다

수고하십니다 아래수식이 어디가 잘못이있나요 var : 피봇포인트(0), 1지지(0), 1저항(0), 2지지(0), 2저항(0),연장선두께(1),연장선두께1(2); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0); var: tx3(0),tx4(0),tx5(0),tx6(0),tx7(0); 피봇포인트 = (DayHigh(1)+DayLow(1)+DayClose(1))/3; 1지지 = 2*피봇포인트-DayHigh(1); 1저항 = 2*피봇포인트-DayLow(1); 2지지 = 피봇포인트-DayHigh(1)+DayLow(1); 2저항 = 피봇포인트+DayHigh(1)-DayLow(1); if DataCompress <= 2 and bdate != bdate[1] then { TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL1 = TL_New(sdate[1],stime[1],1지지,sdate,stime,1지지); TL2 = TL_New(sdate[1],stime[1],1저항,sdate,stime,1저항); TL3 = TL_New(sdate[1],stime[1],2지지,sdate,stime,2지지); TL4 = TL_New(sdate[1],stime[1],2저항,sdate,stime,2저항); TL5 = TL_New(sdate[1],stime[1],피봇포인트,sdate,stime,피봇포인트); TL_SetExtRight(TL1,true); TL_SetExtRight(TL2,true); TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); Text_Delete(tx3); Text_Delete(tx4); Text_Delete(tx5); Text_Delete(tx6); Text_Delete(tx7); tx3 = Text_New(sDate,sTime,피봇포인트," (피봇포인트):"+NumToStr(피봇포인트,2)); tx4 = Text_New(sDate,sTime,1지지," 1지지:"+NumToStr(1지지,2)); tx5 = Text_New(sDate,sTime,1저항," 1저항:"+NumToStr(1저항,2)); tx6 = Text_New(sDate,sTime,2지지," 2지지:"+NumToStr(2지지,2)); tx7 = Text_New(sDate,sTime,2저항, 2저항:"+NumToStr(2저항,2)); Text_SetStyle(tx3,0,1); Text_SetStyle(tx4,0,1); Text_SetStyle(tx5,0,1); Text_SetStyle(tx6,0,1); Text_SetStyle(tx7,0,1); #연장선 색상 TL_SetColor(TL1,RED); TL_SetColor(TL2,BLUE); TL_SetColor(TL3,RED); TL_SetColor(TL4,BLUE); TL_SetColor(TL5,YelloW); #연장선 두께 TL_SetSize(TL1,연장선두께); TL_SetSize(TL2,연장선두께); TL_SetSize(TL3,연장선두께); TL_SetSize(TL4,연장선두께); TL_SetSize(TL5,연장선두께1); }
프로필 이미지
파생돌이
2023-10-19
926
글번호 173234
지표
답변완료

함수요청

안녕하세요? 아래 글번호 84183번 재질문입니다. 웹에서 서치한 BOX 차트의 공식입니다. 스크립트에 반영 부탁드립니다. ma = n 일 이동평균 upper = (종가 - ma) 가 양인 값들로 이루어진 배열(오른 날을 nPlus) lower = (종가 - ma) 가 음인 값들의 배열(내린 날을 nMinus) upperMean = upper의 nPlus 평균 lowerMean = lower의 nMinus 평균 upperstd = upper의 nPlus 표준편차 lowerstd = lower의 nMinus 표준편차 box 챠트의 상위선 = ma + upperMean + (2 * upperstd) box 챠트의 하위선 = ma + upperbox 챠트의 하위선 = ma + lowerMean - (2 * lowerstd)
프로필 이미지
흰둥이아빠
2023-10-19
967
글번호 173233
시스템
답변완료

OBV 문의 드립니다.

도움 감사드립니다. 예스스탁하고 키움에서 제공하는 OBV 형식이 달라서 키움것을 구현하려면 어떻게 변경해야 하나요? OBV의 기간값을 조정해서 사용하고 싶어서요. 아래가 키움의 OBV 수식 입니다. 수식1: OBV() 수식2: MA(OBV(), Signal, 이평종류) 키움 OBV 함수 sum(if(C>C(1),v,if(C<C(1),-v,0)))
프로필 이미지
비정성시
2023-10-19
1212
글번호 173231
지표
답변완료

자동매도수식 검토 및 MessageList오류여부 검토 부탁드립니다.

수고많으십니다. Main.MessageList("na2=",Account7); Main.MessageList("na1=",woo,"계좌=",num); var num = Account7.Balance.number; 질문입니다. na2에서 Account7은 계좌번호가 표시가 되는데 na1에서 계좌번호를 변수로 저장한 num으로 넣으면 undefined 에러가 발생합니다. 수식검토 부탁드립니다. // 전역변수선언 var exit7; var Position7; var Snum7; var Bnum7; var BuyFill7; var SellFill7; var ID7,ID8,Num7,Num8; var Xcode7,Xpst7,Xvo7,XID7; var Xcode8,Xpst8,Xvo8,XID8; //스팟 시작 function Main_OnStart() { Main.SetTimer(1, 10000); exit7 = false; } function Main_OnTimer(nEventID) { if (nEventID == 1) { if (exit7 == false) { Account7.SetBalanceItem(MD7, 0); var vo7 = Account7.Balance.count; //수량 var po7 = Account7.Balance.position; //포지션방향(매도1, 매수2) var cu7 = Account7.Balance.current; //현재가 var num = Account7.Balance.number; var woo = C7.GetIndicatorData("진입1", 1, 0); Main.MessageList("na2=",Account7); Main.MessageList("na1=",woo,"계좌=",num); } } if ( po7 == 1 && Cu7 >=woo) //매도포지션이고 현재가격이 지표 "진입" 값과 같으면 { exit7 = true; //첫번째 SetTimer 시작 //전량 시장가로 매수주문(청산) 및 ID7에 주문아이디 저장 ID7 = Account7.OrderBuy(MD7,vo7, 0, 1); } if (po7 == 2 && Cu7 <= woo) //매수포지션이고 현재가격이 지표"진입" 값과 같거나 작으면 { //전량 시장가로 매도주문(청산) 및 ID7에 주문아이디 저장 ID7 = Account7.OrderSell(MD7,vo7, 0, 1); } //2번 타이머 if (nEventID == 2) //두번째 SetTimer 시작 { Main.KillTimer(2); //Num7주문번호의 미체결 객체 셋팅 Account7.SetUnfillOrderNumber(Num7); //미체결 수량이 있으면 if (Account7.Unfill.count > 0) { Xcode7 = Account7.Unfill.code; //종목코드 저장 Xpst7 = Account7.Unfill.orderKind; //주문구분 저장 Xvo7 = Account7.Unfill.count; //주문수량 저장 XID7 = Account7.OrderCancel(Num7); //취소주문, 주문아이디 XID7 저장 } } //3번 타이머 if (nEventID == 3) { Main.KillTimer(3); //Num8주문번호 미체결 객체 셋팅 Account7.SetUnfillOrderNumber(Num8); if (Account7.Unfill.count > 0) { Xcode8 = Account7.Unfill.code; Xpst8 = Account7.Unfill.orderKind; Xvo8 = Account7.Unfill.count; XID8 = Account7.OrderCancel(Num8); } } //주문응답 function Main_OnOrderResponse(OrderResponse) { //주문응답 아이디(orderID)가 ID7(최초주문아이디)과 같으면 if (OrderResponse.orderID == ID7) { //주문번호 저장 Num7 = OrderResponse.orderNum; Main.SetTimer(2, 5000); } //주문응답 아이디가 ID8과 같으면 if (OrderResponse.orderID == ID8) { Num8 = OrderResponse.orderNum; Main.SetTimer(3, 5000); } //재주문 //주문응답 아이디가 XID7과 같으면 //시장가로 재주문 if (OrderResponse.orderID == XID7) { if (Xpst7== 1) { Account7.OrderSell(Xcod7, Xvo7, 0, 1); } if (Xpst7== 2) { Account7.OrderBuy(Xcod7, Xvo7, 0, 1); } } //주문응답 아이디가 XID8과 같으면 //시장가로 재주문 if (OrderResponse.orderID == XID8) { if (Xpst8 == 1) { Account7.OrderSell(Xcod8, Xvo8, 0, 1); } if (Xpst8 == 2) { Account7.OrderBuy(Xcod8, Xvo8, 0, 1); } } } } 감사합니다.
프로필 이미지
멋진감자
2023-10-19
1082
글번호 173224
시스템
답변완료

문의드립니다.

수고많으십니다. 국선,해선 매매에서 금액이나 틱(포인트)등으로 손실을 제한하고 싶습니다. 예를들어 50만원이나 100틱만큼 평가손실이 되면 자동으로 청산되고 해당일은 더이상 거래가 안되게하는 수식을 원합니다. 미리 노고에 감사드립니다~
프로필 이미지
카르마다
2023-10-19
940
글번호 173220
시스템
답변완료

선물 시스템 문의 드립니다.

안녕하세요..항상 많은 도움 감사드립니다. 시스템 거래에 대해서 2가지 궁금한 사항이 있어서 문의 드립니다. 1번 : 나스닥 선물 거래 시간을 오전 10시부터 다음날 오전7시까지 즉 오전7시부터 오전10시까지 3시간을 제외한 시간을 거래하고 싶은데요. stime 설정을 어떻게 해야 하나요? 2번 : A,B,C,D 네 가지 이평선이 수렴한 것을 구현하고 싶은데요. 수렴정도를 제가 %(퍼센트)를 조정할 수 있게 구현하려면 어떻게 해야 하나요?
프로필 이미지
비정성시
2023-10-19
2112
글번호 173215
시스템
답변완료

문의드립니다.

안녕하세요~ 변환 부탁드립니다. 매집간격 - 2.0 / D1 - 1 / Period1 - 60 / Percent1 - 100 기간=매집간격*20; A1=지수평균((highest(종가,(기간-기간/2))+highest(종가,기간))/2,기간); A2=D1*stdev((저가+고가+종가)/3,기간); K=if(종가>시가,1-(abs(종가-시가)/abs(highest((종가-시가),기간))),1); a=A1+K*A2; (CrossUp(c(5),a) or CrossUp(c(4),a) or CrossUp(c(3),a) or CrossUp(c(2),a)) and Disparity(Period1) <= Percent1 감기조심하세요~
프로필 이미지
미서니
2023-10-19
963
글번호 173214
종목검색