커뮤니티

수식변경 부탁합니다

프로필 이미지
뽄때
2018-05-15 19:35:12
127
글번호 118931
답변완료
아래의 수식에서 BuySetup = true 가 되는 조건을 주가의 최저가격이(L) 하단밴드를 터치하면 BuySetup = true가 되도록 하였습니다. BuySetup이 true가 된 이후에 양봉이 발생하면(C > O) 매수하도록 하였느데, 문제는 터치한 봉은 매수에서 제외하고 싶습니다. 즉 BuySetup이 true를 발생시킨 봉은 제외하고 그 다음봉중에서 양봉이 발생하면 매수하는 조건으로 변경하고 싶습니다 부탁드립니다^^ 그리고 매수조건에서 이전 30개 봉중에서 최고점에서 20%이상 하락해야 매수할 수 있도록 변경부탁드립니다. 즉 if BuySetup == true and C > O and (이전 20개봉중에서 최고점대비 20%이상 하락) and MarketPosition == 0 Then buy if MarketPosition == 0 and C < BBdn and (sDate >= 셋업일) and (sDate < 종료일) Then BuySetup = true; 으로 설정하니 하단밴드를 이탈해야 BuySetup = true가 되더군요... 하단밴드를 이탈안해도 좋고 하단밴드를 터치만 해도 BuySetup = true가 되도록 수식변경을 요청드립니다. ======================================================================================= input : 셋업일(20170717),시작시간(090000),종료일(20181231),P(20),Period3(14),dv(2),sto1(25),sto2(6),sto3(6),MAP(5),N(21), 금액(50000),목표수익(1.2),절반매도(1.08),목표가(1000000),손절가(1000000),스탑로스(6),TR스탑(0.93),RS수준(40); var : BBup(0),BBdn(0),BBMid(0),stok(0),stoD(0),RS(0),BuySetup(true),ExitSetup1(false),Xcond(false),mav(0),Dncnt(0); # 5일 이평선 mav = ma(C,MAP); # RSI RS = RSI(Period3); # 볼린져밴드 BBup = BollBandUp(P,dv); BBMid = ma(C,P); BBdn = BollBandDown(P,dv); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); # 캔들이 하단밴드를 하향 이탈 또는 겝으로 출발하여 밴드하단선 이하에 종료될때 buysetup = true if TotalTrades > TotalTrades[1] Then BuySetup = false; if MarketPosition == 0 and L< BBdn Then BuySetup = true; # buysetup = true가 발생된 이후에 양봉발생하면 매수 if BuySetup == true and C > O and MarketPosition == 0 Then buy("매수",OnClose,def,Floor(금액/C));
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-05-16 10:09:17

안녕하세요 예스스탁입니다. input : 셋업일(20170717),시작시간(090000),종료일(20181231),P(20),Period3(14),dv(2),sto1(25),sto2(6),sto3(6),MAP(5),N(21), 금액(50000),목표수익(1.2),절반매도(1.08),목표가(1000000),손절가(1000000),스탑로스(6),TR스탑(0.93),RS수준(40); var : BBup(0),BBdn(0),BBMid(0),stok(0),stoD(0),RS(0),BuySetup(true),ExitSetup1(false),Xcond(false),mav(0),Dncnt(0),BuySetupindex(0); # 5일 이평선 mav = ma(C,MAP); # RSI RS = RSI(Period3); # 볼린져밴드 BBup = BollBandUp(P,dv); BBMid = ma(C,P); BBdn = BollBandDown(P,dv); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); # 캔들이 하단밴드를 하향 이탈 또는 겝으로 출발하여 밴드하단선 이하에 종료될때 buysetup = true if TotalTrades > TotalTrades[1] Then BuySetup = false; if MarketPosition == 0 and L <= BBdn Then{ BuySetup = true; BuySetupindex = index; } # buysetup = true가 발생된 이후에 양봉발생하면 매수 if MarketPosition == 0 and BuySetup == true and index > BuySetupindex and C > O and C <= highest(H,20)*0.80 Then buy("매수",OnClose,def,Floor(금액/C)); 즐거운 하루되세요 > 뽄때 님이 쓴 글입니다. > 제목 : 수식변경 부탁합니다 > 아래의 수식에서 BuySetup = true 가 되는 조건을 주가의 최저가격이(L) 하단밴드를 터치하면 BuySetup = true가 되도록 하였습니다. BuySetup이 true가 된 이후에 양봉이 발생하면(C > O) 매수하도록 하였느데, 문제는 터치한 봉은 매수에서 제외하고 싶습니다. 즉 BuySetup이 true를 발생시킨 봉은 제외하고 그 다음봉중에서 양봉이 발생하면 매수하는 조건으로 변경하고 싶습니다 부탁드립니다^^ 그리고 매수조건에서 이전 30개 봉중에서 최고점에서 20%이상 하락해야 매수할 수 있도록 변경부탁드립니다. 즉 if BuySetup == true and C > O and (이전 20개봉중에서 최고점대비 20%이상 하락) and MarketPosition == 0 Then buy if MarketPosition == 0 and C < BBdn and (sDate >= 셋업일) and (sDate < 종료일) Then BuySetup = true; 으로 설정하니 하단밴드를 이탈해야 BuySetup = true가 되더군요... 하단밴드를 이탈안해도 좋고 하단밴드를 터치만 해도 BuySetup = true가 되도록 수식변경을 요청드립니다. ======================================================================================= input : 셋업일(20170717),시작시간(090000),종료일(20181231),P(20),Period3(14),dv(2),sto1(25),sto2(6),sto3(6),MAP(5),N(21), 금액(50000),목표수익(1.2),절반매도(1.08),목표가(1000000),손절가(1000000),스탑로스(6),TR스탑(0.93),RS수준(40); var : BBup(0),BBdn(0),BBMid(0),stok(0),stoD(0),RS(0),BuySetup(true),ExitSetup1(false),Xcond(false),mav(0),Dncnt(0); # 5일 이평선 mav = ma(C,MAP); # RSI RS = RSI(Period3); # 볼린져밴드 BBup = BollBandUp(P,dv); BBMid = ma(C,P); BBdn = BollBandDown(P,dv); # 스톡케스틱 stok = StochasticsK(sto1,sto2); Stod = StochasticsD(sto1,sto2,sto3); # 캔들이 하단밴드를 하향 이탈 또는 겝으로 출발하여 밴드하단선 이하에 종료될때 buysetup = true if TotalTrades > TotalTrades[1] Then BuySetup = false; if MarketPosition == 0 and L< BBdn Then BuySetup = true; # buysetup = true가 발생된 이후에 양봉발생하면 매수 if BuySetup == true and C > O and MarketPosition == 0 Then buy("매수",OnClose,def,Floor(금액/C));