커뮤니티
시스템식 부탁드립니다.
2017-04-14 11:22:21
214
글번호 108813
아래의 조건에 맞는 시스템식 작성에 도움 부탁드립니다.
그리고 또 한가지 궁금한 점이 있는데요,
주가(종가)가 30일선 상향돌파 작성에
If CrossUp(C, ma(c,30) Then Buy();
이런 식으로 작성을 했는데, 아래꼬리로 이평아래에 내려갔다가 다시 올라온 경우는 어떻게 포착하는건가요?
Input : Period1(10), Period2(60);
Var : Sma1(0), Sma2(0);
Sma1 = ma(C, Period1);
Sma2 = ma(C, Period2);
# 1차 매수 (조건1,2를 모두 만족할 경우 매수)
조건1) 0~5봉전의 C가 Sma1을 상향돌파 후, 현재 C가 Sma2 상향돌파 (즉, Sma1,Sma2 동시 상향돌파도 가능)
조건2) 1봉전 Sma1과 Sma2의 이격과 비교해 현재 1틱 이상 좁아진 경우
# 1차 매수청산
C가 Sma1을 하향돌파
# 2차 매수
1차 매수청산 후부터 주가가 Sma1과 Sma2 사이에 있던 상황에서 Sma1을 상향돌파
# 2차 매수청산
C가 Sma1을 하향돌파
# 본절
12틱 이상 상승후 다시 진입가로 하락시 진입가에 매수청산
- 1. crossup.PNG (0.01 MB)
답변 1
예스스탁 예스스탁 답변
2017-04-14 14:20:14
안녕하세요
예스스탁입니다.
1
If CrossUp(C, ma(c,30) Then Buy();
위 내용은 종가로만 판단합니다.
C > ma(c,30) and C[1] <= ma(c,30)[1]과 같습니다.
첨부한 그림은 하나의 봉에서 저가는 이평 밑으로 내려갔다가
종가는 위에서 끝난 상태입니다.
아래와 같이 표현하시면 됩니다.
if C > ma(C,30) and L < ma(C,30) then
2.
2차 조건이 모호합니다.
2차 진입은 1차진입(b1)으로 진입하고 청산한 이후에만
신호발생할수 있게 작성했습니다.
Input : Period1(10), Period2(60);
Var : Sma1(0), Sma2(0),diff(0);
Sma1 = ma(C, Period1);
Sma2 = ma(C, Period2);
diff = abs(sma1-sma2);
if MarketPosition == 0 and
crossup(c,sma2) and
C> Sma1 and countif(crossup(c,sma1),5) >= 1 and
diff <= diff-PriceScale*1 Then
buy("b1");
if MarketPosition == 0 and
IsEntryName("b1",1) == true and
crossup(c,sma1) and C[1] < sma1[1] and C[1] >= Sma2[1] Then
buy("b2");
if MarketPosition == 1 then{
if CrossDown(c,sma1) Then
exitlong("bx1");
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*12 Then
ExitLong("bx2",AtStop,EntryPrice);
}
만약 1차 진입이 차트 전체에서 한번만 발생하고
이후에는 2차로만 진입한다면 아래와 같습니다.
Input : Period1(10), Period2(60);
Var : Sma1(0), Sma2(0),diff(0);
Sma1 = ma(C, Period1);
Sma2 = ma(C, Period2);
diff = abs(sma1-sma2);
if MarketPosition == 0 and TotalTrades == 0 and
crossup(c,sma2) and
C> Sma1 and countif(crossup(c,sma1),5) >= 1 and
diff <= diff-PriceScale*1 Then
buy("b1");
if MarketPosition == 0 and TotalTrades >= 1 and
crossup(c,sma1) and C[1] < sma1[1] and C[1] >= Sma2[1] Then
buy("b2");
if MarketPosition == 1 then{
if CrossDown(c,sma1) Then
exitlong("bx1");
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*12 Then
ExitLong("bx2",AtStop,EntryPrice);
}
즐거운 하루되세요
> 라베시 님이 쓴 글입니다.
> 제목 : 시스템식 부탁드립니다.
> 아래의 조건에 맞는 시스템식 작성에 도움 부탁드립니다.
그리고 또 한가지 궁금한 점이 있는데요,
주가(종가)가 30일선 상향돌파 작성에
If CrossUp(C, ma(c,30) Then Buy();
이런 식으로 작성을 했는데, 아래꼬리로 이평아래에 내려갔다가 다시 올라온 경우는 어떻게 포착하는건가요?
Input : Period1(10), Period2(60);
Var : Sma1(0), Sma2(0);
Sma1 = ma(C, Period1);
Sma2 = ma(C, Period2);
# 1차 매수 (조건1,2를 모두 만족할 경우 매수)
조건1) 0~5봉전의 C가 Sma1을 상향돌파 후, 현재 C가 Sma2 상향돌파 (즉, Sma1,Sma2 동시 상향돌파도 가능)
조건2) 1봉전 Sma1과 Sma2의 이격과 비교해 현재 1틱 이상 좁아진 경우
# 1차 매수청산
C가 Sma1을 하향돌파
# 2차 매수
1차 매수청산 후부터 주가가 Sma1과 Sma2 사이에 있던 상황에서 Sma1을 상향돌파
# 2차 매수청산
C가 Sma1을 하향돌파
# 본절
12틱 이상 상승후 다시 진입가로 하락시 진입가에 매수청산