커뮤니티
문의드립니다.
2015-11-25 11:05:54
138
글번호 92719
항상 좋은 말씀 감사합니다.
수식 작성 중 해결이 안돼 조언 부탁 드립니다.
감사합니다. ^^
1. 시스템 식에서 사용하였던 샹들리에 청산을 지표로 보려고 시스템 식을 다음과 같이 바꿔 보았습니다.그러나 제대로 나타나지가 않네요.
# __________<<< 매수 진입 >>>___________________________________________________
If 현재포지션 == 0 Then Begin
If 포지션신호[1] != 1 And 포지션신호 == 1 Then Begin
매수진입예정가 = High;
If CrossUp(Close,매수진입예정가) Then
{ 현재포지션 = 1;
진입후봉수 = -1; }
End;
End;
# ----------<<< 매수 청산 >>>---------------------------
If 현재포지션 == 1 Then Begin
진입후봉수 = 진입후봉수 + 1;
매수청산선 = Highest(High,진입후봉수)-ATR(ATR_Len1)*ATR_Mul1;
If CrossDown(Close,매수청산선) Then 현재포지션 = 0;
End;
If 현재포지션 == 1 Then Plot1(매수청산선,"매수청산선",BLUE);
Else NoPlot(1);
2. CrossUp, Down은 atStop 명령어를 대신한 것입니다. 이게 적절한 것인지요?
3. 위 식 중에서 (시스템 식에서)
매수진입예정가 = High;
If CrossUp(Close,매수진입예정가) Then Buy;
라고 한다면, 현재가가 고가를 넘어야 한다는 얘기라 논리적으로 말이 안 된다고 생각되는데 실제로는 신호가 나옵니다. 그래서
매수진입예정가 = High[1]
라고 하면 시스템 성과가 -로 돌아서서 이해가 되지 않지만 포기를 못하고 있습니다.
왜 그런가요?
답변 1
예스스탁 예스스탁 답변
2015-11-25 14:59:56
안녕하세요
예스스탁입니다.
1.
input : ATR_Len1(20),ATR_Mul1(2);
var : 현재포지션(0),포지션신호(0),매수진입예정가(0),진입후봉수(-1),매수청산선(0),매수후최고가(0);
If 현재포지션 <= 0 and H >= H[1] Then
{
현재포지션 = 1;
진입후봉수 = -1;
plot2(H,"진입봉",RED);//진입봉 마크
}
# ----------<<< 매수 청산 >>>---------------------------
If 현재포지션 == 1 Then{
진입후봉수 = 진입후봉수 + 1;
if 진입후봉수 == 0 Then{
매수후최고가 = H;
}
if 진입후봉수 >= 1 and H > 매수후최고가 Then
매수후최고가 = H;
매수청산선 = 매수후최고가-ATR(ATR_Len1)*ATR_Mul1;
If L <= 매수청산선 Then
현재포지션 = 0;
Plot1(매수청산선,"매수청산선",BLUE);//점그래프나 일자그래프
}
2.
atstop은 봉완성시 가격을 셋팅하고
다음봉에서 해당 가격이상인지 감시합니다.
buy("b",atstop,H);
라고 하면 현재가가 직전완성봉의 고가보다 크면
즉시 신호가 발생합니다.
atstop뒤에 가격은 봉완성시 셋팅이 되는 가격입니다.
atstop을 풀어서 if문으로 표현할때는
if H >= 매수예정가[1] then
으로 표현하셔야 합니다.
3
매수진입예정가 = High;
If CrossUp(Close,매수진입예정가) Then Buy;
위 내용으로는 신호가 발생할수 없습니다.
아래식 시스템으로 작성하고 적용해 보시기 바랍니다.
var : 매수진입예정가(0),매도진입예정가(0);
매수진입예정가 = High;
If CrossUp(Close,매수진입예정가) Then Buy();
매도진입예정가 = Low;
If CrossDown(Close,매도진입예정가) Then sell();
즐거운 하루되세요
> 다니엘87 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 항상 좋은 말씀 감사합니다.
수식 작성 중 해결이 안돼 조언 부탁 드립니다.
감사합니다. ^^
1. 시스템 식에서 사용하였던 샹들리에 청산을 지표로 보려고 시스템 식을 다음과 같이 바꿔 보았습니다.그러나 제대로 나타나지가 않네요.
# __________<<< 매수 진입 >>>___________________________________________________
If 현재포지션 == 0 Then Begin
If 포지션신호[1] != 1 And 포지션신호 == 1 Then Begin
매수진입예정가 = High;
If CrossUp(Close,매수진입예정가) Then
{ 현재포지션 = 1;
진입후봉수 = -1; }
End;
End;
# ----------<<< 매수 청산 >>>---------------------------
If 현재포지션 == 1 Then Begin
진입후봉수 = 진입후봉수 + 1;
매수청산선 = Highest(High,진입후봉수)-ATR(ATR_Len1)*ATR_Mul1;
If CrossDown(Close,매수청산선) Then 현재포지션 = 0;
End;
If 현재포지션 == 1 Then Plot1(매수청산선,"매수청산선",BLUE);
Else NoPlot(1);
2. CrossUp, Down은 atStop 명령어를 대신한 것입니다. 이게 적절한 것인지요?
3. 위 식 중에서 (시스템 식에서)
매수진입예정가 = High;
If CrossUp(Close,매수진입예정가) Then Buy;
라고 한다면, 현재가가 고가를 넘어야 한다는 얘기라 논리적으로 말이 안 된다고 생각되는데 실제로는 신호가 나옵니다. 그래서
매수진입예정가 = High[1]
라고 하면 시스템 성과가 -로 돌아서서 이해가 되지 않지만 포기를 못하고 있습니다.
왜 그런가요?
다음글
이전글