커뮤니티
옵션매수식 부탁합니다..
2009-11-20 00:35:26
688
글번호 26244
옵션 매수식인데요. 조건은 다음과 같습니다.
메일(aceace77@hanmail.net)로 답변 부탁드립니다.
* 매수진입식 *
1. 일단 아래와 같이 당일 시가에 매수진입코자 합니다.
첫째, 당일 (옵션)시가가 1.40이상 1.59이하이면 당일 시가에 13개 매수진입.
둘째, 당일 (옵션)시가가 1.60이상 1.79이하이면 당일 시가에 12개 매수진입.
셋째, 당일 (옵션)시가가 1.80이상 1.99이하이면 당일 시가에 10개 매수진입.
* 매수청산식 *
1. 첫째 매수진입이면 넷째 매수청산식으로 청산.
둘째 매수진입이면 다섯째 매수청산식으로 청산.
셋째 매수진입이면 여섯째 매수청산식으로 청산.
2. 9시30분에 잔량 전부 청산.
--------------------------------------------------------------------
위 내용을 제 나름대로 아래식 예제로 작성해 보았으나 신호가 발생하지 않네요.
input : sp1(6);
if Stime == 151500 and DayOpen>=1.40 and DayOpen<=1.59 Then ---->첫째
buy("매수",AtMarket,def,13);
if Stime == 151500 and DayOpen>=1.60 and DayOpen<=1.79 Then ---->둘째
buy("매수",AtMarket,def,12);
if Stime == 151500 and DayOpen>=1.80 and DayOpen<=1.99 Then ---->셋째
buy("매수",AtMarket,def,10);
If marketPosition() == 1 and DayOpen>=1.40 and DayOpen<=1.59 Then ---->넷째
ExitLong("이익보존", AtLimit, EntryPrice*1.06,def,4);
If marketPosition() == 1 and DayOpen>=1.60 and DayOpen<=1.79 Then ---->다섯째
ExitLong("이익보존", AtLimit, EntryPrice*1.06,def,3);
If marketPosition() == 1 and DayOpen>=1.80 and DayOpen<=1.99 Then ---->여섯째
ExitLong("이익보존", AtLimit, EntryPrice*1.06,def,2);
If marketPosition() == 1 and DayOpen>=1.40 and DayOpen<=1.59 Then ---->넷째
ExitLong("손절매", Atstop, EntryPrice*(1-sp1/100),def,4);
If marketPosition() == 1 and DayOpen>=1.60 and DayOpen<=1.79 Then ---->다섯째
ExitLong("손절매", Atstop, EntryPrice*(1-sp1/100),def,3);
If marketPosition() == 1 and DayOpen>=1.80 and DayOpen<=1.99 Then ---->여섯째
ExitLong("손절매", Atstop, EntryPrice*(1-sp1/100),def,2);
If marketPosition() == 1 Then {
if stime==093000 Then
ExitLong("당일청산",onclose,def);
}
답변 1
예스스탁 예스스탁 답변
2009-11-20 09:01:22
안녕하세요
예스스탁입니다.
1.
진입식이 당일시가를 기준으로 다음날 시초가에 들어가게 작성되어 있습니다.
즉 오늘 시가가 1.40이상 1.59이하이면 내일 시초가에 진입이라는 식입니다.
2.
진입식은 같은 이름을 사용할 수 없습니다.
식에 buy안에 모두 다른 이름을 사용하셔야 합니다.
3.
진입별로 청산을 다르게 하시려면 isentryname함수를 이용하시거나
청산함수내 진입명 지정을 이용하시면 됩니다.
4.
청산함수의 매개변수를 잘못사용하셨습니다.
exitlong과 exitshort은
("이름",주문타입,가격,"진입명",수량,수량옵션)입니다.
자세한 내용은 도움말을 이용하시기 바랍니다.
5. 수정된 식입니다.
input : sp1(6);
if Stime == 151500 and NextBarOpen>=1.40 and NextBarOpen<=1.59 Then #---->첫째
buy("매수1",AtMarket,def,13);
if Stime == 151500 and NextBarOpen>=1.60 and NextBarOpen<=1.79 Then #---->둘째
buy("매수2",AtMarket,def,12);
if Stime == 151500 and NextBarOpen>=1.80 and NextBarOpen<=1.99 Then #---->셋째
buy("매수3",AtMarket,def,10);
If marketPosition() == 1 Then{ #---->넷째
ExitLong("이익보존1", AtLimit, EntryPrice*1.06,"매수1",4,1);
ExitLong("이익보존2", AtLimit, EntryPrice*1.06,"매수2",3,1);
ExitLong("이익보존3", AtLimit, EntryPrice*1.06,"매수3",2,1);
ExitLong("손절매1", Atstop, EntryPrice*(1-sp1/100),"매수1",4,1);
ExitLong("손절매2", Atstop, EntryPrice*(1-sp1/100),"매수2",3,1);
ExitLong("손절매3", Atstop, EntryPrice*(1-sp1/100),"매수3",2,1);
}
SetStopEndofday(93000);
즐거운 하루되세요
> 송사범 님이 쓴 글입니다.
> 제목 : 옵션매수식 부탁합니다..
> 옵션 매수식인데요. 조건은 다음과 같습니다.
메일(aceace77@hanmail.net)로 답변 부탁드립니다.
* 매수진입식 *
1. 일단 아래와 같이 당일 시가에 매수진입코자 합니다.
첫째, 당일 (옵션)시가가 1.40이상 1.59이하이면 당일 시가에 13개 매수진입.
둘째, 당일 (옵션)시가가 1.60이상 1.79이하이면 당일 시가에 12개 매수진입.
셋째, 당일 (옵션)시가가 1.80이상 1.99이하이면 당일 시가에 10개 매수진입.
* 매수청산식 *
1. 첫째 매수진입이면 넷째 매수청산식으로 청산.
둘째 매수진입이면 다섯째 매수청산식으로 청산.
셋째 매수진입이면 여섯째 매수청산식으로 청산.
2. 9시30분에 잔량 전부 청산.
--------------------------------------------------------------------
위 내용을 제 나름대로 아래식 예제로 작성해 보았으나 신호가 발생하지 않네요.
input : sp1(6);
if Stime == 151500 and DayOpen>=1.40 and DayOpen<=1.59 Then ---->첫째
buy("매수",AtMarket,def,13);
if Stime == 151500 and DayOpen>=1.60 and DayOpen<=1.79 Then ---->둘째
buy("매수",AtMarket,def,12);
if Stime == 151500 and DayOpen>=1.80 and DayOpen<=1.99 Then ---->셋째
buy("매수",AtMarket,def,10);
If marketPosition() == 1 and DayOpen>=1.40 and DayOpen<=1.59 Then ---->넷째
ExitLong("이익보존", AtLimit, EntryPrice*1.06,def,4);
If marketPosition() == 1 and DayOpen>=1.60 and DayOpen<=1.79 Then ---->다섯째
ExitLong("이익보존", AtLimit, EntryPrice*1.06,def,3);
If marketPosition() == 1 and DayOpen>=1.80 and DayOpen<=1.99 Then ---->여섯째
ExitLong("이익보존", AtLimit, EntryPrice*1.06,def,2);
If marketPosition() == 1 and DayOpen>=1.40 and DayOpen<=1.59 Then ---->넷째
ExitLong("손절매", Atstop, EntryPrice*(1-sp1/100),def,4);
If marketPosition() == 1 and DayOpen>=1.60 and DayOpen<=1.79 Then ---->다섯째
ExitLong("손절매", Atstop, EntryPrice*(1-sp1/100),def,3);
If marketPosition() == 1 and DayOpen>=1.80 and DayOpen<=1.99 Then ---->여섯째
ExitLong("손절매", Atstop, EntryPrice*(1-sp1/100),def,2);
If marketPosition() == 1 Then {
if stime==093000 Then
ExitLong("당일청산",onclose,def);
}
다음글
이전글