커뮤니티
수식문의입니다.
2013-02-14 21:59:38
476
글번호 59522
아래 수식 답변해주신점 너무 감사드립니다.
말씀해주신 수식을 바탕으로 첫번째 Demark 전략(그림상 맨 오른쪽 C)을 적용하여 거래내역을 살펴보았는데
실제로 제가 테스트했던 거래내역과는 너무 달라서 여쭙니다.
슬리피지는 장시작 후 바로 걸어두는 주문이기에 발생할 여지가 없다고 보고
2월 6일 7일 신호 발생 후 수익으로 연결되어야하는데 시스템상엔 진입조차 되어있지 않았습니다.
Demark 기준선이 시가보다 [아래] 일경우 Demark 기준선에서 매수
Demark 기준선이 시가보다 [위] 일경우 Demark 기준선에서 매도
만약 Demark 기준선과 시가의 차이가 0.15p 이내면 진입 X
14시 이후 진입 X
손절 0.5p
익절 0.75p
진입은 1회로 제한
위와같은 조건으로 진행하였는데 3가지 전략 모두 제가 테스트했던 결과와는 너무 달라서
혹시 잘못된 점이 있나 궁금합니다.
테스트 조건 역시 위와 같은 조건인데 왜 차이가 날까요?
아래는 아까 써주신 Demark 수식입니다.
If DayClose(1) > DayOpen(1) Then
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayHigh(1);
value3 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/4;
}
Else If DayClose(1) < DayOpen(1) Then
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayHigh(1);
value3 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/4;
}
Else
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayHigh(1);
value3 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/4;
}
if ExitDate(1) != sdate and MarketPosition == 0 Then{
if value3 < dayopen-0.15 and CrossDown(c,value3) and Stime < 140000 Then
buy();
if value3 > dayopen+0.15 and crossup(c,value3) and Stime < 140000 Then
sell();
}
SetStopLoss(0.5,PointStop);
SetStopProfittarget(0.75,PointStop);
if MarketPosition == 1 Then
ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-0.15);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+0.15);
- 1. K-20130214-786862.jpg (0.21 MB)
- 2. K-20130214-788440.jpg (0.22 MB)
답변 1
예스스탁 예스스탁 답변
2013-02-15 10:03:33
안녕하세요
예스스탁입니다.
조건내용이
Demark 기준선이 시가보다 [아래] 일경우 Demark 기준선에서 매수
Demark 기준선이 시가보다 [위] 일경우 Demark 기준선에서 매도
로 올려주셔서
봉완성시에
매수일경우 Demark가 시가보다 아래이므로 Demark를 하향돌파할때 매수
매도일경우 Demark가 시가보다 위이므로 Demark를 상향돌파할때 매도로
작성이 되어 있습니다.
우선 위의 내용이 맞는지 확인하시기 바랍니다.
시가시작하고 아래로 내려와 Demark이하의 시세가 발생하면 즉시매수
시가시작하고 위로 상승해 Demark이상의 시세가 발생하면 즉시매도하는
식으로 변경해 드립니다.
1 디마크
var : count(0),cnt(0);
count = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if DayClose(1) > DayOpen(1) Then
value3 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/4;
Else If DayClose(1) < DayOpen(1) Then
value3 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/4;
Else
value3 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/4;
if DayClose > DayOpen Then
value4 = (DayHigh+DayLow+DayClose+DayHigh)/4;
Else If DayClose < DayOpen Then
value4 = (DayHigh+DayLow+DayClose+DayLow)/4;
Else
value4 = (DayHigh+DayLow+DayClose+DayClose)/4;
if stime == 151500 Then{
if value4 <= NextBarOpen-0.15 Then
buy("b1",atlimit,value4);
if value4 >= NextBarOpen+0.15 Then
Sell("s1",atlimit,value4);
}
if count == 0 and MarketPosition == 0 Then{
if value3 < dayopen-0.15 and Stime < 140000 Then
buy("B",atlimit,value3);
if value3 > dayopen+0.15 and Stime < 140000 Then
sell("s",atlimit,value3);
}
SetStopLoss(0.5,PointStop);
SetStopProfittarget(0.75,PointStop);
SetStopTrailing(0.2,0.5,PointStop);
2 피봇
var : count(0),cnt(0);
count = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) Then
count = count+1;
}
value1 = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
value2 = (DayHigh+DayLow+DayClose)/3;
if stime == 151500 Then{
if value2 <= NextBarOpen-0.15 Then
buy("b1",atlimit,value2);
if value2 >= NextBarOpen+0.15 Then
Sell("s1",atlimit,value2);
}
if count == 0 and MarketPosition == 0 Then{
if value1 <= dayopen-0.15 and Stime < 140000 Then
buy("B",atlimit,value1);
if value1 >= dayopen+0.15 and Stime < 140000 Then
sell("s",atlimit,value1);
}
SetStopLoss(0.5,PointStop);
SetStopProfittarget(0.5,PointStop);
추가로 문의하신 갭보정 부분은 위 내용으로 작성이 가능하지 않습니다.
기본차트속성화면에서 기능상 차트 갭보정을 한후
2번식을 적용하셔야 합니다.
시스템 트레이딩 설정창이 비용/수량탭에서
슬리피지나 수수료가 설정되면
리포트에 해당 비용이 포함이 됩니다.
0으로 설정하시면 해당설정 포함하지 않은 손익이 표시 됩니다.
즐거운 하루되세요
> 타푸 님이 쓴 글입니다.
> 제목 : 수식문의입니다.
> 아래 수식 답변해주신점 너무 감사드립니다.
말씀해주신 수식을 바탕으로 첫번째 Demark 전략(그림상 맨 오른쪽 C)을 적용하여 거래내역을 살펴보았는데
실제로 제가 테스트했던 거래내역과는 너무 달라서 여쭙니다.
슬리피지는 장시작 후 바로 걸어두는 주문이기에 발생할 여지가 없다고 보고
2월 6일 7일 신호 발생 후 수익으로 연결되어야하는데 시스템상엔 진입조차 되어있지 않았습니다.
Demark 기준선이 시가보다 [아래] 일경우 Demark 기준선에서 매수
Demark 기준선이 시가보다 [위] 일경우 Demark 기준선에서 매도
만약 Demark 기준선과 시가의 차이가 0.15p 이내면 진입 X
14시 이후 진입 X
손절 0.5p
익절 0.75p
진입은 1회로 제한
위와같은 조건으로 진행하였는데 3가지 전략 모두 제가 테스트했던 결과와는 너무 달라서
혹시 잘못된 점이 있나 궁금합니다.
테스트 조건 역시 위와 같은 조건인데 왜 차이가 날까요?
아래는 아까 써주신 Demark 수식입니다.
If DayClose(1) > DayOpen(1) Then
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/2-DayHigh(1);
value3 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayHigh(1))/4;
}
Else If DayClose(1) < DayOpen(1) Then
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/2-DayHigh(1);
value3 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayLow(1))/4;
}
Else
{
value1 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayLow(1);
value2 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/2-DayHigh(1);
value3 = (DayHigh(1)+DayLow(1)+DayClose(1)+DayClose(1))/4;
}
if ExitDate(1) != sdate and MarketPosition == 0 Then{
if value3 < dayopen-0.15 and CrossDown(c,value3) and Stime < 140000 Then
buy();
if value3 > dayopen+0.15 and crossup(c,value3) and Stime < 140000 Then
sell();
}
SetStopLoss(0.5,PointStop);
SetStopProfittarget(0.75,PointStop);
if MarketPosition == 1 Then
ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-0.15);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+0.15);
다음글
이전글