커뮤니티

부탁드립니다

프로필 이미지
베드로
2011-01-20 14:38:15
660
글번호 35141
답변완료
안녕하세요. 아래식은 선물리버셜전략을 매수와 매도로 구분한것입니다. 이것을 참조종목으로 사용하여 옵션매수전용식으로 바꾸고자합니다. ############################################################# 1번식은 주차트에 call / 참조종목으로 선물매수 신호 이용. 2번식은 주차트에 put / 참조종목으로 선물매도 신호 이용. ############################################################# 그런데 2번식 선물 매도신호에 주차트 put을 매수 하여 청산하여야 한는데 이것이 가능한가요? 꼭 부탁드립니다. 감사합니다. ************************************************************* 1번식 ( call 매수전용 ) ======================= input : len1(0.35), len(3),n(20); var : CurrentEntryNum(0); if date<>date[1] Then { var50 = TotalTrades; Condition11 = False; } if dayindex > 0 and L <= dayHigh[1]-var1*len1 Then Condition11 = true; Var1=dayhigh(1)-dayLow(1); condition1= sdate==exitdate(1) And marketposition(1)==1; CurrentEntryNum = iff(marketposition == 0,TotalTrades, TotalTrades+1 ); //하루에 1번만 진입 If stime<150000 then { If condition1==False And currententrynum-var50<=1 and marketposition <>1 then buy("매수",Atstop,dayLow+var1*len1); } //청산 if MarketPosition == 1 Then{ if Condition11[BarsSinceEntry] == true Then exitlong("매수청산1",Atstop,highest(high,barsSinceEntry+1)-atr(n)*len); if Condition11[BarsSinceEntry] == false then exitlong("매수청산2",Atstop,dayHigh-var1*len1); } ##당일청산(만기일반영) if date == 20100311 || date == 20100610|| date == 20100909 || date == 20101209 then setstopendofday(1445); else setstopendofday(1500); ********************************************************************************* 2번식 ( put 매수전용식 ) ======================== input : len1(0.35), len(3),n(20); var : CurrentEntryNum(0); if date<>date[1] Then { var50 = TotalTrades; Condition11 = False; } if dayindex > 0 and h >= daylow[1]+var1*len1 Then Condition11 = true; Var1=dayhigh(1)-dayLow(1); condition1= sdate==exitdate(1) And marketposition(1)==-1; CurrentEntryNum = iff(marketposition == 0,TotalTrades, TotalTrades+1 ); //하루에 1번만 진입 If stime<150000 then { If condition1==False And currententrynum-var50<=1 and marketposition <>-1 then sell("매도",Atstop,dayhigh-var1*len1); } //청산 if MarketPosition == -1 Then{ if Condition11[BarsSinceEntry] == true Then exitshort("매도청산1",Atstop,lowest(low,barsSinceEntry+1)+atr(n)*len); if Condition11[BarsSinceEntry] == false then exitshort("매도청산2",Atstop,daylow+var1*len1); } ##당일청산(만기일반영) if date == 20100311 || date == 20100610|| date == 20100909 || date == 20101209 then setstopendofday(1445); else setstopendofday(1500); 끝.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-01-21 10:37:08

안녕하세요 예스스탁입니다. 참조종목을 사용하는 식으로 변경될 경우 기존의 atstop,atlimit은 모두 주종목의 시세만 감지하므로 onclose타입으로 변경되어야 합니다. 1. 콜 input : len1(0.35), len(3),n(20); var : CurrentEntryNum(0),cond11(false,data2),Va1(0,data2),HH(0,data1); if date<>date[1] Then { var50 = TotalTrades; Cond11 = False; } Va1 = data2(highD(1)-LowD(1)); if data2(dayindex) > 0 and data2(L) <= data2(HighD(0)[1]-va1[1]*len1) Then Cond11 = true; condition1 = sdate==exitdate(1) And marketposition(1)==1; CurrentEntryNum = iff(marketposition == 0,TotalTrades, TotalTrades+1 ); //하루에 1번만 진입 If data2(stime<150000) and data2(dayindex) > 0 then { If condition1[1]==False And currententrynum-var50< 1 and marketposition <>1 And Data2(H) >= data2(LowD(0)[1]+va1[1]*Len1) Then buy("매수"); } HH = data2(H); //청산 if MarketPosition == 1 Then{ if Cond11[BarsSinceEntry] == true And data2(L) <= highest(HH,BarsSinceEntry+1)[1]-data2(ATR(n)[1])*len Then exitlong("매수청산1"); if Cond11[BarsSinceEntry] == false And data2(L) <= data2(HighD(0)[1])-va1*len1 Then exitlong("매수청산2"); } ##당일청산(만기일반영) if sdate == 20100311 || sdate == 20100610|| sdate == 20100909 || sdate == 20101209 then setstopendofday(1445); else setstopendofday(1500); 2. 풋 input : len1(0.35), len(3),n(20); var : CurrentEntryNum(0),Va1(0,data2),cond11(false),LL(0,data1); if date<>date[1] Then { var50 = TotalTrades; Cond11 = False; } Va1=Data2(highD(1)-LowD(1)); if data2(dayindex) > 0 and data2(h) >= data2(lowD(0)[1])+va1*len1 Then Cond11 = true; condition1= sdate==exitdate(1) And marketposition(1)== 1; CurrentEntryNum = iff(marketposition == 0,TotalTrades, TotalTrades+1 ); //하루에 1번만 진입 If data2(stime<150000) and data2(dayindex) > 0 then { If condition1[1]==False And currententrynum-var50 < 1 and marketposition <> 1 And data2(L) <= Data2(HighD(0)[1])-Va1[1]*len1 then Buy("매도"); } LL = data2(L); //청산 if MarketPosition == 1 Then{ if Cond11[BarsSinceEntry] == true And Data2(H) >= Lowest(LL,BarsSinceEntry+1)[1]+data2(ATR(n)[1])*len Then ExitLong("매도청산1"); if Cond11[BarsSinceEntry] == false And Data2(H) >= data2(LowD(0)[1])+va1*len1 then ExitLong("매도청산2"); } ##당일청산(만기일반영) if date == 20100311 || date == 20100610|| date == 20100909 || date == 20101209 then setstopendofday(1445); else setstopendofday(1500); 즐거운 하루되세요 > 베드로 님이 쓴 글입니다. > 제목 : 부탁드립니다 > 안녕하세요. 아래식은 선물리버셜전략을 매수와 매도로 구분한것입니다. 이것을 참조종목으로 사용하여 옵션매수전용식으로 바꾸고자합니다. ############################################################# 1번식은 주차트에 call / 참조종목으로 선물매수 신호 이용. 2번식은 주차트에 put / 참조종목으로 선물매도 신호 이용. ############################################################# 그런데 2번식 선물 매도신호에 주차트 put을 매수 하여 청산하여야 한는데 이것이 가능한가요? 꼭 부탁드립니다. 감사합니다. ************************************************************* 1번식 ( call 매수전용 ) ======================= input : len1(0.35), len(3),n(20); var : CurrentEntryNum(0); if date<>date[1] Then { var50 = TotalTrades; Condition11 = False; } if dayindex > 0 and L <= dayHigh[1]-var1*len1 Then Condition11 = true; Var1=dayhigh(1)-dayLow(1); condition1= sdate==exitdate(1) And marketposition(1)==1; CurrentEntryNum = iff(marketposition == 0,TotalTrades, TotalTrades+1 ); //하루에 1번만 진입 If stime<150000 then { If condition1==False And currententrynum-var50<=1 and marketposition <>1 then buy("매수",Atstop,dayLow+var1*len1); } //청산 if MarketPosition == 1 Then{ if Condition11[BarsSinceEntry] == true Then exitlong("매수청산1",Atstop,highest(high,barsSinceEntry+1)-atr(n)*len); if Condition11[BarsSinceEntry] == false then exitlong("매수청산2",Atstop,dayHigh-var1*len1); } ##당일청산(만기일반영) if date == 20100311 || date == 20100610|| date == 20100909 || date == 20101209 then setstopendofday(1445); else setstopendofday(1500); ********************************************************************************* 2번식 ( put 매수전용식 ) ======================== input : len1(0.35), len(3),n(20); var : CurrentEntryNum(0); if date<>date[1] Then { var50 = TotalTrades; Condition11 = False; } if dayindex > 0 and h >= daylow[1]+var1*len1 Then Condition11 = true; Var1=dayhigh(1)-dayLow(1); condition1= sdate==exitdate(1) And marketposition(1)==-1; CurrentEntryNum = iff(marketposition == 0,TotalTrades, TotalTrades+1 ); //하루에 1번만 진입 If stime<150000 then { If condition1==False And currententrynum-var50<=1 and marketposition <>-1 then sell("매도",Atstop,dayhigh-var1*len1); } //청산 if MarketPosition == -1 Then{ if Condition11[BarsSinceEntry] == true Then exitshort("매도청산1",Atstop,lowest(low,barsSinceEntry+1)+atr(n)*len); if Condition11[BarsSinceEntry] == false then exitshort("매도청산2",Atstop,daylow+var1*len1); } ##당일청산(만기일반영) if date == 20100311 || date == 20100610|| date == 20100909 || date == 20101209 then setstopendofday(1445); else setstopendofday(1500); 끝.