커뮤니티

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(); }