커뮤니티

시스템 작성 부탁드립니다.

프로필 이미지
모루
2018-01-28 20:15:45
222
글번호 116102
답변완료
buy는 ketner 전략으로, sell은 MACD돌파로하고 청산전략은 샹델리에와 YOYO 청산전략을 사용하고자 합니다. 아래는 검색해서 찾은 트레이드스테이션 코드인것 같습니다. BUY --- INTRADAY - 10분봉 Inputs: Price(Close), Length(6), Const(1.2), ChanPcnt(.6),KTCNUM(5); Vars: KCU(0), KCL(0), ChanRng(0), AvgVal(0), AvgRange(0), SetBar(0), CountL(0), CountS(0); var : MP(0),BuySetup(0),SellSetUp(0); if DATE <> DATE[1] then begin BuySetup = 0; SellSetuP= 0; end; MP= MARKETPOSITION; IF MP = 1 THEN BuySetup = 1; IF MP = -1 THEN SellSetup = 1; {Assignments of Keltner calculations} AvgVal = Average(Price, Length); AvgRange = Average(TrueRange, Length); KCU = AvgVal + AvgRange * Const; KCL = AvgVal - AvgRange * Const; ChanRng = (KCU - KCL) / 2; {Accumulates to count the bars after the SetUps below} CountL = CountL + 1; CountS = CountS + 1; {Buy Criteria Evaluation} IF Price Crosses Above KCU Then Begin SetBar = High; CountL = 1; End; {Sell Criteria Evaluation} IF Price Crosses Below KCL Then Begin SetBar = Low; CountS = 1; End; If EntriesToday(DATE) < 2 AND TIME < 1450 then BEGIN IF MP<> 1 AND bUYsETUP=0 AND Price > KCU AND CountL <= KTCNUM Then Buy Next Bar at SetBar + (ChanRng * ChanPcnt) Stop; end; {Trailing Stops} input : ATRLength(20),Chand(2.7),YOYO(2.3); VAR : highPoint(0),LowPoint(0); If MP = 1 Then BEGIN HighPoint = Highest(High,barsSinceEntry +1); exitlong("buyTStop") at HighPoint - Chand * AvgTrueRange(ATRLength) stop; exitlong("BuyYoYStop") at Close - YoYo * AvgTrueRange(ATRLength) stop; End; If MP = 1 And Time > 1458 Then begin exitlong ("BuyTimeOut") ; end;
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-01-29 13:53:22

안녕하세요 예스스탁입니다. Inputs: Price(Close), Length(6), Const(1.2), ChanPcnt(.6),KTCNUM(5),short(12),long(26),sig(9); Vars: KCU(0), KCL(0), ChanRng(0), AvgVal(0), AvgRange(0), SetBar(0), CountL(0), CountS(0); var : MP(0),BuySetup(0),SellSetUp(0),T1(0),EntriesToday(0),macdv(0),macds(0); if bdate <> bdate[1] then begin T1 = TotalTrades; BuySetup = 0; SellSetuP= 0; end; MP= MARKETPOSITION; if MP == 0 Then EntriesToday = TotalTrades-T1; Else EntriesToday = TotalTrades-T1+1; MACDV = MACD(short,long); MACDS = ema(MACDV,sig); IF MP == 1 THEN BuySetup = 1; IF MP == -1 THEN SellSetup = 1; #{Assignments of Keltner calculations} AvgVal = MA(Price, Length); AvgRange = MA(TrueRange, Length); KCU = AvgVal + AvgRange * Const; KCL = AvgVal - AvgRange * Const; ChanRng = (KCU - KCL) / 2; #{Accumulates to count the bars after the SetUps below} CountL = CountL + 1; CountS = CountS + 1; #{Buy Criteria Evaluation} IF crossup(Price,KCU) Then Begin SetBar = High; CountL = 1; End; #{Sell Criteria Evaluation} IF CrossDown(Price,KCL) Then Begin SetBar = Low; CountS = 1; End; If EntriesToday < 2 AND sTime < 145000 then BEGIN IF MP<> 1 AND bUYsETUP==0 AND Price > KCU AND CountL <= KTCNUM Then Buy("b",AtStop,SetBar + (ChanRng * ChanPcnt)); end; If EntriesToday < 2 AND sTime < 145000 then BEGIN IF MP <> -1 and CrossDown(MACDV,MACDS) Then sell("s"); end; #{Trailing Stops} input : ATRLength(20),Chand(2.7),YOYO(2.3); VAR : highPoint(0),LowPoint(0); If MP == 1 Then BEGIN HighPoint = Highest(High,barsSinceEntry +1); exitlong("buyTStop", AtStop, HighPoint - Chand * ATR(ATRLength)); exitlong("BuyYoYStop",AtStop,Close - YoYo * ATR(ATRLength)); End; If MP == -1 Then BEGIN LowPoint = Lowest(High,barsSinceEntry +1); ExitShort("sellTStop", AtStop, LowPoint + Chand * ATR(ATRLength)); ExitShort("sellYoYStop",AtStop,Close + YoYo * ATR(ATRLength)); End; SetStopEndofday(145000); 즐거운 하루되세요 > 모루 님이 쓴 글입니다. > 제목 : 시스템 작성 부탁드립니다. > buy는 ketner 전략으로, sell은 MACD돌파로하고 청산전략은 샹델리에와 YOYO 청산전략을 사용하고자 합니다. 아래는 검색해서 찾은 트레이드스테이션 코드인것 같습니다. BUY --- INTRADAY - 10분봉 Inputs: Price(Close), Length(6), Const(1.2), ChanPcnt(.6),KTCNUM(5); Vars: KCU(0), KCL(0), ChanRng(0), AvgVal(0), AvgRange(0), SetBar(0), CountL(0), CountS(0); var : MP(0),BuySetup(0),SellSetUp(0); if DATE <> DATE[1] then begin BuySetup = 0; SellSetuP= 0; end; MP= MARKETPOSITION; IF MP = 1 THEN BuySetup = 1; IF MP = -1 THEN SellSetup = 1; {Assignments of Keltner calculations} AvgVal = Average(Price, Length); AvgRange = Average(TrueRange, Length); KCU = AvgVal + AvgRange * Const; KCL = AvgVal - AvgRange * Const; ChanRng = (KCU - KCL) / 2; {Accumulates to count the bars after the SetUps below} CountL = CountL + 1; CountS = CountS + 1; {Buy Criteria Evaluation} IF Price Crosses Above KCU Then Begin SetBar = High; CountL = 1; End; {Sell Criteria Evaluation} IF Price Crosses Below KCL Then Begin SetBar = Low; CountS = 1; End; If EntriesToday(DATE) < 2 AND TIME < 1450 then BEGIN IF MP<> 1 AND bUYsETUP=0 AND Price > KCU AND CountL <= KTCNUM Then Buy Next Bar at SetBar + (ChanRng * ChanPcnt) Stop; end; {Trailing Stops} input : ATRLength(20),Chand(2.7),YOYO(2.3); VAR : highPoint(0),LowPoint(0); If MP = 1 Then BEGIN HighPoint = Highest(High,barsSinceEntry +1); exitlong("buyTStop") at HighPoint - Chand * AvgTrueRange(ATRLength) stop; exitlong("BuyYoYStop") at Close - YoYo * AvgTrueRange(ATRLength) stop; End; If MP = 1 And Time > 1458 Then begin exitlong ("BuyTimeOut") ; end;