커뮤니티

한가지 더부탁드립니다

프로필 이미지
난다긴다
2014-07-11 20:00:46
148
글번호 76656
답변완료
Inputs: RangeLen(7), RngPcnt(200), ATRs(8), ATRLen(2),BuyVol(5),SellVol(1); Variables: RangeH(0), RangeL(0), TRange(0), ATR(0), NoTrades(0), LongRisk(0), LongHigh(0), ShortRisk(0), ShortLow(0); RangeH = Highest(High, RangeLen)[1]; RangeL = Lowest(Low, RangeLen)[1]; TRange = RangeH - RangeL; ATR = ATR(ATRLen); NoTrades = 0; For value1 = 1 To RangeLen Begin If High[value1] < RangeH Then NoTrades = NoTrades + (RangeH - High[value1]); If Low[value1] > RangeL Then NoTrades = NoTrades + (Low[value1] - RangeL); End; Condition1 = NoTrades >= TRange * (RngPcnt / 100); Condition2 = TrueRange > ATR(RangeLen)[1]; Condition3 = Close > RangeH AND MedianPrice > High[1]; Condition4 = Close < RangeL AND MedianPrice < Low[1]; If Condition1 AND Condition2 Then Begin #Long Entry If Condition3 AND MarketPosition <> 1 Then Begin Buy("매수",OnClose,def,BuyVol); LongRisk = RangeL; LongHigh = High; End; #Short Entry If Condition4 AND MarketPosition <> -1 Then Begin Sell("매도",OnClose,def,SellVol); ShortRisk = RangeH; ShortLow = Low; End; End; #Long Exit If MarketPosition == 1 Then Begin If High > LongHigh Then LongHigh = High; ExitLong("매도1",atstop,LongRisk - 1); ExitLong("매도2",atstop,LongHigh - (ATRs * ATR)); End; #Short Exit If MarketPosition == -1 Then Begin If Low < ShortLow Then ShortLow = Low; ExitShort("매도3",atstop,ShortRisk + 1); ExitShort("매도4",atstop,ShortLow + (ATRs * ATR)); End; 이식에서 하루에 딱 한번 매매하게 해주세요 감사합니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-07-14 10:32:40

안녕하세요 예스스탁입니다. Inputs: RangeLen(7), RngPcnt(200), ATRs(8), ATRLen(2),BuyVol(5),SellVol(1),DayEntry(1); Var : RangeH(0), RangeL(0), TRange(0), ATR(0), NoTrades(0), LongRisk(0), LongHigh(0), ShortRisk(0), ShortLow(0); var : cnt(0),count(0); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } RangeH = Highest(High, RangeLen)[1]; RangeL = Lowest(Low, RangeLen)[1]; TRange = RangeH - RangeL; ATR = ATR(ATRLen); NoTrades = 0; For value1 = 1 To RangeLen Begin If High[value1] < RangeH Then NoTrades = NoTrades + (RangeH - High[value1]); If Low[value1] > RangeL Then NoTrades = NoTrades + (Low[value1] - RangeL); End; Condition1 = NoTrades >= TRange * (RngPcnt / 100); Condition2 = TrueRange > ATR(RangeLen)[1]; Condition3 = Close > RangeH AND MedianPrice > High[1]; Condition4 = Close < RangeL AND MedianPrice < Low[1]; If Condition1 AND Condition2 and count < DayEntry Then Begin #Long Entry If Condition3 AND MarketPosition <> 1 Then Begin Buy("매수",OnClose,def,BuyVol); LongRisk = RangeL; LongHigh = High; End; #Short Entry If Condition4 AND MarketPosition <> -1 Then Begin Sell("매도",OnClose,def,SellVol); ShortRisk = RangeH; ShortLow = Low; End; End; #Long Exit If MarketPosition == 1 Then Begin If High > LongHigh Then LongHigh = High; ExitLong("매도1",atstop,LongRisk - 1); ExitLong("매도2",atstop,LongHigh - (ATRs * ATR)); End; #Short Exit If MarketPosition == -1 Then Begin If Low < ShortLow Then ShortLow = Low; ExitShort("매도3",atstop,ShortRisk + 1); ExitShort("매도4",atstop,ShortLow + (ATRs * ATR)); End; 즐거운 하루되세요 > 난다긴다 님이 쓴 글입니다. > 제목 : 한가지 더부탁드립니다 > Inputs: RangeLen(7), RngPcnt(200), ATRs(8), ATRLen(2),BuyVol(5),SellVol(1); Variables: RangeH(0), RangeL(0), TRange(0), ATR(0), NoTrades(0), LongRisk(0), LongHigh(0), ShortRisk(0), ShortLow(0); RangeH = Highest(High, RangeLen)[1]; RangeL = Lowest(Low, RangeLen)[1]; TRange = RangeH - RangeL; ATR = ATR(ATRLen); NoTrades = 0; For value1 = 1 To RangeLen Begin If High[value1] < RangeH Then NoTrades = NoTrades + (RangeH - High[value1]); If Low[value1] > RangeL Then NoTrades = NoTrades + (Low[value1] - RangeL); End; Condition1 = NoTrades >= TRange * (RngPcnt / 100); Condition2 = TrueRange > ATR(RangeLen)[1]; Condition3 = Close > RangeH AND MedianPrice > High[1]; Condition4 = Close < RangeL AND MedianPrice < Low[1]; If Condition1 AND Condition2 Then Begin #Long Entry If Condition3 AND MarketPosition <> 1 Then Begin Buy("매수",OnClose,def,BuyVol); LongRisk = RangeL; LongHigh = High; End; #Short Entry If Condition4 AND MarketPosition <> -1 Then Begin Sell("매도",OnClose,def,SellVol); ShortRisk = RangeH; ShortLow = Low; End; End; #Long Exit If MarketPosition == 1 Then Begin If High > LongHigh Then LongHigh = High; ExitLong("매도1",atstop,LongRisk - 1); ExitLong("매도2",atstop,LongHigh - (ATRs * ATR)); End; #Short Exit If MarketPosition == -1 Then Begin If Low < ShortLow Then ShortLow = Low; ExitShort("매도3",atstop,ShortRisk + 1); ExitShort("매도4",atstop,ShortLow + (ATRs * ATR)); End; 이식에서 하루에 딱 한번 매매하게 해주세요 감사합니다