커뮤니티

지표와 시스템 매수타점 차이

프로필 이미지
기사단장
2023-01-18 22:17:24
622
글번호 165547
답변완료

첨부 이미지

안녕하세요. 당일 오전 고점과 당일 저점을 피보나치 비율로 분할 매수하는 수식을 작성하였으나, 매수 매도 타점이 지표상 타점과 상이하여 원인이 무엇인지 문의드립니다. 1) 지표와 시스템식의 주요 피보나치식은 동일하나, 첫 매매 이후 다른 타점에서 거래가 되는데 원인이 무엇인지 알려주시면 감사하겠습니다. 2) 추가적으로 피보나치 비율에 따라 물타기 후 반등하여 상단 피보나치 도달 시 전량 매도 혹은 손절하는 수식 작성하였는데, 맞게 작성했는지 검토해주시면 감사하겠습니다. 1. 지표식-------------------------------- input :Per1(76.4),Per2(61.8),Per3(50.0),Per4(38.2),Per5(23.6); var : HH(0),LL(0),DD(0),TT(0); Input: GrowthRate(0.15); var: cnt(0),AvgDH(0),AvgDL(0),n(0),AL_Avg(0),AH(0); LL= DayLow; If H == DayHigh and sTime < 130000 Then { HH = H; } var1 = HH-(HH-LL)*(Per5/100); var2 = HH-(HH-LL)*(Per4/100); var3 = HH-(HH-LL)*(Per3/100); var4 = HH-(HH-LL)*(Per2/100); var5 = HH-(HH-LL)*(Per1/100); plot1(HH,"최고"); plot2(var1,"76.4"); plot3(var2,"61.8"); plot4(var3,"50.0"); plot5(var4,"38.2"); plot6(var5,"23.6"); plot7(LL,"최저"); ------------------------------------------ 2. 시스템 식------------------------------- #수수료율: 0.004% #거래세: (매도시) 0.25% input :Per1(76.4),Per2(61.8),Per3(50.0),Per4(38.2),Per5(23.6),Deposit(1000000),Rate(20); var : HH(0),LL(0),DD(0),TT(0); LL= DayLow; If H == DayHigh and sTime < 130000 Then { HH = H; } var1 = HH-(HH-LL)*(Per5/100); var2 = HH-(HH-LL)*(Per4/100); var3 = HH-(HH-LL)*(Per3/100); var4 = HH-(HH-LL)*(Per2/100); var5 = HH-(HH-LL)*(Per1/100); if MarketPosition == 0 and DayHigh >=DayClose(1)*(1+(rate/100)) Then { Buy("b1",AtLimit,var1,round((Deposit/var1)/6*1,0)); } Else if MarketPosition == 1 and LatestEntryName == "b1" Then { Buy("b2",AtLimit,var2,round((Deposit/var2)/6*2,0)); ExitLong("S1",Atlimit,var1*1.03); } Else if MarketPosition == 1 and latestEntryName == "b2" Then { Buy("b3",AtLimit,Var3,round((Deposit/var3)/6*3,0)); ExitLong("S2",AtLimit,var1); } Else if MarketPosition == 1 and latestEntryName == "b3" Then { ExitLong("S3",AtLimit,AvgEntryPrice); SetStopLoss(3,PercentStop); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-01-19 14:49:48

안녕하세요 예스스탁입니다. 1 atlimit과 atstop타입은 봉완성시 지정한 값을 셋팅하고 다음봉 미완성시 현재가와 셋팅된 값을 비교해 신호가 발생합니다. atlimit은 봉완성시 지정한 값을 셋팅하고 Buy와 exitshort은 지정한 값 이하의 시세발생시 즉시 신호발생. sell과 exitlong은 지정한 값 이상의 시세발생시 즉시 신호발생. 반대로 atstop타입은 봉완성시 지정한 값을 셋팅하고 Buy와 exitshort은 지정한 값 이상의 시세발생시 즉시 신호발생. sell과 exitlong은 지정한 값 이하의 시세발생시 즉시 신호발생. B1은 11월 12일에 4번째 봉에서 if조건이 만족하고 해당봉의 var1값이 셋팅되고 5번째봉의 시가(234,500)가 셋팅된 var1값(232,296)보다 작으므로 즉시 신호가 발생한것입니다. 신호는 위 구조로 발생합니다. 미완성시 if조건 만족체크해서 해당봉에 신호가 발생하는 것이 아니고 셋팅된 값도 완성봉기준입니다. 즉 신호발생기준으로는 전봉에서 셋팅된 값입니다. 이후에 발생하 b1도 무포지션이고 이미 var1값보다 가격이 낮아 있으므로 전부 시가에 즉시 신호가 발생하는 것이고 다른 b2,b3도 진입신호도 같습니다. 만약 가격이 내려서 해당 타점에 처음 터치 할때로 지정하시려면 if문에 L > var1와 같은 조건을 주셔야 합니다. 봉자체가 지정한 가격에 걸치지 않고 위에 있는 상태에서 내려와 터치할 때 신호가 발생하게 됩니다. 2 상단도달시 전량청산은 문제가 없습니다. 다만 강제청산 함수는 한번 셋팅되면 해당 셋팅이 유지됩니다. 또한 강제청산은 각 진입별로 지정한 %로 청산이 됩니다. b3진입전에는 발동하지 않는 내용이면 수식에 아래 내용 추가해 주셔야 하고 if MarketPosition == 0 Then SetStopLoss(0);#해제 3번째 진입후 3% 손실시 전량청산이면 일반청산함수로 작성하셔야 합니다. Else if MarketPosition == 1 and latestEntryName == "b3" Then { ExitLong("S3",AtLimit,AvgEntryPrice); ExitLong("bx",AtStop,LatestEntryPrice(0)*0.97); } 3 가격이 한봉에 여러타점을 한번에 통과할 수도 있습니다. 각 진입의 이름을 if문으로 체크하므로 진입후 최소 한개봉은 완성이 되어야 다음 진입에 발생 할 수 있습니다. 만약 한봉에 여러타점을 동시에 터치할때 진입도 가능하게 하려면 아래와 같이 작성하셔야 합니다. input :Per1(76.4),Per2(61.8),Per3(50.0),Per4(38.2),Per5(23.6),Deposit(1000000),Rate(20); var : HH(0),LL(0),DD(0),TT(0); LL= DayLow; If H == DayHigh and sTime < 130000 Then { HH = H; } var1 = HH-(HH-LL)*(Per5/100); var2 = HH-(HH-LL)*(Per4/100); var3 = HH-(HH-LL)*(Per3/100); var4 = HH-(HH-LL)*(Per2/100); var5 = HH-(HH-LL)*(Per1/100); if MarketPosition == 0 and DayHigh >=DayClose(1)*(1+(rate/100)) and L > var1 Then { Buy("b1.",AtLimit,var1,round((Deposit/var1)/6*1,0)); Buy("b2.",AtLimit,var2,round((Deposit/var2)/6*2,0)); Buy("b3.",AtLimit,var3,round((Deposit/var3)/6*3,0)); } if MarketPosition == 1 Then { if lowest(L,BarsSinceEntry) > Var2 Then Buy("b2",AtLimit,var2,round((Deposit/var2)/6*2,0)); if lowest(L,BarsSinceEntry) > Var3 Then Buy("b3",AtLimit,var3,round((Deposit/var2)/6*3,0)); if MaxEntries == 1 Then ExitLong("S1",Atlimit,var1*1.03); if MaxEntries == 2 Then ExitLong("S2",Atlimit,var1); if MaxEntries == 3 Then { ExitLong("S3",Atlimit,AvgEntryPrice); ExitLong("bx",AtStop,LatestEntryPrice(0)*0.97); } } 즐거운 하루되세요 > 기사단장 님이 쓴 글입니다. > 제목 : 지표와 시스템 매수타점 차이 > 안녕하세요. 당일 오전 고점과 당일 저점을 피보나치 비율로 분할 매수하는 수식을 작성하였으나, 매수 매도 타점이 지표상 타점과 상이하여 원인이 무엇인지 문의드립니다. 1) 지표와 시스템식의 주요 피보나치식은 동일하나, 첫 매매 이후 다른 타점에서 거래가 되는데 원인이 무엇인지 알려주시면 감사하겠습니다. 2) 추가적으로 피보나치 비율에 따라 물타기 후 반등하여 상단 피보나치 도달 시 전량 매도 혹은 손절하는 수식 작성하였는데, 맞게 작성했는지 검토해주시면 감사하겠습니다. 1. 지표식-------------------------------- input :Per1(76.4),Per2(61.8),Per3(50.0),Per4(38.2),Per5(23.6); var : HH(0),LL(0),DD(0),TT(0); Input: GrowthRate(0.15); var: cnt(0),AvgDH(0),AvgDL(0),n(0),AL_Avg(0),AH(0); LL= DayLow; If H == DayHigh and sTime < 130000 Then { HH = H; } var1 = HH-(HH-LL)*(Per5/100); var2 = HH-(HH-LL)*(Per4/100); var3 = HH-(HH-LL)*(Per3/100); var4 = HH-(HH-LL)*(Per2/100); var5 = HH-(HH-LL)*(Per1/100); plot1(HH,"최고"); plot2(var1,"76.4"); plot3(var2,"61.8"); plot4(var3,"50.0"); plot5(var4,"38.2"); plot6(var5,"23.6"); plot7(LL,"최저"); ------------------------------------------ 2. 시스템 식------------------------------- #수수료율: 0.004% #거래세: (매도시) 0.25% input :Per1(76.4),Per2(61.8),Per3(50.0),Per4(38.2),Per5(23.6),Deposit(1000000),Rate(20); var : HH(0),LL(0),DD(0),TT(0); LL= DayLow; If H == DayHigh and sTime < 130000 Then { HH = H; } var1 = HH-(HH-LL)*(Per5/100); var2 = HH-(HH-LL)*(Per4/100); var3 = HH-(HH-LL)*(Per3/100); var4 = HH-(HH-LL)*(Per2/100); var5 = HH-(HH-LL)*(Per1/100); if MarketPosition == 0 and DayHigh >=DayClose(1)*(1+(rate/100)) Then { Buy("b1",AtLimit,var1,round((Deposit/var1)/6*1,0)); } Else if MarketPosition == 1 and LatestEntryName == "b1" Then { Buy("b2",AtLimit,var2,round((Deposit/var2)/6*2,0)); ExitLong("S1",Atlimit,var1*1.03); } Else if MarketPosition == 1 and latestEntryName == "b2" Then { Buy("b3",AtLimit,Var3,round((Deposit/var3)/6*3,0)); ExitLong("S2",AtLimit,var1); } Else if MarketPosition == 1 and latestEntryName == "b3" Then { ExitLong("S3",AtLimit,AvgEntryPrice); SetStopLoss(3,PercentStop); }