커뮤니티
시스템식 부탁드립니다.
2008-05-18 21:45:28
1182
글번호 15493
안녕하세요.
신호당 진입계약은 1계약을 원칙으로 하는데요.
매도와 매수 각 매수1, 매수2, 매수0
매도1, 매도2, 매도0
이렇게 3개의 신호로 매매를 합니다.
매수1 이나 매수2로 진입을 한 매수포지션에서 매수0 신호가 발생하면
1계약 추가매수, 여기서 매도0 신호가 발생하면 기존의 1계약은 유지하고
매수0으로 진입한 것만 청산. 다시 매수0 신호 발생시 1계약 다시 추가...
다시 매도0 신호 발생하면 1계약만 청산...
매수1 이나 매수2로 진입을 한 매수포지션에서 매수0 신호가 발생하면
1계약 추가매수, 여기서 매도1 이나 매도2 신호가 발생하면 모두 청산하고
매도 1계약 진입.
매도도 마찬가지로 매도 1계약 유지하면서 매도0 신호 발생하면 1계약 추가
매수0 신호 발생하면 1계약 청산.
매수1 이나 매수2 진입후 매도0 발생하면 청산
매도0으로 청산후 매수0 발생하면 다시 매수.
매도1 이나 매도2 진입후 매수0 발생하면 청산.
매수0으로 청산후 매도0 발생하면 다시 매도.
그러니까 결국은 1,2번 신호가 주 신호이고 0번 신호는 추가계약만 운용하는
시스템이구요. 최대보유 계약은 2계약이 되는것입니다.
부탁드리겠습니다.
답변 1
예스스탁 예스스탁 답변
2008-05-19 10:16:36
안녕하세요
예스스탁입니다.
식을 2개 올려드립니다.
1번식은 매수 누적이 1계약일 경우 매도 1,2에 의해 청산되고
반대포지션으로 갈수 있는 식이고
2번식은 당일 첫진입이 매수이면 당일 해당 포지션을 유지하면서
추가매수와 청산을 반복합니다.
1.
##무포지션일때 매수조건1 혹은 2일때 매수
if MarketPosition != 1 Then
{
if C > O Then
buy("매수1");
if C == O and C >= C[1] Then
buy("매수2");
}
if MarketPosition() != -1 Then
{
if C < O Then
sell("매도1");
if C == O and C < C[1] Then
sell("매도2");
}
## 조건3이고 매수상태에서만 한번 추가진입
if crossup(c,ma(C,5)) and MarketPosition() == 1 and CurrentContracts() == 1 Then
buy("매수0");
## 조건6이고 매도상태에서만 한번 추가진입
if CrossDown(c,ma(C,5)) and MarketPosition() == -1 and CurrentContracts() == 1 Then
sell("매도0");
## 조건6이고 매수상태에서만 1계약 매수청산
if CrossDown(c,ma(C,5)) and MarketPosition() == 1 and CurrentContracts() == 2 Then
exitlong("매수청산",onclose,def,"",1,1);
## 조건3이고 매도상태에서만 1계약 매도청산
if crossup(c,ma(C,5)) and MarketPosition() == -1 and CurrentContracts() == 2 Then
exitshort("매도청산",OnClose,def,"",1,1);
2.
##무포지션일때 매수조건1 혹은 2일때 매수
if MarketPosition() == 0 Then
{
if C > O Then
buy("매수1");
if C == O and C >= C[1] Then
buy("매수2");
if C < O Then
sell("매도1");
if C == O and C < C[1] Then
sell("매도2");
}
## 조건3이고 매수상태에서만 한번 추가진입
if crossup(c,ma(C,5)) and MarketPosition() == 1 and CurrentContracts() == 1 Then
buy("매수0");
## 조건6이고 매도상태에서만 한번 추가진입
if CrossDown(c,ma(C,5)) and MarketPosition() == -1 and CurrentContracts() == 1 Then
sell("매도0");
## 조건6이고 매수상태에서만 1계약 매수청산
if CrossDown(c,ma(C,5)) and MarketPosition() == 1 and CurrentContracts() == 2 Then
exitlong("매수청산",onclose,def,"",1,1);
## 조건3이고 매도상태에서만 1계약 매도청산
if crossup(c,ma(C,5)) and MarketPosition() == -1 and CurrentContracts() == 2 Then
exitshort("매도청산",OnClose,def,"",1,1);
즐거운 하루되세요
> 빠빠라기 님이 쓴 글입니다.
> 제목 : 시스템식 부탁드립니다.
> 안녕하세요.
신호당 진입계약은 1계약을 원칙으로 하는데요.
매도와 매수 각 매수1, 매수2, 매수0
매도1, 매도2, 매도0
이렇게 3개의 신호로 매매를 합니다.
매수1 이나 매수2로 진입을 한 매수포지션에서 매수0 신호가 발생하면
1계약 추가매수, 여기서 매도0 신호가 발생하면 기존의 1계약은 유지하고
매수0으로 진입한 것만 청산. 다시 매수0 신호 발생시 1계약 다시 추가...
다시 매도0 신호 발생하면 1계약만 청산...
매수1 이나 매수2로 진입을 한 매수포지션에서 매수0 신호가 발생하면
1계약 추가매수, 여기서 매도1 이나 매도2 신호가 발생하면 모두 청산하고
매도 1계약 진입.
매도도 마찬가지로 매도 1계약 유지하면서 매도0 신호 발생하면 1계약 추가
매수0 신호 발생하면 1계약 청산.
매수1 이나 매수2 진입후 매도0 발생하면 청산
매도0으로 청산후 매수0 발생하면 다시 매수.
매도1 이나 매도2 진입후 매수0 발생하면 청산.
매수0으로 청산후 매도0 발생하면 다시 매도.
그러니까 결국은 1,2번 신호가 주 신호이고 0번 신호는 추가계약만 운용하는
시스템이구요. 최대보유 계약은 2계약이 되는것입니다.
부탁드리겠습니다.