커뮤니티

코딩 보완 요청

프로필 이미지
손추
2021-07-19 10:25:33
824
글번호 150846
답변완료
안녕하세요? 다음과 같은 매매로직에서 익절 청산이 되면 청산후 봉 2개정도는 다음 루틴 실행이 안되도록 보완해 주고 싶은데 어떻게 해야 하나요? 익절 청산후 바로 신호 나오는 경우가 있네요. 원치 않는 신호인데... ------------- input : P1(5),P2(20); input : sto1(10),sto2(5),sto3(5); var : stok(0),stod(0); var : mav1(0),mav2(0),T(0); stok = stochasticsK(sto1,sto2); stod = stochasticsD(sto1,sto2,sto3); mav1 = ma(C,P1); mav2 = ma(C,P2); if CrossUp(mav1,mav2) Then T = 1; if CrossDown(mav1,mav2) Then T = -1; if T == 1 and CrossUp(stok,stod) Then { T = 2; Buy("b"); } if T == -1 and CrossDown(stok,stod) Then { T = -2; Sell("s"); } SetStopProfittarget(1.5,PointStop); SetStopLoss(0.8,PointStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-07-20 13:43:12

안녕하세요 예스스탁입니다. input : P1(5),P2(20); input : sto1(10),sto2(5),sto3(5); var : stok(0),stod(0); var : mav1(0),mav2(0),T(0),Xcond(False); stok = stochasticsK(sto1,sto2); stod = stochasticsD(sto1,sto2,sto3); mav1 = ma(C,P1); mav2 = ma(C,P2); if CrossUp(mav1,mav2) Then T = 1; if CrossDown(mav1,mav2) Then T = -1; Xcond = MarketPosition == 0 and IsExitName("StopProfitTarget",1) == true and BarsSinceExit(1) <= 2; if T == 1 and CrossUp(stok,stod) Then { T = 2; if Xcond == False Then Buy("b"); } if T == -1 and CrossDown(stok,stod) Then { T = -2; if Xcond == False Then Sell("s"); } SetStopProfittarget(1.5,PointStop); SetStopLoss(0.8,PointStop); 즐거운 하루되세요 > 손추 님이 쓴 글입니다. > 제목 : 코딩 보완 요청 > 안녕하세요? 다음과 같은 매매로직에서 익절 청산이 되면 청산후 봉 2개정도는 다음 루틴 실행이 안되도록 보완해 주고 싶은데 어떻게 해야 하나요? 익절 청산후 바로 신호 나오는 경우가 있네요. 원치 않는 신호인데... ------------- input : P1(5),P2(20); input : sto1(10),sto2(5),sto3(5); var : stok(0),stod(0); var : mav1(0),mav2(0),T(0); stok = stochasticsK(sto1,sto2); stod = stochasticsD(sto1,sto2,sto3); mav1 = ma(C,P1); mav2 = ma(C,P2); if CrossUp(mav1,mav2) Then T = 1; if CrossDown(mav1,mav2) Then T = -1; if T == 1 and CrossUp(stok,stod) Then { T = 2; Buy("b"); } if T == -1 and CrossDown(stok,stod) Then { T = -2; Sell("s"); } SetStopProfittarget(1.5,PointStop); SetStopLoss(0.8,PointStop);