커뮤니티

문의드립니다.

프로필 이미지
나로이
2012-07-31 13:27:21
318
글번호 53385
답변완료
당일 첫 진입 수익시 진입금지, 손실 시 물량을 계속 2배수 하여 당일누적수익이 플러스가 될 때까지 계속해서 재진입 시스템을 만들고 싶습니다. 수정 부탁드립니다. 예1) 첫 진입(1계약) 수익 매매 끝 예2) 첫 진입(1계약) 손실, 두 번째 진입(2계약)으로 손실 복구 및 수익 매매 끝 예3) 첫 진입(1계약) 손실, 두 번째 진입(2계약) 손실, 세 번째 진입(4계약) 손실..... 최대 5연패 시 매매 정지. Input : shortPeriod(5), longPeriod(20), 당일손익(1); var : PredayPL(0),XCommission(0),XSlippage(0),dayPL(0); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); #당일누적손익계산 시작 if date != date[1] Then PredayPL = NetProfit[1]; XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정 XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정 if MarketPosition() == 0 Then dayPL = (NetProfit-PredayPL); Else dayPL = (NetProfit-PredayPL)+(PositionProfit-(XCommission+XSlippage)); # 매수/매도청산 If value1 > value2 and dayPL < 당일손익 Then { Buy(); } # 매도/매수청산 If value1 < value2 and dayPL < 당일손익 Then { Sell(); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-07-31 19:49:09

안녕하세요 예스스탁입니다. Input : shortPeriod(5), longPeriod(20), 당일손익(1); var : PredayPL(0),XCommission(0),XSlippage(0),dayPL(0); var : cnt(0),count(0),loss(0); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } if count == 0 Then{ If value1 > value2 Then Buy("b",OnClose,def,1); If value1 < value2 Then Sell("s",OnClose,def,1); } if count > 0 and count < 5 Then{ if MarketPosition == -1 and value1 > value2 Then{ if PositionProfit > 0 Then ExitShort(); Else Buy("bb",OnClose,def,CurrentContracts[BarsSinceEntry-1]*2); } if MarketPosition == 1 and value1 < value2 Then{ if PositionProfit > 0 Then ExitLong(); Else Sell("ss",OnClose,def,CurrentContracts[BarsSinceEntry-1]*2); } } if MarketPosition == 1 and count == 5 and value1 < value2 Then ExitLong(); if MarketPosition == -1 and count == 5 and value1 > value2 Then ExitShort(); 즐거운 하루되세요 > 나로이 님이 쓴 글입니다. > 제목 : 문의드립니다. > 당일 첫 진입 수익시 진입금지, 손실 시 물량을 계속 2배수 하여 당일누적수익이 플러스가 될 때까지 계속해서 재진입 시스템을 만들고 싶습니다. 수정 부탁드립니다. 예1) 첫 진입(1계약) 수익 매매 끝 예2) 첫 진입(1계약) 손실, 두 번째 진입(2계약)으로 손실 복구 및 수익 매매 끝 예3) 첫 진입(1계약) 손실, 두 번째 진입(2계약) 손실, 세 번째 진입(4계약) 손실..... 최대 5연패 시 매매 정지. Input : shortPeriod(5), longPeriod(20), 당일손익(1); var : PredayPL(0),XCommission(0),XSlippage(0),dayPL(0); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); #당일누적손익계산 시작 if date != date[1] Then PredayPL = NetProfit[1]; XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정 XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정 if MarketPosition() == 0 Then dayPL = (NetProfit-PredayPL); Else dayPL = (NetProfit-PredayPL)+(PositionProfit-(XCommission+XSlippage)); # 매수/매도청산 If value1 > value2 and dayPL < 당일손익 Then { Buy(); } # 매도/매수청산 If value1 < value2 and dayPL < 당일손익 Then { Sell(); }