커뮤니티

문의드립니다.

프로필 이미지
아로마
2009-05-12 10:25:23
687
글번호 22194
답변완료
안녕하세요. 항상 수고가 많으십니다. 아래에 작성해주신 수식을 적용해보니 "손절"의 경우, 진입시점에서의 변동성만큼 되돌릴때가 아니라 손절시점에서의 변동성만큼 되돌릴 때 손절되는 것으로 나타납니다. 저는 진입시점에서의 변동성 크기만큼 반대로 되돌리면 그때 손절청산하고 싶습니다. 감사합니다... 안녕하세요 예스스탁이니다. 1. var : AA(0); AA = Max(abs(H[180]-L), abs(H-L), abs(L[180]-H)); var1 = ma(AA,180); if c > dayhigh[1] then buy(); if c < daylow[1] then sell(); if MarketPosition == 1 Then exitlong("bx",AtStop,EntryPrice-var1); if MarketPosition == -1 Then ExitShort("Sx",AtStop,EntryPrice+var1); 2. input : 자본금(100000000); var : AA(0),매매당손절금액(0),진입시점의변동성(0),주문가능계약수(0); AA = Max(abs(H[180]-L), abs(H-L), abs(L[180]-H)); var1 = ma(AA,180); 매매당손절금액 = int(자본금*0.02); 진입시점의변동성 = var1*500000; 주문가능계약수 = int(매매당손절금액/진입시점의변동성); if c > dayhigh[1] then buy("b",OnClose,def,주문가능계약수); if c < daylow[1] then sell("s",OnClose,def,주문가능계약수); if MarketPosition == 1 Then exitlong("bx",AtStop,EntryPrice-var1[BarsSinceEntry]); if MarketPosition == -1 Then ExitShort("Sx",AtStop,EntryPrice+var1[BarsSinceEntry]); 즐거운 하루되세요 > 아로마 님이 쓴 글입니다. > 제목 : 수식질문드립니다 > 안녕하세요. 항상 수고가 많으십니다. 미리 감사드립니다. 궁금한 사항이 있어 질문드립니다. 아래와 같은 조건에서 진입하고 if c > dayhigh[1] then buy(); if c < daylow[1] then sell(); 질문1) 손절은 진입시점의 변동성만큼 되돌리면 손절청산하고 싶습니다. 예를들어, 변동성을 나타내는 지표식은 아래와 같습니다. var : AA(0); AA = Max(abs(H[180]-L), abs(H-L), abs(L[180]-H)); var1 = ma(AA,180); plot1(var1); 즉, 고가를 돌파할 때의 가격 100에 매수 진입하고 그때의 변동성이 2라면 98이되면 손절청산하고 싶습니다. 질문2) 자본금과 연동해서 주문수량조절을 식으로 구현할 수 있는지 궁금합니다. 예를들어(선물지수 100에서 매수진입), 매매당 손절율은 자본금 대비 2%내로 한다. 자본금 : 1억원 매매당 손절금액(2%내) : 200만원 진입시점의 변동성 : 0.6포인트=0.6*50만원=30만원 주문가능 계약수 : 200만원 / 30만원 = 6.6계약 (소숫점이하 버림) => 6계약 진입 손절 : 100-0.6 = 99.4 가 되면 6계약 매수손절 진입시점마다 변하는 변동성 / 자본금 을 고정된 2%룰에 근거해서 주문계약수를 조절하고 싶은게 기본적인 생각입니다. 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-05-12 11:43:44

안녕하세요' 예스스탁입니다. 1번식의 청산이 잘못되어 있었습니다. var1[BarsSinceEntry]이 진입시점의 var1값입니다. var : AA(0); AA = Max(abs(H[180]-L), abs(H-L), abs(L[180]-H)); var1 = ma(AA,180); if c > dayhigh[1] then buy(); if c < daylow[1] then sell(); if MarketPosition == 1 Then exitlong("bx",AtStop,EntryPrice-var1[BarsSinceEntry]); if MarketPosition == -1 Then ExitShort("Sx",AtStop,EntryPrice+var1[BarsSinceEntry]); 즐거운 하루되세요 > 아로마 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요. 항상 수고가 많으십니다. 아래에 작성해주신 수식을 적용해보니 "손절"의 경우, 진입시점에서의 변동성만큼 되돌릴때가 아니라 손절시점에서의 변동성만큼 되돌릴 때 손절되는 것으로 나타납니다. 저는 진입시점에서의 변동성 크기만큼 반대로 되돌리면 그때 손절청산하고 싶습니다. 감사합니다... 안녕하세요 예스스탁이니다. 1. var : AA(0); AA = Max(abs(H[180]-L), abs(H-L), abs(L[180]-H)); var1 = ma(AA,180); if c > dayhigh[1] then buy(); if c < daylow[1] then sell(); if MarketPosition == 1 Then exitlong("bx",AtStop,EntryPrice-var1); if MarketPosition == -1 Then ExitShort("Sx",AtStop,EntryPrice+var1); 2. input : 자본금(100000000); var : AA(0),매매당손절금액(0),진입시점의변동성(0),주문가능계약수(0); AA = Max(abs(H[180]-L), abs(H-L), abs(L[180]-H)); var1 = ma(AA,180); 매매당손절금액 = int(자본금*0.02); 진입시점의변동성 = var1*500000; 주문가능계약수 = int(매매당손절금액/진입시점의변동성); if c > dayhigh[1] then buy("b",OnClose,def,주문가능계약수); if c < daylow[1] then sell("s",OnClose,def,주문가능계약수); if MarketPosition == 1 Then exitlong("bx",AtStop,EntryPrice-var1[BarsSinceEntry]); if MarketPosition == -1 Then ExitShort("Sx",AtStop,EntryPrice+var1[BarsSinceEntry]); 즐거운 하루되세요 > 아로마 님이 쓴 글입니다. > 제목 : 수식질문드립니다 > 안녕하세요. 항상 수고가 많으십니다. 미리 감사드립니다. 궁금한 사항이 있어 질문드립니다. 아래와 같은 조건에서 진입하고 if c > dayhigh[1] then buy(); if c < daylow[1] then sell(); 질문1) 손절은 진입시점의 변동성만큼 되돌리면 손절청산하고 싶습니다. 예를들어, 변동성을 나타내는 지표식은 아래와 같습니다. var : AA(0); AA = Max(abs(H[180]-L), abs(H-L), abs(L[180]-H)); var1 = ma(AA,180); plot1(var1); 즉, 고가를 돌파할 때의 가격 100에 매수 진입하고 그때의 변동성이 2라면 98이되면 손절청산하고 싶습니다. 질문2) 자본금과 연동해서 주문수량조절을 식으로 구현할 수 있는지 궁금합니다. 예를들어(선물지수 100에서 매수진입), 매매당 손절율은 자본금 대비 2%내로 한다. 자본금 : 1억원 매매당 손절금액(2%내) : 200만원 진입시점의 변동성 : 0.6포인트=0.6*50만원=30만원 주문가능 계약수 : 200만원 / 30만원 = 6.6계약 (소숫점이하 버림) => 6계약 진입 손절 : 100-0.6 = 99.4 가 되면 6계약 매수손절 진입시점마다 변하는 변동성 / 자본금 을 고정된 2%룰에 근거해서 주문계약수를 조절하고 싶은게 기본적인 생각입니다. 감사드립니다.