커뮤니티

수식 추가 요청

프로필 이미지
뽄때
2016-04-08 09:13:34
114
글번호 96966
답변완료
안녕하세요 항상 많은 도움을 주셔서 감사합니다 아래의 식에서 손절식을 하나 추가 하고자 합니다 "매수", 또는 "매수2"로 매수가 된 이후에 손절을 하나 추가하는데.. 매수되기 이전의 10개 캔들내에서 최저점을 인식하고, 이값을 하향이탈하면 손절하는 식을 추가하고자 합니다. 물론 매수된 캔들도 포함해서 말입니다. 수식 부탁드립니다. input : 시작일(20160315), 시간(090000); Input : Period(25), Period1(6), Period2(6), MAP(5),금액(1000000),P1(25200), P2(1000000); var : StoK(0),StoD(0),mav(0),SH(0),cross(0),Dncnt(0); Var : Lvalue(0), Hvalue(0),FK(0),BuySetup(true),ExitSetup1(false),ExitSetup2(false); # 단순 스톡케스틱 Lvalue = Lowest(L, Period); Hvalue = Highest(H, Period); FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100; StoK = ma(FK,Period1); StoD = ma(StoK,Period2); # 5일 이평선 mav = ma(C,MAP); #%k가 20을 하향돌파하면 BuySetup은 true if Stok <= 20 Then{ BuySetup = true; } #%k가 30이상 상승하면 BuySetup은 false if Stok >= 20 Then BuySetup = false; if sdate >= 시작일 and sTime >= 시간 then{ #골든크로스 발생하면 매수 if crossup(stok,stod) and C > mav and stok < 30 and MarketPosition == 0 Then buy("매수",OnClose,def, Floor(금액/C)); if crossup(C,mav) and StoK > StoD and stok < 30 and MarketPosition == 0 Then buy("매수2",OnClose,def, Floor(금액/C)); } #매수포지션 진입 조건 if MarketPosition == 1 Then{ #매수포지션에 진입하면 BuySetup은 false BuySetup = false; } #매도포지션 진입 #과매수구간 70이상에서 D,C발생시 매도 if CrossDown(stok,stod) and C < mav and stok > 70 Then{ ExitLong("매도1"); } #과매수구간 70이상에서 5일이평선 이탈시 매도 if CrossDown(c,mav) and StoK < StoD and stok > 70 Then{ ExitLong("매도2"); } # 손절선 이탈시 매도 if CrossDown(C,P1) Then{ ExitLong("손절"); } # 순간적으로 전고점 도달시 익절 ExitLong("익절2",atlimit,P2); #목표수익 3% # SetStopProfittarget(3.0,PercentStop); #목표수익 3% SetStopLoss(5.0,PercentStop); # 트레일링 스탑 # ExitLong("Btr",AtStop,highest(H,BarsSinceEntry)*0.96);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-04-08 11:48:34

안녕하세요 예스스탁입니다. input : 시작일(20160315), 시간(090000); Input : Period(25), Period1(6), Period2(6), MAP(5),금액(1000000),P1(25200), P2(1000000); var : StoK(0),StoD(0),mav(0),SH(0),cross(0),Dncnt(0); Var : Lvalue(0), Hvalue(0),FK(0),BuySetup(true),ExitSetup1(false),ExitSetup2(false); # 단순 스톡케스틱 Lvalue = Lowest(L, Period); Hvalue = Highest(H, Period); FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100; StoK = ma(FK,Period1); StoD = ma(StoK,Period2); # 5일 이평선 mav = ma(C,MAP); #%k가 20을 하향돌파하면 BuySetup은 true if Stok <= 20 Then{ BuySetup = true; } #%k가 30이상 상승하면 BuySetup은 false if Stok >= 20 Then BuySetup = false; if sdate >= 시작일 and sTime >= 시간 then{ #골든크로스 발생하면 매수 if crossup(stok,stod) and C > mav and stok < 30 and MarketPosition == 0 Then buy("매수",OnClose,def, Floor(금액/C)); if crossup(C,mav) and StoK > StoD and stok < 30 and MarketPosition == 0 Then buy("매수2",OnClose,def, Floor(금액/C)); } #매수포지션 진입 조건 if MarketPosition == 1 Then{ #매수포지션에 진입하면 BuySetup은 false BuySetup = false; } #매도포지션 진입 #과매수구간 70이상에서 D,C발생시 매도 if CrossDown(stok,stod) and C < mav and stok > 70 Then{ ExitLong("매도1"); } #과매수구간 70이상에서 5일이평선 이탈시 매도 if CrossDown(c,mav) and StoK < StoD and stok > 70 Then{ ExitLong("매도2"); } # 손절선 이탈시 매도 if CrossDown(C,P1) Then{ ExitLong("손절"); } # 순간적으로 전고점 도달시 익절 ExitLong("익절2",atlimit,P2); #목표수익 3% # SetStopProfittarget(3.0,PercentStop); #목표수익 3% SetStopLoss(5.0,PercentStop); # 트레일링 스탑 # ExitLong("Btr",AtStop,highest(H,BarsSinceEntry)*0.96); if MarketPosition == 1 Then ExitLong("bx",AtStop,lowest(L,10)[BarsSinceEntry]); 즐거운 하루되세요 > 뽄때 님이 쓴 글입니다. > 제목 : 수식 추가 요청 > 안녕하세요 항상 많은 도움을 주셔서 감사합니다 아래의 식에서 손절식을 하나 추가 하고자 합니다 "매수", 또는 "매수2"로 매수가 된 이후에 손절을 하나 추가하는데.. 매수되기 이전의 10개 캔들내에서 최저점을 인식하고, 이값을 하향이탈하면 손절하는 식을 추가하고자 합니다. 물론 매수된 캔들도 포함해서 말입니다. 수식 부탁드립니다. input : 시작일(20160315), 시간(090000); Input : Period(25), Period1(6), Period2(6), MAP(5),금액(1000000),P1(25200), P2(1000000); var : StoK(0),StoD(0),mav(0),SH(0),cross(0),Dncnt(0); Var : Lvalue(0), Hvalue(0),FK(0),BuySetup(true),ExitSetup1(false),ExitSetup2(false); # 단순 스톡케스틱 Lvalue = Lowest(L, Period); Hvalue = Highest(H, Period); FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100; StoK = ma(FK,Period1); StoD = ma(StoK,Period2); # 5일 이평선 mav = ma(C,MAP); #%k가 20을 하향돌파하면 BuySetup은 true if Stok <= 20 Then{ BuySetup = true; } #%k가 30이상 상승하면 BuySetup은 false if Stok >= 20 Then BuySetup = false; if sdate >= 시작일 and sTime >= 시간 then{ #골든크로스 발생하면 매수 if crossup(stok,stod) and C > mav and stok < 30 and MarketPosition == 0 Then buy("매수",OnClose,def, Floor(금액/C)); if crossup(C,mav) and StoK > StoD and stok < 30 and MarketPosition == 0 Then buy("매수2",OnClose,def, Floor(금액/C)); } #매수포지션 진입 조건 if MarketPosition == 1 Then{ #매수포지션에 진입하면 BuySetup은 false BuySetup = false; } #매도포지션 진입 #과매수구간 70이상에서 D,C발생시 매도 if CrossDown(stok,stod) and C < mav and stok > 70 Then{ ExitLong("매도1"); } #과매수구간 70이상에서 5일이평선 이탈시 매도 if CrossDown(c,mav) and StoK < StoD and stok > 70 Then{ ExitLong("매도2"); } # 손절선 이탈시 매도 if CrossDown(C,P1) Then{ ExitLong("손절"); } # 순간적으로 전고점 도달시 익절 ExitLong("익절2",atlimit,P2); #목표수익 3% # SetStopProfittarget(3.0,PercentStop); #목표수익 3% SetStopLoss(5.0,PercentStop); # 트레일링 스탑 # ExitLong("Btr",AtStop,highest(H,BarsSinceEntry)*0.96);