커뮤니티
질문입니다.
2017-03-17 01:33:48
95
글번호 107906
선물 5분봉에서 거래하는 시스템을 작성하고자 합니다.
매수시그널은 5ma를 상향돌파할 때 1계약 진입하고,
매도시그널은 10ma를 하향돌파할 때 1계약 진입하고자 합니다.
그리고 위 시스템에 피라미딩을 최대 4계약까지 진입하게 만들고자합니다.
피라미딩 규칙은 다음과 같습니다.
먼저, 진입규칙입니다.
매수로 1계약이 진입한 후 진입가격으로부터 0.1% 상승하면 1계약을 추가로 매수합니다.
2번째 진입한 매수가격으로부터 0.1% 추가로 상승하면 다시 1계약을 추가로 매수진입합니다.
이런식으로 최대 4계약까지 진입하고자 합니다.
매도도 마찬가지 형태입니다.
매도로 1계약 진입한 후 진입가격으로부터 0.1% 하락하면 1계약을 추가로 매도합니다.
2번째 진입한 매도가격으로부터 0.1% 추가로 하락하면 다시 1계약을 추가로 매도진입합니다.
역시 최대 4계약까지 진입을 허용합니다.
다음은 청산규칙입니다.
만약 매수(매도)로 현재 4계약까지 진입이 되어있다고 가정할때,
가격이 4번째 진입가격 대비 0.2% 하락(상승)한다면 2계약을 청산합니다.
만약, 매수(매도)로 현재 3계약까지 진입이 되어있고,
가격이 3번째 진입가격 대비 0.2% 하락(상승)한다면 2계약을 청산합니다.
만약, 매수(매도)로 현재 2계약까지 진입이 되어있고,
가격이 2번째 진입가격 대비 0.2% 하락(상승)한다면 1계약을 청산합니다.
만약, 매수(매도)로 현재 1계약만 진입되어 있다면,
매도(매수)시그널이 발생할때까지 매수(매도)를 유지합니다.
위와같은 시스템을 작성하고자 하는데,
두가지 방법으로 만들고자 합니다.
첫번째는 위의 로직을 봉완성시에 신호가 발생하도록 하게하는 시스템이고.
두번째는 봉이 미완성이더라도 위의 로직이 만족하면 바로바로 신호가 발생하게 만들고 싶습니다.
두가지 방법으로 자세한 예시 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2017-03-17 12:52:53
안녕하세요
예스스탁입니다.
1
var1 = ma(C,5);
var2 = ma(C,10);
if MarketPosition <= 0 and crossup(c,var1) Then
buy("b",OnClose,def,1);
if MarketPosition >= 0 and CrossDown(c,var2) Then
sell("s",OnClose,def,1);
if MarketPosition == 1 then{
if MaxConsecLosers < 4 and crossup(c,LatestEntryPrice(0)*1.001) Then
buy("bb",OnClose,def,1);
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "bx" Then
Condition1 = true;
if MaxContracts >= 2 and Condition1 == false and CrossDown(c,LatestEntryPrice(0)*0.998) Then{
ExitLong("bx",OnClose,def,"",round(CurrentContracts*0.5,0),2);
}
}
Else
Condition1 = false;
if MarketPosition == -1 then{
if MaxEntries < 4 and CrossDown(c,LatestEntryPrice(0)*0.999) Then
sell("ss",OnClose,def,1);
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "sx" Then
Condition2 = true;
if MaxContracts >= 2 and Condition2 == false and Crossup(c,LatestEntryPrice(0)*1.002) Then{
ExitShort("sx",OnClose,def,"",round(CurrentContracts*0.5,0),2);
}
}
Else
Condition2 = false;
2.
var1 = ma(C,5);
var2 = ma(C,10);
if MarketPosition <= 0 and crossup(c,var1) Then
buy("b",OnClose,def,1);
if MarketPosition >= 0 and CrossDown(c,var2) Then
sell("s",OnClose,def,1);
if MarketPosition == 1 then{
if MaxConsecLosers < 4 Then
buy("bb",AtStop,LatestEntryPrice(0)*1.001,1);
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "bx" Then
Condition1 = true;
if MaxContracts >= 2 and Condition1 == false Then{
ExitLong("bx",AtStop,LatestEntryPrice(0)*0.998,"",round(CurrentContracts*0.5,0),2);
}
}
Else
Condition1 = false;
if MarketPosition == -1 then{
if MaxEntries < 4 Then
sell("ss",AtStop,LatestEntryPrice(0)*0.999,1);
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "sx" Then
Condition2 = true;
if MaxContracts >= 2 and Condition2 == false Then{
ExitShort("sx",AtStop,LatestEntryPrice(0)*1.002,"",round(CurrentContracts*0.5,0),2);
}
}
Else
Condition2 = false;
즐거운 하루되세요
> yanartas 님이 쓴 글입니다.
> 제목 : 질문입니다.
> 선물 5분봉에서 거래하는 시스템을 작성하고자 합니다.
매수시그널은 5ma를 상향돌파할 때 1계약 진입하고,
매도시그널은 10ma를 하향돌파할 때 1계약 진입하고자 합니다.
그리고 위 시스템에 피라미딩을 최대 4계약까지 진입하게 만들고자합니다.
피라미딩 규칙은 다음과 같습니다.
먼저, 진입규칙입니다.
매수로 1계약이 진입한 후 진입가격으로부터 0.1% 상승하면 1계약을 추가로 매수합니다.
2번째 진입한 매수가격으로부터 0.1% 추가로 상승하면 다시 1계약을 추가로 매수진입합니다.
이런식으로 최대 4계약까지 진입하고자 합니다.
매도도 마찬가지 형태입니다.
매도로 1계약 진입한 후 진입가격으로부터 0.1% 하락하면 1계약을 추가로 매도합니다.
2번째 진입한 매도가격으로부터 0.1% 추가로 하락하면 다시 1계약을 추가로 매도진입합니다.
역시 최대 4계약까지 진입을 허용합니다.
다음은 청산규칙입니다.
만약 매수(매도)로 현재 4계약까지 진입이 되어있다고 가정할때,
가격이 4번째 진입가격 대비 0.2% 하락(상승)한다면 2계약을 청산합니다.
만약, 매수(매도)로 현재 3계약까지 진입이 되어있고,
가격이 3번째 진입가격 대비 0.2% 하락(상승)한다면 2계약을 청산합니다.
만약, 매수(매도)로 현재 2계약까지 진입이 되어있고,
가격이 2번째 진입가격 대비 0.2% 하락(상승)한다면 1계약을 청산합니다.
만약, 매수(매도)로 현재 1계약만 진입되어 있다면,
매도(매수)시그널이 발생할때까지 매수(매도)를 유지합니다.
위와같은 시스템을 작성하고자 하는데,
두가지 방법으로 만들고자 합니다.
첫번째는 위의 로직을 봉완성시에 신호가 발생하도록 하게하는 시스템이고.
두번째는 봉이 미완성이더라도 위의 로직이 만족하면 바로바로 신호가 발생하게 만들고 싶습니다.
두가지 방법으로 자세한 예시 부탁드립니다.
감사합니다.
이전글