커뮤니티
부탁드립니다
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);
끝.