커뮤니티

수식 수정문의

프로필 이미지
무명
2011-11-13 18:34:19
455
글번호 44714
답변완료
아래 작성해주신 자산관리 수식을 KODEX200이나 KODEX레버리지에 적용할 수 있게 수정부탁드립니다.. 아래 수식을 코덱스에 적용할수 있게 금액단위로 진입및 증액진입되게 수정부탁드립니다. 금액단위로 진입및 증액진입이 안된다면....KOSPI선물단위가 아닌 KODEX에 1000주 단위로 적용되게 수정해주세요..2가지 다해주시면 더 좋구요... ------------------------------------------------------------------------------------------------------------ 1. volatility model input : atrlen(20), len1(2.7),capital(50000000),Fraction(0.014),maxcont(10); var : cont(0),i_CloseEquity(0); i_CloseEquity = NetProfit*BigPointValue; cont = int(((capital+i_closeequity)*fraction)/(ATR(ATRlen)*len1*BigPointValue)); if cont > maxcont or cont > int((Capital+i_CloseEquity)/(c*BigPointValue*0.15)) Then cont = maxcont; Else cont = cont; if cont < 1 or Capital+i_CloseEquity < 15000000 Then cont = 0; if crossup(c,ma(C,20)) Then buy("b",OnClose,def,cont); SetStopEndofday(150000); ------------------------------------------------------------------------------------------- 아래 수식도 코덱스에 적용할수 있게 금액단위로 진입및 증액진입되게 수정부탁드립니다. 금액단위로 진입및 증액진입이 안된다면....KOSPI선물단위가 아닌 KODEX에 1000주 단위로 적용되게 수정해주세요..2가지 다해주시면 더 좋구요... Input : len(0.37), atrlen(20), len1(2.7), consec(1), contlimit(200); var : cond1(false),cond2(false),cnt(0),currentEntrynum(0); Var1=dayhigh(1)-daylow(1); Cond1= sdate==exitdate(1) And MarketPosition(1)==1; Cond2= sdate==exitdate(1) And marketposition(1)==-1; currentEntrynum = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then currentEntrynum = currentEntrynum+1; } If index == 1 then{ Var10=1; Var11=0; } If currentEntrynum>1 then{ If MarketPosition ==0 And MarketPosition[1]<>0 then{ If netprofit > netprofit[1] then{ #‘1. 마틴게일 #If i_netprofit < i_netprofit(1) then{ #‘2. 역마틴게일 Var11=0; } Else{ Var11=var11+1; } } } If Var11>=consec And MarketPosition==0 And MarketPosition(1)<>0 then{ Var10=Var10*2; #‘3. 직전계약수 대비 2배로 증가 #Var10=Var10+1; #‘4. 직전계약수 대비 1계약 추가 } If Var11<consec then{ Var10=1; } If Var10>contlimit then{ Var10=contlimit; } If stime < 150000 then{ If Cond1==False then{ buy("매수",Atstop,dayopen+var1*len,var10); } If Cond2==False then{ sell("매도",Atstop,dayopen-var1*len,var10); } } If MarketPosition<>0 then{ exitlong("매수추적스탑",Atstop,Highest(high,BarsSinceEntry+1)-atr(atrlen)*len1); exitshort("매도추적스탑",Atstop,lowest(low,BarsSinceEntry+1)+atr(atrlen)*len1); } 즐거운 하루되세요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-11-14 11:37:49

안녕하세요 예스스탁입니다. 1. 지정한 금액으로 진입하고하 하시는 경우에는 아래식을 상용하시면 됩니다. input : atrlen(20), len1(2.7),capital(50000000); var : cont(0),i_CloseEquity(0); cont = int(capital/c); if crossup(c,ma(C,20)) Then buy("b",OnClose,def,cont); SetStopEndofday(150000); 현재까지의 손익을 포함한 금액으로 하실 경우 아래식을 사용하시면 됩니다. input : atrlen(20), len1(2.7),capital(50000000); var : cont(0),i_CloseEquity(0); cont = int((capital+NetProfit)/c); if crossup(c,ma(C,20)) Then buy("b",OnClose,def,cont); SetStopEndofday(150000); 2. 코덱스는 매도진입식이 적용되지 않으므로 해당 내용은 모두 삭제했습니다. Input : len(0.37), atrlen(20), len1(2.7), consec(1), contlimit(2000),capital(5000000); var : cond1(false),cond2(false),cnt(0),currentEntrynum(0); Var1=dayhigh(1)-daylow(1); currentEntrynum = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then currentEntrynum = currentEntrynum+1; } if currentEntrynum < 1 Then var10=int(capital/c); If currentEntrynum >= 1 then{ If PositionProfit(1) > 0 then Var10=int(capital/c); Else Var10=CurrentContracts[BarsSinceEntry(1)]*2; } If stime < 150000 then{ if H < dayopen+var1*len Then buy("매수",Atstop,dayopen+var1*len,min(var10,contlimit)); } If MarketPosition<>0 then{ exitlong("매수추적스탑",Atstop,Highest(high,BarsSinceEntry+1)-atr(atrlen)*len1); } 즐거운 하루되세요 > 무명 님이 쓴 글입니다. > 제목 : 수식 수정문의 > 아래 작성해주신 자산관리 수식을 KODEX200이나 KODEX레버리지에 적용할 수 있게 수정부탁드립니다.. 아래 수식을 코덱스에 적용할수 있게 금액단위로 진입및 증액진입되게 수정부탁드립니다. 금액단위로 진입및 증액진입이 안된다면....KOSPI선물단위가 아닌 KODEX에 1000주 단위로 적용되게 수정해주세요..2가지 다해주시면 더 좋구요... ------------------------------------------------------------------------------------------------------------ 1. volatility model input : atrlen(20), len1(2.7),capital(50000000),Fraction(0.014),maxcont(10); var : cont(0),i_CloseEquity(0); i_CloseEquity = NetProfit*BigPointValue; cont = int(((capital+i_closeequity)*fraction)/(ATR(ATRlen)*len1*BigPointValue)); if cont > maxcont or cont > int((Capital+i_CloseEquity)/(c*BigPointValue*0.15)) Then cont = maxcont; Else cont = cont; if cont < 1 or Capital+i_CloseEquity < 15000000 Then cont = 0; if crossup(c,ma(C,20)) Then buy("b",OnClose,def,cont); SetStopEndofday(150000); ------------------------------------------------------------------------------------------- 아래 수식도 코덱스에 적용할수 있게 금액단위로 진입및 증액진입되게 수정부탁드립니다. 금액단위로 진입및 증액진입이 안된다면....KOSPI선물단위가 아닌 KODEX에 1000주 단위로 적용되게 수정해주세요..2가지 다해주시면 더 좋구요... Input : len(0.37), atrlen(20), len1(2.7), consec(1), contlimit(200); var : cond1(false),cond2(false),cnt(0),currentEntrynum(0); Var1=dayhigh(1)-daylow(1); Cond1= sdate==exitdate(1) And MarketPosition(1)==1; Cond2= sdate==exitdate(1) And marketposition(1)==-1; currentEntrynum = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then currentEntrynum = currentEntrynum+1; } If index == 1 then{ Var10=1; Var11=0; } If currentEntrynum>1 then{ If MarketPosition ==0 And MarketPosition[1]<>0 then{ If netprofit > netprofit[1] then{ #‘1. 마틴게일 #If i_netprofit < i_netprofit(1) then{ #‘2. 역마틴게일 Var11=0; } Else{ Var11=var11+1; } } } If Var11>=consec And MarketPosition==0 And MarketPosition(1)<>0 then{ Var10=Var10*2; #‘3. 직전계약수 대비 2배로 증가 #Var10=Var10+1; #‘4. 직전계약수 대비 1계약 추가 } If Var11<consec then{ Var10=1; } If Var10>contlimit then{ Var10=contlimit; } If stime < 150000 then{ If Cond1==False then{ buy("매수",Atstop,dayopen+var1*len,var10); } If Cond2==False then{ sell("매도",Atstop,dayopen-var1*len,var10); } } If MarketPosition<>0 then{ exitlong("매수추적스탑",Atstop,Highest(high,BarsSinceEntry+1)-atr(atrlen)*len1); exitshort("매도추적스탑",Atstop,lowest(low,BarsSinceEntry+1)+atr(atrlen)*len1); } 즐거운 하루되세요