커뮤니티
수식확인 부탁드립니다
2010-08-26 10:18:35
688
글번호 31864
(현물 분봉기준)
주가가 5일 이평선을 상향 돌파하거나, 위에 있을 때 매수, 5일 이평선을 하향 돌파하거나 20일 이평선을 하향 돌파할 때 매수 청산이며,
진입과 매수청산은 단 한차례로 끝나는 경우입니다.
아래 식이 맞나요?
(예외조건) 3일 이동평균선과 5일 이동평균선이 서로 격차를 5%이상 벌리게 되면,
주가가 3일 이평선을 하향 이탈 할 때 매도 (나머지 매도 조건은 동일합니다)
var1 = ma(C,5);
if sdate >= start and TotalTrades == 0 and MarketPosition == 0 and
(crossup(c,var1) or C > var1) Then
buy("b");
if MarketPosition == 1 Then {
if max(ma(c,3),ma(c,5)) <= min(ma(c,3),ma(c,5))*1.05 Then{
if CrossDown(c,ma(c,5)) Then
exitlong();
}
if max(ma(c,3),ma(c,5)) > min(ma(c,3),ma(c,5))*1.05 Then{
if CrossDown(c,ma(c,3)) Then
exitlong();
}
if CrossDown(c,ma(c,20)) Then
exitlong();
}
답변 1
예스스탁 예스스탁 답변
2010-08-26 17:08:24
안녕하세요
예스스탁입니다.
분봉에서 일봉이평이시면 식을 아래와 같이 작성하셔여 합니다.
input : start(20100826), P1(3),P2(5),P3(20);
var : sumV1(0),maV1(0),count(0),sumV2(0), maV2(0),sumV3(0), maV3(0);
sumV1 = 0;
sumV2 = 0;
sumV3 = 0;
for count = 0 to P3{
if count < P1 Then
sumV1 = sumV1+DayClose(count);
if count < P2 Then
sumV2 = sumV2+DayClose(count);
if count < P3 Then
sumV3 = sumV3+DayClose(count);
}
maV1 = sumV1 / P1;
maV2 = sumV2 / P2;
maV3 = sumV3 / P3;
if sdate >= start and TotalTrades == 0 and MarketPosition == 0 and
(crossup(c,maV2) or C > maV2) Then
buy("b");
if MarketPosition == 1 Then {
if max(maV1,maV2) <= min(maV1,maV2)*1.05 Then{
if CrossDown(c,maV2) Then
exitlong();
}
if max(maV1,maV2) > min(maV1,maV2)*1.05 Then{
if CrossDown(c,maV1) Then
exitlong();
}
if CrossDown(c,maV3) Then
즐거운 하루되세요
> Jason 님이 쓴 글입니다.
> 제목 : 수식확인 부탁드립니다
>
(현물 분봉기준)
주가가 5일 이평선을 상향 돌파하거나, 위에 있을 때 매수, 5일 이평선을 하향 돌파하거나 20일 이평선을 하향 돌파할 때 매수 청산이며,
진입과 매수청산은 단 한차례로 끝나는 경우입니다.
아래 식이 맞나요?
(예외조건) 3일 이동평균선과 5일 이동평균선이 서로 격차를 5%이상 벌리게 되면,
주가가 3일 이평선을 하향 이탈 할 때 매도 (나머지 매도 조건은 동일합니다)
var1 = ma(C,5);
if sdate >= start and TotalTrades == 0 and MarketPosition == 0 and
(crossup(c,var1) or C > var1) Then
buy("b");
if MarketPosition == 1 Then {
if max(ma(c,3),ma(c,5)) <= min(ma(c,3),ma(c,5))*1.05 Then{
if CrossDown(c,ma(c,5)) Then
exitlong();
}
if max(ma(c,3),ma(c,5)) > min(ma(c,3),ma(c,5))*1.05 Then{
if CrossDown(c,ma(c,3)) Then
exitlong();
}
if CrossDown(c,ma(c,20)) Then
exitlong();
}
다음글
이전글