커뮤니티

글번호 45489번 재질문

프로필 이미지
통큰베팅
2015-12-14 23:22:55
124
글번호 93410
답변완료
안녕하세요? 글번호 45489번 재질문입니다. 가령 월요일부터 금요일까지 한주동안 매매를 하다가 그주의 청산 손실금액이 2pt를 초과하면 그주의 남은 요일은 매매를 중지하고, 차주 월요일부터 매매를 재개하고자 합니다. 월요일 청산 손실이 -1pt, 화요일 청산 손실이 -2pt면 담주 월요일부터 다시 매매를 시작하며 월요일 청산 손실이 -1pt, 화요일 청산 이익이 +2pt, 수요일 청산 손실이 -4pt면 담주 월요일부터 다시 매매를 시작하고자 합니다 .
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-12-15 08:46:44

안녕하세요 예스스탁입니다. 기존식이 수익으로 처리가 되어 있었습니다. 손실로 수정했습니다. var : entry1(0); var : ho1(0),OL1(0),HL1(0); var : maho1(0),maOL1(0),maHL1(0); var : cnt1(0),sumho1(0),sumOL1(0),sumHL1(0); var : EntryCnt1(0); var : V1(0),V2(0),V3(0),V4(0),V5(0); var : V6(0),V7(0),V8(0),V9(0),V10(0); var : PreNP(0),WeekPL(0); if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then preNP = NetProfit; WeekPL = NetProfit-PreNP;//이번주 손익 if bdate != bdate[1] Then entry1 = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry1 = entry1+1; ho1 = Dayhigh-Dayopen; OL1 = DayOpen-DayLow; HL1 = DayHigh-DayLow; sumho1 = 0; sumOL1 = 0; sumHL1 = 0; for cnt1 = 1 to 10{ sumho1 = sumho1 + (dayhigh(cnt1)-dayopen(cnt1)); sumOL1 = sumOL1 + (DayOpen(cnt1)-DayLow(cnt1)); sumHL1 = sumHL1 + (DayHigh(cnt1)-DayLow(cnt1)); } maho1 = sumho1/10; maOL1 = sumOL1/10; maHL1 = sumHL1/10; V1 = dayopen(0)+maho1; V2 = DayOpen(0)-maOL1; V3 = DayOpen(0)+maHL1; V4 = DayOpen(0)-maHL1; V5 = NthMaxList(1,V1,V2,V3,V4); V6 = NthMaxList(2,V1,V2,V3,V4); V9 = NthMaxList(3,V1,V2,V3,V4); V10 = NthMaxList(4,V1,V2,V3,V4); V7 = (V5+V10)/2; V8 = (V6+V9)/2; if MarketPosition == 0 and entry1 == 0 and WeekPL >= -2 Then{ if V7 > V8 Then sell("s1",AtStop,v7); if V7 < V8 Then sell("s2",Atlimit,v8); } if MarketPosition == -1 and IsEntryName("s1") == true Then{ ExitShort("sp1",atlimit,V9); ExitShort("sl1",AtStop,V6); } if MarketPosition == -1 and IsEntryName("s2") == true Then{ ExitShort("sp2",atlimit,V9); ExitShort("sl2",AtStop,V6); } var : TF(0); var : Xtime(0), Etime(false),cnt(0),mav1(0),mav2(0); var : HV(0),LV(0),HV1(0),LV1(0),HV2(0),LV2(0); Array : HH[50](0),LL[50](0),CC[50](0); mav1 = ma(c,5); mav2 = ma(C,20); TF = TimeToMinutes(stime)%30; if Bdate != Bdate[1] Then{ Etime = true; if stime >= 090000 Then Xtime = 050000; Else Xtime = 060000; } if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{ HH[0] = H; LL[0] = L; for cnt = 1 to 49{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; if HH[25+2] > 0 Then{ HV = HH[0]; LV = LL[0]; HV1 = HH[1]; LV1 = LL[1]; HV2 = HH[2]; LV2 = LL[2]; for cnt = 0 to 25{ if HH[cnt] > HV Then HV = HH[cnt]; if LL[cnt] < LV Then LV = LL[cnt]; if HH[cnt+1] > HV Then HV = HH[cnt+1]; if LL[cnt+1] < LV Then LV = LL[cnt+1]; if HH[cnt+2] > HV Then HV = HH[cnt+2]; if LL[cnt+2] < LV Then LV = LL[cnt+2]; } var1 = (HV+LV)/2; var2 = (HV1+LV1)/2; var3 = (HV2+LV2)/2; if Etime == true then{ if MarketPosition == 0 and CC[0] > var1 and CC[1] < var2 and CC[2] < var3 and C >= daylow+0.5 and WeekPL >= -2 Then buy("b",AtMarket); if MarketPosition == 1 and c <= highest(H,BarsSinceEntry)-0.5 and CrossDown(mav1,mav2) Then ExitLong("bx",AtMarket); } } if stime == Xtime or (stime > Xtime and stime[1] < Xtime) Then{ Etime = false; ExitLong(); } SetStopLoss(1.5,PercentStop); SetStopProfittarget(3,PercentStop); SetStopInactivity(3,10,PercentStop); 즐거운 하루되세요 > 통큰베팅 님이 쓴 글입니다. > 제목 : 글번호 45489번 재질문 > 안녕하세요? 글번호 45489번 재질문입니다. 가령 월요일부터 금요일까지 한주동안 매매를 하다가 그주의 청산 손실금액이 2pt를 초과하면 그주의 남은 요일은 매매를 중지하고, 차주 월요일부터 매매를 재개하고자 합니다. 월요일 청산 손실이 -1pt, 화요일 청산 손실이 -2pt면 담주 월요일부터 다시 매매를 시작하며 월요일 청산 손실이 -1pt, 화요일 청산 이익이 +2pt, 수요일 청산 손실이 -4pt면 담주 월요일부터 다시 매매를 시작하고자 합니다 .