커뮤니티

수식변경 부탁드립니다.

프로필 이미지
뽄때
2018-11-26 18:02:04
219
글번호 123905
답변완료
아래 수식은 분봉으로 매수타점을 잡으면서 일봉의 이평선을 참조하도록 되어 있습니다. BuySetup = true가 되는 조건을 일봉의 이평선이 아니라 일봉의 볼린져밴드하단에 가까이 왔을때 true가 되는 조건으로 변경부탁드립니다. 즉 지금 일봉이평선+3% 이하로 떨어지면 true가 되도록 되어 있는데 이것을 일봉 볼린져밴드하단+3% 이내로 들어오면 true가 되도록 변경 부탁드립니다 input : 매수일(20171017),손절일(20180613),시작시간(090000),종료일(20181231),P(20),Period3(14),dv(2),sto1(25),sto2(6),sto3(6),매수MAP(5),청산MAP(20),N(21), 금액(5000000),목표수익(10000000),절반매도(1.10),스탑로스(10000000),TR스탑(10000),과매도값(90),과매수값(10),지정가손절(1),지정가목표(10000000); input : nday(10),Per(3); var : stok(0),stoD(0),RS(0),BuySetup(true),BuySetup2(true),ExitSetup1(false),Xcond(false),매수mav(0),청산mav(0),Dncnt(0); var : sum(0),DayMa(0),cnt(0); # 매수 이평선 매수mav = ma(C,매수MAP); # 청산 이평선 청산mav = ma(C,청산MAP); # RSI RS = RSI(Period3); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); #일봉이평 sum = 0; for cnt = 0 to nday-1 { sum = sum + DayClose(cnt); } DayMa = sum/nday; # 매수조건1 if TotalTrades > TotalTrades[1] Then BuySetup = false; if C <= DayMa*(1+Per/100) and MarketPosition == 0 Then BuySetup = true; # if MarketPosition == 0 and RS < 35 and (sDate >= 셋업일) Then # BuySetup = true; # buysetup = true가 발생된 이후에 캔들이 5일 이평선을 통과매면 매수 if BuySetup == true and (매수mav > 청산mav) and (sDate >= 매수일) and (sDate <= 종료일) and MarketPosition == 0 Then buy("매수",OnClose,def,Floor(금액/C));
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-11-28 14:09:00

안녕하세요 예스스탁입니다. input : 매수일(20171017),손절일(20180613),시작시간(090000),종료일(20181231),P(20),Period3(14),sto1(25),sto2(6),sto3(6),매수MAP(5),청산MAP(20),N(21), 금액(5000000),목표수익(10000000),절반매도(1.10),스탑로스(10000000),TR스탑(10000),과매도값(90),과매수값(10),지정가손절(1),지정가목표(10000000); input : BBP(10),dv(2),Per(3); var : stok(0),stoD(0),RS(0),BuySetup(true),BuySetup2(true),ExitSetup1(false),Xcond(false),매수mav(0),청산mav(0),Dncnt(0); var : sum(0),mav(0),cnt(0),SumSqrt(0),Stdv(0),BBup(0),BBdn(0); # 매수 이평선 매수mav = ma(C,매수MAP); # 청산 이평선 청산mav = ma(C,청산MAP); # RSI RS = RSI(Period3); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); #일봉 볼밴 중단(이동평균) 계산 sum = 0; for cnt = 0 to BBP-1 { sum = sum + DayClose(cnt); } mav = sum/BBP; #표준편차 계산 SumSqrt = 0; For cnt = 0 To BBP - 1 { SumSqrt = SumSqrt + (DayClose(cnt) - mav)^2; } Stdv = SquareRoot(SumSqrt / BBP); # 일봉 볼린져밴드 계산 BBup = mav + (Dv * Stdv); BBdn = mav - (Dv * Stdv); # 매수조건1 if TotalTrades > TotalTrades[1] Then BuySetup = false; if C <= BBdn*(1+Per/100) and MarketPosition == 0 Then BuySetup = true; # if MarketPosition == 0 and RS < 35 and (sDate >= 셋업일) Then # BuySetup = true; # buysetup = true가 발생된 이후에 캔들이 5일 이평선을 통과매면 매수 if BuySetup == true and (매수mav > 청산mav) and (sDate >= 매수일) and (sDate <= 종료일) and MarketPosition == 0 Then buy("매수",OnClose,def,Floor(금액/C)); 즐거운 하루되세요 > 뽄때 님이 쓴 글입니다. > 제목 : 수식변경 부탁드립니다. > 아래 수식은 분봉으로 매수타점을 잡으면서 일봉의 이평선을 참조하도록 되어 있습니다. BuySetup = true가 되는 조건을 일봉의 이평선이 아니라 일봉의 볼린져밴드하단에 가까이 왔을때 true가 되는 조건으로 변경부탁드립니다. 즉 지금 일봉이평선+3% 이하로 떨어지면 true가 되도록 되어 있는데 이것을 일봉 볼린져밴드하단+3% 이내로 들어오면 true가 되도록 변경 부탁드립니다 input : 매수일(20171017),손절일(20180613),시작시간(090000),종료일(20181231),P(20),Period3(14),dv(2),sto1(25),sto2(6),sto3(6),매수MAP(5),청산MAP(20),N(21), 금액(5000000),목표수익(10000000),절반매도(1.10),스탑로스(10000000),TR스탑(10000),과매도값(90),과매수값(10),지정가손절(1),지정가목표(10000000); input : nday(10),Per(3); var : stok(0),stoD(0),RS(0),BuySetup(true),BuySetup2(true),ExitSetup1(false),Xcond(false),매수mav(0),청산mav(0),Dncnt(0); var : sum(0),DayMa(0),cnt(0); # 매수 이평선 매수mav = ma(C,매수MAP); # 청산 이평선 청산mav = ma(C,청산MAP); # RSI RS = RSI(Period3); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); #일봉이평 sum = 0; for cnt = 0 to nday-1 { sum = sum + DayClose(cnt); } DayMa = sum/nday; # 매수조건1 if TotalTrades > TotalTrades[1] Then BuySetup = false; if C <= DayMa*(1+Per/100) and MarketPosition == 0 Then BuySetup = true; # if MarketPosition == 0 and RS < 35 and (sDate >= 셋업일) Then # BuySetup = true; # buysetup = true가 발생된 이후에 캔들이 5일 이평선을 통과매면 매수 if BuySetup == true and (매수mav > 청산mav) and (sDate >= 매수일) and (sDate <= 종료일) and MarketPosition == 0 Then buy("매수",OnClose,def,Floor(금액/C));