커뮤니티

부탁드립니다.

프로필 이미지
라떼처럼
2020-04-16 23:53:35
853
글번호 137974
답변완료
감사합니다. 다시 한번 부탁드립니다. TR3와 R3의 값이 StopTrailing, StopLoss 된 후 다음 바에 한번씩 만 표시될 수 있도록 부탁드립니다. 마지막 StopTrailing, StopLoss 된 값이 R3값이 반영되도록 StopTrailing, StopLoss 된 후 다음 바에 표시될 수 있도록 부탁드립니다. input : 시작(40), 종료(50); input : 손절(20),익절(15),익절하락(3); input : P1(30), P2(120), p3(240); input : StartTime(090000),EndTime(050000); var : tt(0),tx(0),X(false),tx1(0),cnt(0),sum(0); var: Tcond(false),ht(0),lcnt(0),trcnt(0),R(-1); Array : XX[200](-1); ## 카운트3 var : tx3(0),cnt3(0),sum3(0),lcnt3(0),trcnt3(0),R3(-1), TR3(0), GR3(0); Array : XX3[200](-1); var1 = ma(C, P1); var2 = ma(C, P2); var3 = ma(C, P3); if TotalTrades >= 300 Then value1 = 0.03; else if 200 < TotalTrades and TotalTrades < 300 Then value1 = 0.04; else value1 = 0.05; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; tt = 0; X = false; } if Tcond == true then { if marketposition == 0 and crossup(var1,var2) Then { if Condition3 == true then #### <-- 수정요청 buy("B1■"); Else buy("B1"); } if marketposition == 0 and crossdown(var1,var2) Then { if Condition3 == true then #### <-- 수정요청 sell("S1■"); Else sell("S1"); } if marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then { if Condition3 == true then #### <-- 수정요청 buy("B2■"); Else buy("B2"); } if marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then { if Condition3 == true then #### <-- 수정요청 sell("S2■"); Else sell("S2"); } ## 청산 if MarketPosition == 1 then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } if MarketPosition == -1 Then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } } if TotalTrades > TotalTrades[1] then { if IsExitName("StopLoss",1) == true then { lcnt3 = lcnt3+1; XX3[0] = 0; for cnt3 = 1 to 199 { XX3[cnt3] = XX3[cnt3-1][1]; } if Floor((trcnt3+lcnt3)*(value1)) > 1 then { sum3 = 0; for cnt3 = 0 to Floor((trcnt3+lcnt3)*(value1))-1 { if XX3[cnt3] == 1 Then sum3 = sum3 + 1; } R3 = sum3/Floor((trcnt3+lcnt3)*(value1))*100; } } if IsExitName("StopTrailing",1) == true then { trcnt3 = trcnt3+1; XX3[0] = 1; for cnt3 = 1 to 199 { XX3[cnt3] = XX3[cnt3-1][1]; } if Floor((trcnt3+lcnt3)*(value1)) > 1 then { sum3 = 0; for cnt3 = 0 to Floor((trcnt3+lcnt3)*(value1))-1 { if XX3[cnt3] == 1 Then sum3 = sum3+1; } R3 = sum3/Floor((trcnt3+lcnt3)*(value1))*100; } } TR3 = trcnt3/(trcnt3+lcnt3)*100 ; } if R3 <= 시작 and R3[1] > 시작 Then Condition3 = true; if Condition3 == true and R3 >= 종료 and R3[1] < 종료 Then Condition3 = false; Text_Delete(tx3); tx3 = Text_New(NextBarSdate,NextBarStime,H,NumToStr(TR3,1)+NewLine+NumToStr(R3,1)); Text_SetSize(tx3,15); Text_Setstyle(tx3,2,20); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = false; if MarketPosition == 1 Then { ExitLong("BE6"); } if MarketPosition == -1 Then { ExitShort("SE6"); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-04-17 10:29:41

안녕하세요 예스스탁입니다. input : 시작(40), 종료(50); input : 손절(20),익절(15),익절하락(3); input : P1(30), P2(120), p3(240); input : StartTime(090000),EndTime(050000); var : tt(0),tx(0),X(false),tx1(0),cnt(0),sum(0); var: Tcond(false),ht(0),lcnt(0),trcnt(0),R(-1); Array : XX[200](-1); ## 카운트3 var : tx3(0),cnt3(0),sum3(0),lcnt3(0),trcnt3(0),R3(-1), TR3(0), GR3(0); Array : XX3[200](-1); var1 = ma(C, P1); var2 = ma(C, P2); var3 = ma(C, P3); if TotalTrades >= 300 Then value1 = 0.03; else if 200 < TotalTrades and TotalTrades < 300 Then value1 = 0.04; else value1 = 0.05; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; tt = 0; X = false; } if Tcond == true then { if marketposition == 0 and crossup(var1,var2) Then { if Condition3 == true then #### <-- 수정요청 buy("B1■"); Else buy("B1"); } if marketposition == 0 and crossdown(var1,var2) Then { if Condition3 == true then #### <-- 수정요청 sell("S1■"); Else sell("S1"); } if marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then { if Condition3 == true then #### <-- 수정요청 buy("B2■"); Else buy("B2"); } if marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then { if Condition3 == true then #### <-- 수정요청 sell("S2■"); Else sell("S2"); } ## 청산 if MarketPosition == 1 then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } if MarketPosition == -1 Then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } } if TotalTrades > TotalTrades[1] then { if IsExitName("StopLoss",1) == true then { lcnt3 = lcnt3+1; XX3[0] = 0; for cnt3 = 1 to 199 { XX3[cnt3] = XX3[cnt3-1][1]; } if Floor((trcnt3+lcnt3)*(value1)) > 1 then { sum3 = 0; for cnt3 = 0 to Floor((trcnt3+lcnt3)*(value1))-1 { if XX3[cnt3] == 1 Then sum3 = sum3 + 1; } R3 = sum3/Floor((trcnt3+lcnt3)*(value1))*100; } } if IsExitName("StopTrailing",1) == true then { trcnt3 = trcnt3+1; XX3[0] = 1; for cnt3 = 1 to 199 { XX3[cnt3] = XX3[cnt3-1][1]; } if Floor((trcnt3+lcnt3)*(value1)) > 1 then { sum3 = 0; for cnt3 = 0 to Floor((trcnt3+lcnt3)*(value1))-1 { if XX3[cnt3] == 1 Then sum3 = sum3+1; } R3 = sum3/Floor((trcnt3+lcnt3)*(value1))*100; } } TR3 = trcnt3/(trcnt3+lcnt3)*100 ; if IsExitName("StopLoss",1) == true or IsExitName("StopTrailing",1) == true then { #Text_Delete(tx3); tx3 = Text_New(NextBarSdate,NextBarStime,H,NumToStr(TR3,1)+NewLine+NumToStr(R3,1)); Text_SetSize(tx3,15); Text_Setstyle(tx3,2,20); } } if R3 <= 시작 and R3[1] > 시작 Then Condition3 = true; if Condition3 == true and R3 >= 종료 and R3[1] < 종료 Then Condition3 = false; if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = false; if MarketPosition == 1 Then { ExitLong("BE6"); } if MarketPosition == -1 Then { ExitShort("SE6"); } } 즐거운 하루되세요 > 라떼처럼 님이 쓴 글입니다. > 제목 : 부탁드립니다. > 감사합니다. 다시 한번 부탁드립니다. TR3와 R3의 값이 StopTrailing, StopLoss 된 후 다음 바에 한번씩 만 표시될 수 있도록 부탁드립니다. 마지막 StopTrailing, StopLoss 된 값이 R3값이 반영되도록 StopTrailing, StopLoss 된 후 다음 바에 표시될 수 있도록 부탁드립니다. input : 시작(40), 종료(50); input : 손절(20),익절(15),익절하락(3); input : P1(30), P2(120), p3(240); input : StartTime(090000),EndTime(050000); var : tt(0),tx(0),X(false),tx1(0),cnt(0),sum(0); var: Tcond(false),ht(0),lcnt(0),trcnt(0),R(-1); Array : XX[200](-1); ## 카운트3 var : tx3(0),cnt3(0),sum3(0),lcnt3(0),trcnt3(0),R3(-1), TR3(0), GR3(0); Array : XX3[200](-1); var1 = ma(C, P1); var2 = ma(C, P2); var3 = ma(C, P3); if TotalTrades >= 300 Then value1 = 0.03; else if 200 < TotalTrades and TotalTrades < 300 Then value1 = 0.04; else value1 = 0.05; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; tt = 0; X = false; } if Tcond == true then { if marketposition == 0 and crossup(var1,var2) Then { if Condition3 == true then #### <-- 수정요청 buy("B1■"); Else buy("B1"); } if marketposition == 0 and crossdown(var1,var2) Then { if Condition3 == true then #### <-- 수정요청 sell("S1■"); Else sell("S1"); } if marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then { if Condition3 == true then #### <-- 수정요청 buy("B2■"); Else buy("B2"); } if marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then { if Condition3 == true then #### <-- 수정요청 sell("S2■"); Else sell("S2"); } ## 청산 if MarketPosition == 1 then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } if MarketPosition == -1 Then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } } if TotalTrades > TotalTrades[1] then { if IsExitName("StopLoss",1) == true then { lcnt3 = lcnt3+1; XX3[0] = 0; for cnt3 = 1 to 199 { XX3[cnt3] = XX3[cnt3-1][1]; } if Floor((trcnt3+lcnt3)*(value1)) > 1 then { sum3 = 0; for cnt3 = 0 to Floor((trcnt3+lcnt3)*(value1))-1 { if XX3[cnt3] == 1 Then sum3 = sum3 + 1; } R3 = sum3/Floor((trcnt3+lcnt3)*(value1))*100; } } if IsExitName("StopTrailing",1) == true then { trcnt3 = trcnt3+1; XX3[0] = 1; for cnt3 = 1 to 199 { XX3[cnt3] = XX3[cnt3-1][1]; } if Floor((trcnt3+lcnt3)*(value1)) > 1 then { sum3 = 0; for cnt3 = 0 to Floor((trcnt3+lcnt3)*(value1))-1 { if XX3[cnt3] == 1 Then sum3 = sum3+1; } R3 = sum3/Floor((trcnt3+lcnt3)*(value1))*100; } } TR3 = trcnt3/(trcnt3+lcnt3)*100 ; } if R3 <= 시작 and R3[1] > 시작 Then Condition3 = true; if Condition3 == true and R3 >= 종료 and R3[1] < 종료 Then Condition3 = false; Text_Delete(tx3); tx3 = Text_New(NextBarSdate,NextBarStime,H,NumToStr(TR3,1)+NewLine+NumToStr(R3,1)); Text_SetSize(tx3,15); Text_Setstyle(tx3,2,20); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = false; if MarketPosition == 1 Then { ExitLong("BE6"); } if MarketPosition == -1 Then { ExitShort("SE6"); } }