커뮤니티

청산식 좀 요청 드립니다.

프로필 이미지
요타
2020-11-14 19:28:39
409
글번호 143858
답변완료
* 좋은 주말 되십시요. (요청1) 아래 청산식 좀 부탁 드립니다. VAR1 = MA(C,5) ; VAR1 = MA(C,20) ; IF CrossUp(VAR1,VAR2) Then BUY("SS1"); IF CrossDown(VAR1,VAR2) Then Sell("DD1") ; 수식일 경우 input:h(5); ## 진입가 대비 허용 공차 즉 300에 진입이면 285 ~ 315 까지는 진입가로계산 if MarketPosition == 1 and IsEntryName("SS1") == true Then { if 매수 진입후 30봉 경과 까지 봉 종가(C[1]) 기준으로 매수가 보다 큰봉 겟수(수익봉)와 ## 진입가 + h(허용공차) >= c[1] 매수가 보다 작은봉겟수(손실봉)를 ## 진입가 - h(허용공차) < c[1] 비교하여 수익봉 율(%)이 20퍼센트 미만이면 청산 } if MarketPosition == -1 and IsEntryName("DD1") == true Then { if 매도 진입후 30봉 경과 까지 봉 종가(C[1]) 기준으로 매도가 보다 작은봉 겟수(수익봉)와 ## 진입가 - h(허용공차) <= c[1] 매도가 보다 큰봉 겟수(손실봉)를 ## 진입가 + h(허용공차) > c[1] 비교하여 수익봉 율(%)이 20퍼센트 미만이면 청산 } (요청2) 아래 수식에서 01시~ 07시 까지 매매가 되는데 안 되게 수식 좀 수정 요청 드립니다. input : 시스템적용일(20201113), 시스템시작시간(083000) ; var : cnt(0),Xcnt(0),Ecnt(0) ; Ecnt = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then Ecnt = Ecnt+1; } if date != date[1] Then Xcnt = 0 ; var1 =ma(c,5) ; var2 =ma(c,20) ; if sdate >= 시스템적용일 and stime >= 시스템시작시간 Then { Condition1 = true; } if Condition1 == true then { if CrossUp(var1,Var2) Then buy(); if CrossDown(var1,var2) Then Sell(); } if sdate != sdate[1] Then SetStopEndofday(223000); *항상 많은 도움에 고맙습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-11-16 09:29:00

안녕하세요 예스스탁입니다. 1 input : hh(5); VAR1 = MA(C,5) ; VAR1 = MA(C,20) ; IF CrossUp(VAR1,VAR2) Then BUY("SS1"); IF CrossDown(VAR1,VAR2) Then Sell("DD1"); if MarketPosition == 1 and BarsSinceEntry == 30 Then { value1 = CountIf(C >= C[1]*(1+hh/100),30); value2 = CountIf(C <= C[1]*(1-hh/100),30); if value1/(value1+Value2)*100 <= 20 Then ExitLong(); } if MarketPosition == -1 and BarsSinceEntry == 30 Then { value1 = CountIf(C >= C[1]*(1+hh/100),30); value2 = CountIf(C <= C[1]*(1-hh/100),30); if value2/(value1+Value2)*100 <= 20 Then ExitShort(); } 2 input : 시스템적용일(20201113), 시스템시작시간(083000),시스템종료시간(223000); var : cnt(0),Xcnt(0),Ecnt(0),Tcond(False) ; if 시스템종료시간 > 시스템시작시간 then SetStopEndofday(시스템종료시간); Else { if sDate != sDate[1] Then SetStopEndofday(시스템종료시간); } var1 = ma(c,5) ; var2 = ma(c,20) ; if (sDate != sDate[1] and sTime >= 시스템종료시간) or (sDate == sDate[1] and sTime >= 시스템종료시간 and sTime[1] < 시스템종료시간) then { Tcond = False; } if (sDate != sDate[1] and sTime >= 시스템시작시간) or (sDate == sDate[1] and sTime >= 시스템시작시간 and sTime[1] < 시스템시작시간) then { Tcond = true; Ecnt = 0; Xcnt = 0 ; if 시스템종료시간 < 시스템시작시간 then SetStopEndofday(0); } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then Ecnt = Ecnt + 1; if sdate >= 시스템적용일 and Tcond == true Then { if CrossUp(var1,Var2) Then buy(); if CrossDown(var1,var2) Then Sell(); } 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 청산식 좀 요청 드립니다. > * 좋은 주말 되십시요. (요청1) 아래 청산식 좀 부탁 드립니다. VAR1 = MA(C,5) ; VAR1 = MA(C,20) ; IF CrossUp(VAR1,VAR2) Then BUY("SS1"); IF CrossDown(VAR1,VAR2) Then Sell("DD1") ; 수식일 경우 input:h(5); ## 진입가 대비 허용 공차 즉 300에 진입이면 285 ~ 315 까지는 진입가로계산 if MarketPosition == 1 and IsEntryName("SS1") == true Then { if 매수 진입후 30봉 경과 까지 봉 종가(C[1]) 기준으로 매수가 보다 큰봉 겟수(수익봉)와 ## 진입가 + h(허용공차) >= c[1] 매수가 보다 작은봉겟수(손실봉)를 ## 진입가 - h(허용공차) < c[1] 비교하여 수익봉 율(%)이 20퍼센트 미만이면 청산 } if MarketPosition == -1 and IsEntryName("DD1") == true Then { if 매도 진입후 30봉 경과 까지 봉 종가(C[1]) 기준으로 매도가 보다 작은봉 겟수(수익봉)와 ## 진입가 - h(허용공차) <= c[1] 매도가 보다 큰봉 겟수(손실봉)를 ## 진입가 + h(허용공차) > c[1] 비교하여 수익봉 율(%)이 20퍼센트 미만이면 청산 } (요청2) 아래 수식에서 01시~ 07시 까지 매매가 되는데 안 되게 수식 좀 수정 요청 드립니다. input : 시스템적용일(20201113), 시스템시작시간(083000) ; var : cnt(0),Xcnt(0),Ecnt(0) ; Ecnt = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then Ecnt = Ecnt+1; } if date != date[1] Then Xcnt = 0 ; var1 =ma(c,5) ; var2 =ma(c,20) ; if sdate >= 시스템적용일 and stime >= 시스템시작시간 Then { Condition1 = true; } if Condition1 == true then { if CrossUp(var1,Var2) Then buy(); if CrossDown(var1,var2) Then Sell(); } if sdate != sdate[1] Then SetStopEndofday(223000); *항상 많은 도움에 고맙습니다.