커뮤니티
한번더 부탁드립니다!
2017-05-24 01:11:41
138
글번호 109811
53362번 문의해서 답변 감사히 잘 받았습니다.
그런데 스크린샷에서 보시면 파라볼릭의 신호가 최우선으로 적용되어야 하는데
그렇치 못한듯합니다. 스크린샷의 파라볼릭은 갭보정은 하지않았으나
기본형 그대로의 수치를 적용한 파라볼릭입니다.
스크린샷을 보시면 매수신호가 나왔다가 최소수익후 수익감소로 익절되었다가
7봉을 기다려 5선이 20선 위에있으면 다시 매수신호가 나와야하나
이것은 파라볼릭이 매수영역에 계속있을때, 즉 상방추세가 강할때 재진입하기 위함이였습니다.
최우선 적용은 파라볼릭이기에 파라볼릭이 매도영역에 있을때는
최소수익후 수익감소든, 손절매이후든 관계없이 매도신호가 출현했으면 합니다.
또한 앞의 매수신호도 파라볼릭이 바로 매도로 바뀌었는데도 신호가 이어지고 있습니다.
요점은 파라볼릭 매수시작시 매수, 매도시작시 매도가 최우선으로 지켜지면서
부수적인 요소가 적용되기를 원합니다.
최소수익후 수익감소, 손절매 이후 7봉후 5선이 20선 위에있으면 동일방향으로
신호가 다시 나오는것은 파라볼릭이 동일방향으로 지속될때에 적용되기를 원하고
만일 파라볼릭이 다른방향으로 바뀌었을때는 무조건 그방향으로 바뀐 신호가
그자리서 즉시 출현하는걸 원합니다.
수고스럽겠지만 다시한번 부탁드립니다!
- 1. 20170524004640.jpg (0.10 MB)
답변 1
예스스탁 예스스탁 답변
2017-05-25 11:41:04
안녕하세요
예스스탁입니다.
우선 봉의 종가와 갭보정파라볼릭을 비교하게 되어 있는데
갭보정된 종가와 비교로 변경해 드립니다.
수식안에서 갭보정된 파라볼릭은 기본수식과 값차이가 많이 날수 있고
또한 그 뱡향등도 많이 다를수도 있습니다.
현재 올려드린 수식 외에 따로 추가로 해드릴만한 부분이 없습니다.
1
시스템 수정
(수식안에서 갭보정된 지표를 사용하는 경우 갭보정된 종가와 갭보정지표를 비교해야 하는데
기본종가와 비교하게 되어 있어 수정했습니다.)
Input: AF(0.02), AFMAX(0.2),P1(5),P2(20),손절(0.4),최소수익(0.5),수익감소(0.3);
Var : Direction(0), SAR_Value(Close), AF_Value(.02), HighValue(High), LowValue(Low), EP(0),GCSAR(0);
var : gap(0),sumgap(0),GO(0),GH(0),GL(0),GC(0),mav1(0),mav2(0);
if bdate != bdate[1] then {
gap = Open-Close[1];
sumGap = sumGap+gap;
}
GO = O - sumGap;
GH = H - sumGap;
GL = L - sumGap;
GC = C - sumGap;
if EP != 0 Then
{
if Direction == 1 then
{
EP = HighValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if GH > HighValue then
{
HighValue = GH;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close < SAR_Value then
{
Direction = -1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
LowValue = Gl;
}
}
else
{
EP = LowValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if GL < LowValue then
{
LowValue = GL;
AF_Value = AF_Value + Af;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if GC > SAR_Value then
{
Direction = 1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
HighValue = GH;
}
}
GCSar = SAR_Value;
}
else
{
if SAR_Value != 0 && EP == 0 then
{
if Direction == 1 then
{
EP = HighValue;
AF_Value = AF;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if GH > HighValue then
{
HighValue = GH;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
else
{
EP = LowValue;
AF_Value = Af;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if GL < LowValue then
{
LowValue = GL;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
GCSar = SAR_Value;
}
else
{
if Direction == 0 then
{
if GC > GC[1] then Direction = 1;
else
if GC < GC[1] then Direction = -1;
}
else
{
if Direction == 1 then
{
if GC < GC[1] then
{
Direction = -1;
SAR_Value = HighValue;
GCSar = SAR_Value;
}
}
if Direction == -1 then
{
if GC > GC[1] then
{
Direction = 1;
SAR_Value = LowValue;
GCSar = SAR_Value;
}
}
}
LowValue = min(GL,LowValue);
HighValue = max(GH,HighValue);
}
}
mav1 = ma(C,P1);
mav2 = ma(C,P2);
If GC > GCSar Then
{
if (MarketPosition == 0 and MarketPosition(1) != 1) or
(MarketPosition == 0 and MarketPosition(1) == 1 and BarsSinceExit(1) >= 7 and mav1 > mav2) or
(MarketPosition == -1) then
Buy("b");
}
If GC < GCSar Then
{
if (MarketPosition == 0 and MarketPosition(1) != -1) or
(MarketPosition == 0 and MarketPosition(1) == -1 and BarsSinceExit(1) >= 7 and mav1 < mav2) or
(MarketPosition == 1) then
sell("s");
}
SetStopLoss(손절,PercentStop);
SetStopTrailing(수익감소,최소수익,PercentStop,1);
2 지표
Input: AF(0.02), AFMAX(0.2),P1(5),P2(20),손절(0.4),최소수익(0.5),수익감소(0.3);
Var : Direction(0), SAR_Value(Close), AF_Value(.02), HighValue(High), LowValue(Low), EP(0),GCSAR(0);
var : gap(0),sumgap(0),GO(0),GH(0),GL(0),GC(0),mav1(0),mav2(0);
if bdate != bdate[1] then {
gap = Open-Close[1];
sumGap = sumGap+gap;
}
GO = O - sumGap;
GH = H - sumGap;
GL = L - sumGap;
GC = C - sumGap;
if EP != 0 Then
{
if Direction == 1 then
{
EP = HighValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if GH > HighValue then
{
HighValue = GH;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close < SAR_Value then
{
Direction = -1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
LowValue = Gl;
}
}
else
{
EP = LowValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if GL < LowValue then
{
LowValue = GL;
AF_Value = AF_Value + Af;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if GC > SAR_Value then
{
Direction = 1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
HighValue = GH;
}
}
GCSar = SAR_Value;
}
else
{
if SAR_Value != 0 && EP == 0 then
{
if Direction == 1 then
{
EP = HighValue;
AF_Value = AF;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if GH > HighValue then
{
HighValue = GH;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
else
{
EP = LowValue;
AF_Value = Af;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if GL < LowValue then
{
LowValue = GL;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
GCSar = SAR_Value;
}
else
{
if Direction == 0 then
{
if GC > GC[1] then Direction = 1;
else
if GC < GC[1] then Direction = -1;
}
else
{
if Direction == 1 then
{
if GC < GC[1] then
{
Direction = -1;
SAR_Value = HighValue;
GCSar = SAR_Value;
}
}
if Direction == -1 then
{
if GC > GC[1] then
{
Direction = 1;
SAR_Value = LowValue;
GCSar = SAR_Value;
}
}
}
LowValue = min(GL,LowValue);
HighValue = max(GH,HighValue);
}
}
plot1(GC);
if GCSar > GC Then
Plot2(GCSar, "GCSar",BLUE);
Else
Plot2(GCSar, "GCSar",RED);
3
수식에서 갭보정 하지 않는 지표와 같이 보실때는 아래식 적용해 보시기 바랍니다.
Input: AF(0.02), maxAF(0.2),P1(5),P2(20),손절(0.4),최소수익(0.5),수익감소(0.3);
var : mav1(0),mav2(0);
var1 = CSar(af,maxAF);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
If C > var1 Then
{
if (MarketPosition == 0 and MarketPosition(1) != 1) or
(MarketPosition == 0 and MarketPosition(1) == 1 and BarsSinceExit(1) >= 7 and mav1 > mav2) or
(MarketPosition == -1) then
Buy("b");
}
If C < var1 Then
{
if (MarketPosition == 0 and MarketPosition(1) != -1) or
(MarketPosition == 0 and MarketPosition(1) == -1 and BarsSinceExit(1) >= 7 and mav1 < mav2) or
(MarketPosition == 1) then
sell("s");
}
SetStopLoss(손절,PercentStop);
SetStopTrailing(수익감소,최소수익,PercentStop,1);
즐거운 하루되세요
> 카르마다 님이 쓴 글입니다.
> 제목 : 한번더 부탁드립니다!
> 53362번 문의해서 답변 감사히 잘 받았습니다.
그런데 스크린샷에서 보시면 파라볼릭의 신호가 최우선으로 적용되어야 하는데
그렇치 못한듯합니다. 스크린샷의 파라볼릭은 갭보정은 하지않았으나
기본형 그대로의 수치를 적용한 파라볼릭입니다.
스크린샷을 보시면 매수신호가 나왔다가 최소수익후 수익감소로 익절되었다가
7봉을 기다려 5선이 20선 위에있으면 다시 매수신호가 나와야하나
이것은 파라볼릭이 매수영역에 계속있을때, 즉 상방추세가 강할때 재진입하기 위함이였습니다.
최우선 적용은 파라볼릭이기에 파라볼릭이 매도영역에 있을때는
최소수익후 수익감소든, 손절매이후든 관계없이 매도신호가 출현했으면 합니다.
또한 앞의 매수신호도 파라볼릭이 바로 매도로 바뀌었는데도 신호가 이어지고 있습니다.
요점은 파라볼릭 매수시작시 매수, 매도시작시 매도가 최우선으로 지켜지면서
부수적인 요소가 적용되기를 원합니다.
최소수익후 수익감소, 손절매 이후 7봉후 5선이 20선 위에있으면 동일방향으로
신호가 다시 나오는것은 파라볼릭이 동일방향으로 지속될때에 적용되기를 원하고
만일 파라볼릭이 다른방향으로 바뀌었을때는 무조건 그방향으로 바뀐 신호가
그자리서 즉시 출현하는걸 원합니다.
수고스럽겠지만 다시한번 부탁드립니다!
이전글