#공통, 전략
[설명]
•
매수진입
종가가기이평을 상향돌파한 이후 골드구간에서
이평간의 이격이 10틱이상 발생 후 이격이 20%이상 줄어든 후에
이격이 최대가 되면 매수
•
매수진입
종가가 이평을 하향이탈한 이후 데드구간에서
이평간의 이격이 10틱이상 발생 후 이격이 절반이상 줄어든 후에
이격이 최대가 되면 매도
Input : Period(20); //이동평균 기간
Var : mav(0),T(0),Diff(0),DiffHigh(0),lowAfterDiffHigh(0);
mav = MA(C, Period); //이평
Diff = abs(C-mav); //이격(최대값만 구하므로 절대값을 취함)
If CrossUp(C, maV) Then
{
T = 1; // 골든크로스 발생 1
DiffHigh = Diff; //최대이격 초기값
lowAfterDiffHigh = diffhigh; //최대이격 후 최저이격값 초기값
}
If CrossDown(C, mav) Then
{
T = -1; // 데드크로스 발생 -1
DiffHigh = Diff; //최대이격 초기값
lowAfterDiffHigh = diffhigh; //최대이격 후 최저이격값 초기값
}
// 골드 상태
If T == 1 Then
{
//최대 이격 갱신
If Diff > DiffHigh Then
{
//DiffHigh값을 현재 이격으로 변경
DiffHigh = Diff;
//최대이격 후 최저이격값도 현재값으로 초기화
lowAfterDiffHigh = diffhigh; //최대이격 후 최저이격값 초기값
}
//최대이격 후 최저이격값 갱신
If Diff < lowAfterDiffHigh Then
{
//lowAfterDiffHigh값을 현재 이격으로 변경
lowAfterDiffHigh = Diff;
}
if diffhigh[1] >= PriceScale*10 and //전봉기준 최대이격이 10틱이상이고
lowAfterDiffHigh[1] < DiffHigh[1]*0.80 and //최대이격후 30%이상 이격이 감소했고
Diff > diffhigh[1] Then
{
T = 1;
Buy();
}
}
// 데드 상태
If T == -1 Then
{
//최대 이격 갱신
If Diff > DiffHigh Then
{
//DiffHigh값을 현재 이격으로 변경
DiffHigh = Diff;
//최대이격 후 최저이격값도 현재값으로 초기화
lowAfterDiffHigh = diffhigh; //최대이격 후 최저이격값 초기값
}
//최대이격 후 최저이격값 갱신
If Diff < lowAfterDiffHigh Then
{
//lowAfterDiffHigh값을 현재 이격으로 변경
lowAfterDiffHigh = Diff;
}
if diffhigh[1] >= PriceScale*10 and //전봉기준 최대이격이 10틱이상이고
lowAfterDiffHigh[1] < DiffHigh[1]*0.80 and //최대이격후 30%이상 이격이 감소했고
Diff > diffhigh[1] Then
{
T = -1;
Sell();
}
}
JavaScript
복사
