커뮤니티

수식 확인요청

프로필 이미지
뽄때
2016-04-16 08:54:25
102
글번호 97158
답변완료
수식확인 부탁드립니다 아래의 식에서 "손절"을 당한 다음에는 다시 진입하고 싶지 않은데 계속 매수 싸인이 들어오네요... 수정부탁드립니다 input : 시작일(20160412), 시간(090000); input : P(20),dv(2),sto1(25),sto2(6),sto3(6),금액(1100000),shortPeriod(5), longPeriod(60), 손절선(100000), 익절선(1000000); var : BBup(0),BBdn(0),stok(0),stoD(0),BuySetup(true),ExitSetup1(false); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); BBup = BollBandUp(P,dv); BBdn = BollBandDown(P,dv); stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); if IsExitName("손절") then BuySetup = false; if IsExitName("하단이탈") then BuySetup = true; if IsExitName("목표수익") then BuySetup = true; if IsExitName("상단매도") then BuySetup = true; # 시가가 밴드하단 보다 높으며, 현재가가 밴드하단+1.5%이하로 내려가면 즉시매수 if BuySetup == true Then{ if NextBarOpen > BBdn and BBdn > value2 and BBup >= BBdn*1.05 and sdate >= 시작일 Then buy("매수1",Atlimit,Bbdn*1.015,Floor(금액/C)); # 완성봉 기준으로 밴드하단 ~ +1.5% 사이에 있으면 매수 if C >= BBdn and C <= BBdn*1.015 and BBdn > value2 and BBup >= BBdn*1.06 Then buy("매수2",OnClose,def,Floor(금액/C)); # 시가가 밴드 밑에 있다가 밴드를 뚫고 밴드+1.5%까지 상승하면 바로 매수 if NextBarOpen <= BBdn and BBdn > value2 and BBup >= BBdn*1.06 Then buy("매수3",atstop,Bbdn*1.015,Floor(금액/C)); } if MarketPosition == 1 Then{ ExitLong("상단매도",atlimit,BBup); ExitLong("목표수익",atlimit,EntryPrice*1.20); # ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.90); if CrossDown(C,BBdn) Then ExitLong("하단이탈"); } # 손절선 이탈시 매도 if CrossDown(C,손절선) Then{ ExitLong("손절"); } # 순간적으로 전고점 도달시 익절 ExitLong("익절",atlimit,익절선); SetStopLoss(10,PercentStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-04-18 11:00:39

안녕하세요 예스스탁입니다. 청산과 관련된 함수는 기본값이 1입니다. 아래와 같이 IsExitName의 두번째 매개변수로 1을 지정하셔야 합니다. if IsExitName("손절",1) == true then BuySetup = false; if IsExitName("하단이탈",1) == true then BuySetup = true; if IsExitName("목표수익",1) == true then BuySetup = true; if IsExitName("상단매도",1) == true then BuySetup = true; 즐거운 하루되세요 > 뽄때 님이 쓴 글입니다. > 제목 : 수식 확인요청 > 수식확인 부탁드립니다 아래의 식에서 "손절"을 당한 다음에는 다시 진입하고 싶지 않은데 계속 매수 싸인이 들어오네요... 수정부탁드립니다 input : 시작일(20160412), 시간(090000); input : P(20),dv(2),sto1(25),sto2(6),sto3(6),금액(1100000),shortPeriod(5), longPeriod(60), 손절선(100000), 익절선(1000000); var : BBup(0),BBdn(0),stok(0),stoD(0),BuySetup(true),ExitSetup1(false); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); BBup = BollBandUp(P,dv); BBdn = BollBandDown(P,dv); stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); if IsExitName("손절") then BuySetup = false; if IsExitName("하단이탈") then BuySetup = true; if IsExitName("목표수익") then BuySetup = true; if IsExitName("상단매도") then BuySetup = true; # 시가가 밴드하단 보다 높으며, 현재가가 밴드하단+1.5%이하로 내려가면 즉시매수 if BuySetup == true Then{ if NextBarOpen > BBdn and BBdn > value2 and BBup >= BBdn*1.05 and sdate >= 시작일 Then buy("매수1",Atlimit,Bbdn*1.015,Floor(금액/C)); # 완성봉 기준으로 밴드하단 ~ +1.5% 사이에 있으면 매수 if C >= BBdn and C <= BBdn*1.015 and BBdn > value2 and BBup >= BBdn*1.06 Then buy("매수2",OnClose,def,Floor(금액/C)); # 시가가 밴드 밑에 있다가 밴드를 뚫고 밴드+1.5%까지 상승하면 바로 매수 if NextBarOpen <= BBdn and BBdn > value2 and BBup >= BBdn*1.06 Then buy("매수3",atstop,Bbdn*1.015,Floor(금액/C)); } if MarketPosition == 1 Then{ ExitLong("상단매도",atlimit,BBup); ExitLong("목표수익",atlimit,EntryPrice*1.20); # ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.90); if CrossDown(C,BBdn) Then ExitLong("하단이탈"); } # 손절선 이탈시 매도 if CrossDown(C,손절선) Then{ ExitLong("손절"); } # 순간적으로 전고점 도달시 익절 ExitLong("익절",atlimit,익절선); SetStopLoss(10,PercentStop);