커뮤니티
문의드립니다.
2019-03-28 13:18:29
364
글번호 127445
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 이전 수식 재 질문입니다. .
코딩 감사합니다.
아래 코딩에서 현재 자산 부분을 누적수익으로 할 수 있을까요.
아래 것은 실제 매매에선 사용할 수 있을 것 같은데요. (초기계좌자산을 바꾸면 되니까)
생각해보니 시뮬에서는 저렇게 하면 계약수가 고정되서 단일계약에 자금관리가 쓸모 있는지 알 수는 없겠더라구요.
저기 초기계좌자산 +에다가 뭔 함수를 더해야하는지 잘 모르겠습니다.
원수식
input : 초기계좌자산(100000000),고정매매가능횟수(3),손절금액(500000);
var : 현재자산(0),매매별금액리스크(0),매매계약수(0),entry(0);
현재자산 = 초기계좌자산 + Floor((2.0)/PriceScale)*PointValue;
매매별금액리스크 = 현재자산/고정매매가능횟수;
매매계약수 =매매별금액리스크/손절금액;
if bdate != bdate[1] Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
var1 = ma(C,5);
var2 = ma(C,20);
if crossup(var1,var2) and entry < 고정매매가능횟수 Then
buy("b",OnClose,def,매매계약수);
if MarketPosition == 1 and CrossDown(var1,var2) Then
ExitLong("bx");
2.
그리고 Floor((2.0)/PriceScale)*PointValue;
이 부분은 2를 틱가치로 나눈 것을 반올림하고 PointValue(PriceScale을 금액으로 환산)를 곱했는데요.
이걸 왜 초기자산에다 더하는지 잘 모르겠습니다.
- 1. 128048_이미지_2.png (0.07 MB)
답변 1
예스스탁 예스스탁 답변
2019-03-28 14:58:10
안녕하세요
예스스탁입니다.
죄송합니다. 값확인을 위해 손익대신 임의로 2.0을 지정했는데 그대로 식을 올려드렸습니다.
2.0대신에 netprofit을 지정하시면 됩니다.
input : 초기계좌자산(100000000),고정매매가능횟수(3),손절금액(500000);
var : 현재자산(0),매매별금액리스크(0),매매계약수(0),entry(0);
현재자산 = 초기계좌자산 + Floor((NetProfit)/PriceScale)*PointValue;
매매별금액리스크 = 현재자산/고정매매가능횟수;
매매계약수 =매매별금액리스크/손절금액;
if bdate != bdate[1] Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
var1 = ma(C,5);
var2 = ma(C,20);
if crossup(var1,var2) and entry < 고정매매가능횟수 Then
buy("b",OnClose,def,매매계약수);
if MarketPosition == 1 and CrossDown(var1,var2) Then
ExitLong("bx");
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 이전 수식 재 질문입니다. .
코딩 감사합니다.
아래 코딩에서 현재 자산 부분을 누적수익으로 할 수 있을까요.
아래 것은 실제 매매에선 사용할 수 있을 것 같은데요. (초기계좌자산을 바꾸면 되니까)
생각해보니 시뮬에서는 저렇게 하면 계약수가 고정되서 단일계약에 자금관리가 쓸모 있는지 알 수는 없겠더라구요.
저기 초기계좌자산 +에다가 뭔 함수를 더해야하는지 잘 모르겠습니다.
원수식
input : 초기계좌자산(100000000),고정매매가능횟수(3),손절금액(500000);
var : 현재자산(0),매매별금액리스크(0),매매계약수(0),entry(0);
현재자산 = 초기계좌자산 + Floor((2.0)/PriceScale)*PointValue;
매매별금액리스크 = 현재자산/고정매매가능횟수;
매매계약수 =매매별금액리스크/손절금액;
if bdate != bdate[1] Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
var1 = ma(C,5);
var2 = ma(C,20);
if crossup(var1,var2) and entry < 고정매매가능횟수 Then
buy("b",OnClose,def,매매계약수);
if MarketPosition == 1 and CrossDown(var1,var2) Then
ExitLong("bx");
2.
그리고 Floor((2.0)/PriceScale)*PointValue;
이 부분은 2를 틱가치로 나눈 것을 반올림하고 PointValue(PriceScale을 금액으로 환산)를 곱했는데요.
이걸 왜 초기자산에다 더하는지 잘 모르겠습니다.
다음글
이전글