커뮤니티
질문입니다.
2007-10-20 03:32:04
952
글번호 13831
아래의 수식은 선물매매를 위한 자산관리관련 수식을 테스트하기 위해 작성하였습니다.
자산관리의 수식이 적용되지 않습니다. 수정부탁드립니다.
(3.0버전에서는 적용이 잘되었는데... 3.1에서는 계약수를 나타내는 cont의 값이 활성화되지 않네요)
#IMONEY와 MAXLOS의 값은 만원 단위 입니다.
input : METHOD(1),CONTAC(10),IMONEY(2000),MAXLOS(600);
input : STARTD(20000101),ANOD1(0),ANOD2(0);
var : ASSETS(0),CONT(0);
Var : value1(0), value2(0);
##################################################################################
#2.MANAGEMENT STRATEGY(초기투자금액을 기준으로 산정)
#누적자산진입시 투자금액 산정
if Netprofit()<0 and MAXLOS*10000+Netprofit()*500000>0 then #손실액이 최대손실금액이하일 경우 누적투자방식,최대손실금액이상일경우 매매중단
ASSETS = IMONEY*10000;
else if Netprofit()>=0 then #누적손익이 이익일경우 누적투자방식
ASSETS = IMONEY*10000+NetProfit()*500000*0.2;
else
ASSETS = 0;
if METHOD==1 and MAXLOS*10000+Netprofit()*500000>0 then #고정계약진입
var1=CONTAC;
else if METHOD==2 and MAXLOS*10000+Netprofit()*500000>0 then #고정자산진입
var1=INT(IMONEY/(C*50*0.15));
else if METHOD==3 then #누적자산진입
var1=MIN(1000,INT(ASSETS/(C*50*0.15)));
else
var1=0;
if index<250 or sdate<STARTD or (sdate==ANOD1 or sdate==ANOD2) then
CONT==0;
else
CONT==var1;
value1 = ema(BW(20,12,5,3),12);
value2 = ema(BW(20,12,5,3),26);
# 매수/매도청산
if CrossUp(value1-value2,0) Then
{
BUY("UUUIF2",atlimit,LOWEST(C,7),CONT);
Exitshort();
}
# 매도/매수청산
if CrossDown(value1-value2,0) Then
{
SELL("UUUIF1",atlimit,HIGHEST(C,7),CONT);
Exitlong();
}
답변 1
예스스탁 예스스탁 답변
2007-10-22 10:12:39
안녕하세요
예스스탁입니다.
식을 수정했습니다.
CONT변수에 할당은 = 이고 같다는 ==입니다.
input : METHOD(1),CONTAC(10),IMONEY(2000),MAXLOS(600);
input : STARTD(20000101),ANOD1(0),ANOD2(0);
var : ASSETS(0),CONT(0);
Var : value1(0), value2(0);
##################################################################################
#2.MANAGEMENT STRATEGY(초기투자금액을 기준으로 산정)
#누적자산진입시 투자금액 산정
if Netprofit() < 0 and MAXLOS*10000+Netprofit()*500000 > 0 then #손실액이 최대손실금액이하일 경우 누적투자방식,최대손실금액이상일경우 매매중단
ASSETS = IMONEY*10000;
else if Netprofit()>=0 then #누적손익이 이익일경우 누적투자방식
ASSETS = IMONEY*10000+NetProfit()*500000*0.2;
else
ASSETS = 0;
if METHOD == 1 and MAXLOS*10000+Netprofit()*500000 > 0 then #고정계약진입
var1=CONTAC;
else if METHOD==2 and MAXLOS*10000+Netprofit()*500000>0 then #고정자산진입
var1=INT(IMONEY/(C*50*0.15));
else if METHOD==3 then #누적자산진입
var1=MIN(1000,INT(ASSETS/(C*50*0.15)));
else
var1=0;
if index < 250 or sdate < STARTD /*or(sdate==ANOD1 or sdate==ANOD2)*/ then
CONT=0;
else
CONT=var1;
messagelog("%.2f %.2f %.2f",ASSETS,var1,cont);
value1 = ema(BW(20,12,5,3),12);
value2 = ema(BW(20,12,5,3),26);
# 매수/매도청산
if CrossUp(value1-value2,0) Then
{
BUY("UUUIF2",atlimit,LOWEST(C,7),CONT);
Exitshort();
}
# 매도/매수청산
if CrossDown(value1-value2,0) Then
{
SELL("UUUIF1",atlimit,HIGHEST(C,7),CONT);
Exitlong();
}
즐거운 하루되세요
> CJ_MINSUNG 님이 쓴 글입니다.
> 제목 : 질문입니다.
> 아래의 수식은 선물매매를 위한 자산관리관련 수식을 테스트하기 위해 작성하였습니다.
자산관리의 수식이 적용되지 않습니다. 수정부탁드립니다.
(3.0버전에서는 적용이 잘되었는데... 3.1에서는 계약수를 나타내는 cont의 값이 활성화되지 않네요)
#IMONEY와 MAXLOS의 값은 만원 단위 입니다.
input : METHOD(1),CONTAC(10),IMONEY(2000),MAXLOS(600);
input : STARTD(20000101),ANOD1(0),ANOD2(0);
var : ASSETS(0),CONT(0);
Var : value1(0), value2(0);
##################################################################################
#2.MANAGEMENT STRATEGY(초기투자금액을 기준으로 산정)
#누적자산진입시 투자금액 산정
if Netprofit()<0 and MAXLOS*10000+Netprofit()*500000>0 then #손실액이 최대손실금액이하일 경우 누적투자방식,최대손실금액이상일경우 매매중단
ASSETS = IMONEY*10000;
else if Netprofit()>=0 then #누적손익이 이익일경우 누적투자방식
ASSETS = IMONEY*10000+NetProfit()*500000*0.2;
else
ASSETS = 0;
if METHOD==1 and MAXLOS*10000+Netprofit()*500000>0 then #고정계약진입
var1=CONTAC;
else if METHOD==2 and MAXLOS*10000+Netprofit()*500000>0 then #고정자산진입
var1=INT(IMONEY/(C*50*0.15));
else if METHOD==3 then #누적자산진입
var1=MIN(1000,INT(ASSETS/(C*50*0.15)));
else
var1=0;
if index<250 or sdate<STARTD or (sdate==ANOD1 or sdate==ANOD2) then
CONT==0;
else
CONT==var1;
value1 = ema(BW(20,12,5,3),12);
value2 = ema(BW(20,12,5,3),26);
# 매수/매도청산
if CrossUp(value1-value2,0) Then
{
BUY("UUUIF2",atlimit,LOWEST(C,7),CONT);
Exitshort();
}
# 매도/매수청산
if CrossDown(value1-value2,0) Then
{
SELL("UUUIF1",atlimit,HIGHEST(C,7),CONT);
Exitlong();
}
다음글
이전글