커뮤니티
Pivot (역추세)
2007-06-21 18:00:48
1249
글번호 12838
안녕하십니까.
아래에 있는 로직은 CT- 7th 시스템트레이딩 에 있는 Pivot (역추세) 입니다.
YT 로 전환해 주시면 고맙겠습니다.
수식 대신 글로 시스템내용을 올려보려하였으나, 저의 표현에 문제점도 있고 수식
옆에 주석도 있어 그냥 올려 봅니다.
감사합니다.
---------------
input; len(3.2), method(1)
'method에 따른 피봇라인 설정
If method=1 Then
Var10 = (HighD(1) + LowD(1) + closed(1)) / 3 '피봇
Var11= Var10 * 2 - LowD(1) '1차 저항
Var12= Var10 + HighD(1) - LowD(1) '2차저항
Var9= Var10 * 2 - HighD(1) '1차 지지
Var8= Var10 - HighD(1) + LowD(1) '2차지지
Else
Var10 = (HighD(1) + LowD(1) + closed(1)+opend(1)) / 4 '피봇
Var11= Var10 * 2 - LowD(1) '1차 저항
Var12= Var10 + HighD(1) - LowD(1) '2차저항
Var9= Var10 * 2 - HighD(1) '1차 지지
Var8= Var10 - HighD(1) + LowD(1) '2차지지
End If
'시가대비 영역별 지정가 돌파시 진입
If Var9 > opend And opend> Var8 Then '시가가 var9보다 작고 var8보다 크면
If TTIME<=1500 Then '15:00분 이전이라면
If position=0 And tdate<>entrydate(1) Then '하루에 한번만 진입
call buy("매수1", Atstop, Def, Var9) '지정가 상향돌파시 매수
Call sell("매도1", Atstop, Def, Var8) '지정가 하향돌파시 매도
End If
End If
End If
If Var10 > opend And opend>=var9 Then
If TTIME<=1500 Then
If position=0 And tdate<>entrydate(1) Then
Call buy("매수2", Atstop, Def, Var10)
Call sell("매도2", Atstop, Def, Var8)
End If
End If
End if
If Var11 > opend And opend>=var10 Then
If TTIME<=1500 Then
If position=0 And tdate<>entrydate(1) Then
Call buy("매수3", Atstop, Def, Var12)
Call sell("매도3", Atstop, Def, Var10)
End If
End If
End If
If Var12 > opend And opend>=var11 Then
If TTIME<=1500 Then
If position=0 And tdate<>entrydate(1) Then
Call buy("매수4", Atstop, Def, Var12)
Call sell("매도4", Atstop, Def, Var11)
End If
End If
End If
If opend>=var12 Then
If TTIME<=1500 Then
If position=0 And tdate<>entrydate(1) Then
Call buy("매수5", Atstop, Def, opend+(Var12-var11))
Call sell("매도5", Atstop, Def, Var12)
End If
End If
End If
If opend<=var8 Then
If TTIME<=1500 Then
If position=0 And tdate<>entrydate(1) Then
Call buy("매수6", Atstop, Def, Var8)
Call sell("매도6", Atstop, Def, opend-(Var9-var8))
End If
End If
End if
'청산
If position<>0 Then
Call exitlong("매수청산", Atstop, hhv(1, high, barnumsinceentry+1)-atr(20)*len)
Call exitshort("매도청산", Atstop, llv(1, low, barnumsinceentry+1)+atr(20)*len)
End If
If tdate<>tdate(1) Then
Var50=currententrynum 'currententrynum -- 현재까지의 시장 진입 횟수
'(오픈포지션까지 포함)
End If
If currententrynum-var50 =1 Then '당일 매매가 한번 이루어진 경우
If entryname="매수2" Or entryname="매수3" Then '진입명칭이 매수2, 매수3인 경우
If highd>var12 And low>var11 Then
Call sell("역매도", Atstop, Def, Var11)
End If
End If
If entryname="매도2" Or entryname="매도3" Then '진입명칭이 매도2, 매도3인 경우
If lowd<var8 And high<var9 Then
Call buy("역매수", Atstop, Def, Var9)
End If
End If
End if
답변 2
예스스탁 예스스탁 답변
2007-06-22 13:44:08
안녕하세요
예스스탁입니다.
즐거운 하루되세요
input : len(3.2), method(1) ;
var : var11(0),var12(0),var50(0),MP(0),currententrynum(0);
Mp = Marketposition();
if MP != 0 and Mp[1] == 0 then
currententrynum = currententrynum+1;
//method에 따른 피봇라인 설정
If method == 1 Then {
Var10 = (dayHigh(1) + dayLow(1) + dayclose(1)) / 3 ; //'피봇
Var11 = Var10 * 2 - dayLow(1); //'1차 저항
Var12 = Var10 + dayHigh(1) - dayLow(1); //'2차저항
Var9 = Var10 * 2 - dayHigh(1); //'1차 지지
Var8 = Var10 - dayHigh(1) + dayLow(1); // '2차지지
}
Else {
Var10 = (dayHigh(1) + dayLow(1) + dayclose(1)+dayopen(1)) / 4; //'피봇
Var11 = Var10 * 2 - dayLow(1); //'1차 저항
Var12 = Var10 + dayHigh(1) - dayLow(1); // '2차저항
Var9 = Var10 * 2 - dayHigh(1); // '1차 지지
Var8 = Var10 - dayHigh(1) + dayLow(1) ; // '2차지지
}
//시가대비 영역별 지정가 돌파시 진입
If Var9 > dayopen() And dayopen() > Var8 Then { // '시가가 var9보다 작고 var8보다 크면
If sTIME <= 150000 Then { // '15:00분 이전이라면
If marketposition() == 0 And date <> entrydate(1) Then { //'하루에 한번만 진입
buy("매수1", Atstop, Var9); //'지정가 상향돌파시 매수
sell("매도1", Atstop,Var8); //'지정가 하향돌파시 매도
}
}
}
If Var10 > dayopen() And dayopen() >= var9 Then{
If sTIME <= 150000 Then{
If marketposition()==0 And date<>entrydate(1) Then{
buy("매수2", Atstop, Var10);
sell("매도2", Atstop, Var8);
}
}
}
If Var11 > dayopen() And dayopen() >= var10 Then{
If sTIME <= 150000 Then{
If marketposition() ==0 And date <> entrydate(1) Then{
buy("매수3", Atstop, Var12);
sell("매도3", Atstop, Var10);
}
}
}
If Var12 > dayopen() And dayopen() >= var11 Then {
If sTIME <= 150000 Then {
If marketposition() ==0 And date <> entrydate(1) Then{
buy("매수4", Atstop, Var12);
sell("매도4", Atstop, Var11);
}
}
}
If dayopen() >= var12 Then {
If sTIME <= 150000 Then {
If marketposition()==0 And date <> entrydate(1) Then {
buy("매수5", Atstop, dayopen()+(Var12-var11));
sell("매도5", Atstop, Var12);
}
}
}
If dayopen() <= var8 Then {
If sTIME <= 150000 Then{
If marketposition() == 0 And date <> entrydate(1) Then {
buy("매수6", Atstop, Var8);
sell("매도6", Atstop, dayopen()-(Var9-var8));
}
}
}
//'청산
If marketposition() <> 0 Then {
exitlong("매수청산", Atstop, nthhighest(1, high, barssinceentry()+1)-atr(20)*len);
exitshort("매도청산", Atstop, nthlowest(1, low, barssinceentry()+1)+atr(20)*len);
}
If date <> date[1] Then {
Var50=currententrynum; // 'currententrynum -- 현재까지의 시장 진입 횟수
// '(오픈포지션까지 포함)
}
If currententrynum-var50 == 1 Then{ ///'당일 매매가 한번 이루어진 경우
If isentryname("매수2") Or isentryname("매수3") Then {// '진입명칭이 매수2, 매수3인 경우
If dayhigh() > var12 And low > var11 Then {
sell("역매도", Atstop, Var11);
}
}
If isentryname("매도2") Or isentryname("매도3") Then {// '진입명칭이 매도2, 매도3인 경우
If daylow() < var8 And high < var9 Then{
buy("역매수", Atstop, Var9);
}
}
}
> nanum 님이 쓴 글입니다.
> 제목 : Pivot (역추세)
>
안녕하십니까.
아래에 있는 로직은 CT- 7th 시스템트레이딩 에 있는 Pivot (역추세) 입니다.
YT 로 전환해 주시면 고맙겠습니다.
수식 대신 글로 시스템내용을 올려보려하였으나, 저의 표현에 문제점도 있고 수식
옆에 주석도 있어 그냥 올려 봅니다.
감사합니다.
---------------
input; len(3.2), method(1)
'method에 따른 피봇라인 설정
If method=1 Then
Var10 = (HighD(1) + LowD(1) + closed(1)) / 3 '피봇
Var11= Var10 * 2 - LowD(1) '1차 저항
Var12= Var10 + HighD(1) - LowD(1) '2차저항
Var9= Var10 * 2 - HighD(1) '1차 지지
Var8= Var10 - HighD(1) + LowD(1) '2차지지
Else
Var10 = (HighD(1) + LowD(1) + closed(1)+opend(1)) / 4 '피봇
Var11= Var10 * 2 - LowD(1) '1차 저항
Var12= Var10 + HighD(1) - LowD(1) '2차저항
Var9= Var10 * 2 - HighD(1) '1차 지지
Var8= Var10 - HighD(1) + LowD(1) '2차지지
End If
'시가대비 영역별 지정가 돌파시 진입
If Var9 > opend And opend> Var8 Then '시가가 var9보다 작고 var8보다 크면
If TTIME<=1500 Then '15:00분 이전이라면
If position=0 And tdate<>entrydate(1) Then '하루에 한번만 진입
call buy("매수1", Atstop, Def, Var9) '지정가 상향돌파시 매수
Call sell("매도1", Atstop, Def, Var8) '지정가 하향돌파시 매도
End If
End If
End If
If Var10 > opend And opend>=var9 Then
If TTIME<=1500 Then
If position=0 And tdate<>entrydate(1) Then
Call buy("매수2", Atstop, Def, Var10)
Call sell("매도2", Atstop, Def, Var8)
End If
End If
End if
If Var11 > opend And opend>=var10 Then
If TTIME<=1500 Then
If position=0 And tdate<>entrydate(1) Then
Call buy("매수3", Atstop, Def, Var12)
Call sell("매도3", Atstop, Def, Var10)
End If
End If
End If
If Var12 > opend And opend>=var11 Then
If TTIME<=1500 Then
If position=0 And tdate<>entrydate(1) Then
Call buy("매수4", Atstop, Def, Var12)
Call sell("매도4", Atstop, Def, Var11)
End If
End If
End If
If opend>=var12 Then
If TTIME<=1500 Then
If position=0 And tdate<>entrydate(1) Then
Call buy("매수5", Atstop, Def, opend+(Var12-var11))
Call sell("매도5", Atstop, Def, Var12)
End If
End If
End If
If opend<=var8 Then
If TTIME<=1500 Then
If position=0 And tdate<>entrydate(1) Then
Call buy("매수6", Atstop, Def, Var8)
Call sell("매도6", Atstop, Def, opend-(Var9-var8))
End If
End If
End if
'청산
If position<>0 Then
Call exitlong("매수청산", Atstop, hhv(1, high, barnumsinceentry+1)-atr(20)*len)
Call exitshort("매도청산", Atstop, llv(1, low, barnumsinceentry+1)+atr(20)*len)
End If
If tdate<>tdate(1) Then
Var50=currententrynum 'currententrynum -- 현재까지의 시장 진입 횟수
'(오픈포지션까지 포함)
End If
If currententrynum-var50 =1 Then '당일 매매가 한번 이루어진 경우
If entryname="매수2" Or entryname="매수3" Then '진입명칭이 매수2, 매수3인 경우
If highd>var12 And low>var11 Then
Call sell("역매도", Atstop, Def, Var11)
End If
End If
If entryname="매도2" Or entryname="매도3" Then '진입명칭이 매도2, 매도3인 경우
If lowd<var8 And high<var9 Then
Call buy("역매수", Atstop, Def, Var9)
End If
End If
End if
nanum
2007-06-22 19:48:00
nanum 님에 의해 삭제된 답변입니다.
다음글
이전글