input : len(3),capital(100000000);
var : account(0),profitloss(0),Truestrength(0),Truestrengthsig(0),ATRVal(0),number(0);
ATRVal = H-L;
Truestrength = TSI(C, 4, 8, 6);
account=Capital+NetProfit();
number=Floor((account/ATRVal)*0.02);
if crossup(Truestrength,Truestrength[1]) Then
Buy("매수",OnClose,Def,number);
if CrossDown(Truestrength,Truestrength[1]) Then
Sell("매도",OnClose,Def,number);
위의 수식과
if crossup(Truestrength,Truestrength[1]) Then
Buy("매수",OnClose);
if CrossDown(Truestrength,Truestrength[1]) Then
Sell("매도",OnClose);
아래의 수식으로 했을 때의 매수,매도 타이밍(KQ종합)이 다르게 나옵니다.
위의 수식의 의도는 H-L를 리스크로 보고 계좌 총액의 2%를 리스크로 부담하는
수량만큼만 사자는 의도인데 KQ종합에 적용시키면 타이밍이 다르게 매수,매도가 됩니다.
예를 들자면 총자산 1억일 때 종가 1만원에 H-L이 1천원이라면
H-L을 총자산 1억의 2%인 200만원으로 만들어야 하므로 2천주 매수한다.
이런 개념으로 접근한 것인데 매수 매도 타이밍에 영향을 미치니 어디에서
논리적 오류가 난 것인지 확인 부탁드립니다.
답변 2
예스스탁
예스스탁 답변
2022-09-13 14:05:30
안녕하세요
예스스탁입니다.
number=Floor((account/ATRVal)*0.02);
number가 1 미만이면 신호가 발생하지 못합니다.
해당 계산내용을 살펴보셔야 합니다.
현재 작성하신 위 내용은 금액을 atr로 나누고 해당 값에서 2%를 취하게 됩니다.
금액의 2%를 atr로 나누게 하셔야 할 것 같습니다.
number=Floor(((account*0.02)/ATRVal));
즐거운 하루되세요
> 마녀58 님이 쓴 글입니다.
> 제목 : 리스크 관리 관련 질문입니다.
> input : len(3),capital(100000000);
var : account(0),profitloss(0),Truestrength(0),Truestrengthsig(0),ATRVal(0),number(0);
ATRVal = H-L;
Truestrength = TSI(C, 4, 8, 6);
account=Capital+NetProfit();
number=Floor((account/ATRVal)*0.02);
if crossup(Truestrength,Truestrength[1]) Then
Buy("매수",OnClose,Def,number);
if CrossDown(Truestrength,Truestrength[1]) Then
Sell("매도",OnClose,Def,number);
위의 수식과
if crossup(Truestrength,Truestrength[1]) Then
Buy("매수",OnClose);
if CrossDown(Truestrength,Truestrength[1]) Then
Sell("매도",OnClose);
아래의 수식으로 했을 때의 매수,매도 타이밍(KQ종합)이 다르게 나옵니다.
위의 수식의 의도는 H-L를 리스크로 보고 계좌 총액의 2%를 리스크로 부담하는
수량만큼만 사자는 의도인데 KQ종합에 적용시키면 타이밍이 다르게 매수,매도가 됩니다.
예를 들자면 총자산 1억일 때 종가 1만원에 H-L이 1천원이라면
H-L을 총자산 1억의 2%인 200만원으로 만들어야 하므로 2천주 매수한다.
이런 개념으로 접근한 것인데 매수 매도 타이밍에 영향을 미치니 어디에서
논리적 오류가 난 것인지 확인 부탁드립니다.
선물일 경우와 현물일 경우를 나ㅏ누어서 접근해야할듯한데요.
number=Floor(((account*0.02)/ATRVal));
이렇게 입력하고
capital을 100억으로 하더라도 매매타이밍에 변동이 생기는데
Point가 각자의 거래승수로 계산되는 것이 맞나요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 리스크 관리 관련 질문입니다.
>
안녕하세요
예스스탁입니다.
number=Floor((account/ATRVal)*0.02);
number가 1 미만이면 신호가 발생하지 못합니다.
해당 계산내용을 살펴보셔야 합니다.
현재 작성하신 위 내용은 금액을 atr로 나누고 해당 값에서 2%를 취하게 됩니다.
금액의 2%를 atr로 나누게 하셔야 할 것 같습니다.
number=Floor(((account*0.02)/ATRVal));
즐거운 하루되세요
> 마녀58 님이 쓴 글입니다.
> 제목 : 리스크 관리 관련 질문입니다.
> input : len(3),capital(100000000);
var : account(0),profitloss(0),Truestrength(0),Truestrengthsig(0),ATRVal(0),number(0);
ATRVal = H-L;
Truestrength = TSI(C, 4, 8, 6);
account=Capital+NetProfit();
number=Floor((account/ATRVal)*0.02);
if crossup(Truestrength,Truestrength[1]) Then
Buy("매수",OnClose,Def,number);
if CrossDown(Truestrength,Truestrength[1]) Then
Sell("매도",OnClose,Def,number);
위의 수식과
if crossup(Truestrength,Truestrength[1]) Then
Buy("매수",OnClose);
if CrossDown(Truestrength,Truestrength[1]) Then
Sell("매도",OnClose);
아래의 수식으로 했을 때의 매수,매도 타이밍(KQ종합)이 다르게 나옵니다.
위의 수식의 의도는 H-L를 리스크로 보고 계좌 총액의 2%를 리스크로 부담하는
수량만큼만 사자는 의도인데 KQ종합에 적용시키면 타이밍이 다르게 매수,매도가 됩니다.
예를 들자면 총자산 1억일 때 종가 1만원에 H-L이 1천원이라면
H-L을 총자산 1억의 2%인 200만원으로 만들어야 하므로 2천주 매수한다.
이런 개념으로 접근한 것인데 매수 매도 타이밍에 영향을 미치니 어디에서
논리적 오류가 난 것인지 확인 부탁드립니다.