커뮤니티

안녕하세요 만들어주신 시스템 보완중입니다.

프로필 이미지
SaS하이에나
2024-05-21 16:58:52
905
글번호 179820
답변완료

첨부 이미지

기존식입니다 input : N(24); var1 = H-L; Var2 = ma(var1,N); Var3 = var1/Var2[1]; var4 = (C-L)/(O-L); if MarketPosition == 0 and Var3 > 1.5 and C < O and Var4 > 0.618 Then { Buy("b"); ExitLong("bx1",AtStop,L+(H-L)*0.236); } if MarketPosition == 1 Then { ExitLong("bx2",AtStop,L[BarsSinceEntry]+(H[BarsSinceEntry]-L[BarsSinceEntry])*0.236); } 수정식입니다 inputs : N(24), A(1.5), B(0.618), D(0.236); #A=봉크기, B=회복률, D=재하락 var1 = H-L; Var2 = ma(var1,N); Var3 = (O-L)/var2[1]; var4 = (C-L)/(O-L); if MarketPosition == 0 and Var3 > A and C < O and Var4 > B Then { Buy("b"); ExitLong("bx1",AtStop,L+(H-L)*D); Sell("bx2",AtStop,L+(H-L)*D); } if MarketPosition == 1 Then { ExitLong("bx3",AtStop,L[BarsSinceEntry]+(H[BarsSinceEntry]-L[BarsSinceEntry])*D); Sell("bx4",AtStop,L[BarsSinceEntry]+(H[BarsSinceEntry]-L[BarsSinceEntry])*D); } 변수로 설정할 부분은 변수로 수정했고 음봉꼬리에서만 잡고 싶은데 양봉꼬리에서도 매수신호가 뜨길래 Var3 = var1/Var2[1] 를 Var3 = (O-L)/var2[1] 로 수정했습니다 1.궁금한점 원 식에서 bx1과 bx2 의 차이점이 BarsSinceEntry 인거같은데 bx1은 바로 진입봉 다음봉까지만 체크하는거고 bx2는 계속 조건을 감시하는건가요? 2.꼬리봉에서만 매수하는것이 아니라 사진에서 까만 동그라미처럼 긴 음봉이후 양봉으로 0.618의 회복률을 달성했을때 매수하는 조건도 추가하고 싶습니다 3.손익절 수단을 고려중인데 a.손절은 단순 틱수로 b.익절은 트레일링 스탑으로 설정 가능할까요? 아마 장중 움직임 감시는 테스트 안될거 같고 종가기준으로 수익중인 포지션에서 틱수의 x% 만큼 하락하면 익절하고싶습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-05-22 09:56:33

안녕하세요 예스스탁입니다. 1 예 맞습니다. bx1은 진입봉 다음봉만 감시하고 다다음봉부터는 bx2로 감시하게 됩니다. if문이 봉완성시로 체크하는데 진입이 봉완성시 진입이고 다음봉 부터 MarketPosition == 1이 됩니다. 그러므로 bx2로는 진입봉 다음봉에 신호를 발생할 수 없어 진입과 동시에 셋팅이 되서 다음봉을 감시하는 bx1이 추가된 내용입니다. 2 봉완성기준으로 Var3 > A and C < O 발생하면 다음봉에서 음봉길이의 0.618 회복하면 즉입하면 되므로 해당 내용은 즉시 진입으로 가능합니다. 해당 진입은 Var3 > A and C < O 이고 Var4 < B일때 진입하게 작성해 드립니다. 3 트레일링스탑은 최소수익 달성이후에 수익폭이 일정율 감소하면 청산되게 작성해 드립니다. 4 inputs : N(24), A(1.5), B(0.618), D(0.236); inputs : 손절틱수(10),최소수익틱수(10),수익감소율(50); var1 = H-L; Var2 = ma(var1,N); Var3 = var1/Var2[1]; var4 = (C-L)/(O-L); #무포지션 if MarketPosition == 0 Then { #봉완성시 평균봉길이 대비 1.5배인 음봉이고 종가가 61.8%이상의 회복한 종가로 끝나면 #봉완성시 매수 if Var3 > 1.5 and C < O and Var4 > B Then { Buy("b1"); ExitLong("bx11",AtStop,L+(H-L)*D); Sell("bx12",AtStop,L+(H-L)*D); } #봉완성시 평균봉길이 대비 1.5배인 음봉이었지만 종가가 61.8%이상의 회복하지 못한 종가로 끝났다면 #다음봉에서 음봉의 몸통길이의 61.8% 이상인 가격이 발생하면 즉시 매수 if Var3 > 1.5 and C < O and Var4 < B Then { Buy("b2",AtStop,L+(H-L)*b); ExitLong("bx21",AtStop,L+(H-L)*0.236); Sell("bx22",AtStop,L+(H-L)*D); } } if MarketPosition == 1 Then { ExitLong("bx2",AtStop,L[BarsSinceEntry]+(H[BarsSinceEntry]-L[BarsSinceEntry])*0.236); Sell("bx4",AtStop,L[BarsSinceEntry]+(H[BarsSinceEntry]-L[BarsSinceEntry])*D); if highest(H,BarsSinceEntry) >= EntryPrice+ PriceScale*최소수익틱수 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-(highest(H,BarsSinceEntry)-EntryPrice)*수익감소율); } SetStopLoss(PriceScale*손절틱수,PointStop); 즐거운 하루되세요 > SaS하이에나 님이 쓴 글입니다. > 제목 : 안녕하세요 만들어주신 시스템 보완중입니다. > 기존식입니다 input : N(24); var1 = H-L; Var2 = ma(var1,N); Var3 = var1/Var2[1]; var4 = (C-L)/(O-L); if MarketPosition == 0 and Var3 > 1.5 and C < O and Var4 > 0.618 Then { Buy("b"); ExitLong("bx1",AtStop,L+(H-L)*0.236); } if MarketPosition == 1 Then { ExitLong("bx2",AtStop,L[BarsSinceEntry]+(H[BarsSinceEntry]-L[BarsSinceEntry])*0.236); } 수정식입니다 inputs : N(24), A(1.5), B(0.618), D(0.236); #A=봉크기, B=회복률, D=재하락 var1 = H-L; Var2 = ma(var1,N); Var3 = (O-L)/var2[1]; var4 = (C-L)/(O-L); if MarketPosition == 0 and Var3 > A and C < O and Var4 > B Then { Buy("b"); ExitLong("bx1",AtStop,L+(H-L)*D); Sell("bx2",AtStop,L+(H-L)*D); } if MarketPosition == 1 Then { ExitLong("bx3",AtStop,L[BarsSinceEntry]+(H[BarsSinceEntry]-L[BarsSinceEntry])*D); Sell("bx4",AtStop,L[BarsSinceEntry]+(H[BarsSinceEntry]-L[BarsSinceEntry])*D); } 변수로 설정할 부분은 변수로 수정했고 음봉꼬리에서만 잡고 싶은데 양봉꼬리에서도 매수신호가 뜨길래 Var3 = var1/Var2[1] 를 Var3 = (O-L)/var2[1] 로 수정했습니다 1.궁금한점 원 식에서 bx1과 bx2 의 차이점이 BarsSinceEntry 인거같은데 bx1은 바로 진입봉 다음봉까지만 체크하는거고 bx2는 계속 조건을 감시하는건가요? 2.꼬리봉에서만 매수하는것이 아니라 사진에서 까만 동그라미처럼 긴 음봉이후 양봉으로 0.618의 회복률을 달성했을때 매수하는 조건도 추가하고 싶습니다 3.손익절 수단을 고려중인데 a.손절은 단순 틱수로 b.익절은 트레일링 스탑으로 설정 가능할까요? 아마 장중 움직임 감시는 테스트 안될거 같고 종가기준으로 수익중인 포지션에서 틱수의 x% 만큼 하락하면 익절하고싶습니다.