커뮤니티
6623 재질문입니다.
2007-10-23 01:48:22
895
글번호 13842
답변감사합니다.
아래의 식에서 시스템시뮬레이션에서 METHOD==1로 하면 고정계약수로 진입이 됩니다.
그런데 계약수를 설정하는 CONTAC에 0를 넣어도 계약수가 1로 진입이 되네요.,,
그리고 METHOD==5를 넣으면 계약수가 1로 진입됩니다.
또한 계약수를 나타내는 var1 또는 cont의 값을 별도로 0로 설정해 주어도 계약수가 1로 되는데 어떻게 수정해야 하나요?
input : METHOD(1),CONTAC(0),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-23 14:55:34
안녕하세요
예스스탁입니다.
현재 3.1버전에서는 식상에서 매매수량이 0인 경우
설정창의 매매수량이 적용됩니다.설정창의 매매수량을 0으로 셋팅하시고 식을 적용하시면 됩니다.
이번주 내에 전버전과 동일하게 0으로 할당될경우 신호를 발생하지 않게끔 수정되어
업데이트가 될 예정입니다.
불편을 드려 죄송합니다.
즐거운 하루되세요
> CJ_MINSUNG 님이 쓴 글입니다.
> 제목 : 6623 재질문입니다.
> 답변감사합니다.
아래의 식에서 시스템시뮬레이션에서 METHOD==1로 하면 고정계약수로 진입이 됩니다.
그런데 계약수를 설정하는 CONTAC에 0를 넣어도 계약수가 1로 진입이 되네요.,,
그리고 METHOD==5를 넣으면 계약수가 1로 진입됩니다.
또한 계약수를 나타내는 var1 또는 cont의 값을 별도로 0로 설정해 주어도 계약수가 1로 되는데 어떻게 수정해야 하나요?
input : METHOD(1),CONTAC(0),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();
}