커뮤니티
시스템식 문의드립니다
2011-09-23 19:42:38
494
글번호 42986
안녕하세요
아래식을 야간선물에 적용시 다음수식에 오류가 없는 지요
그리고 목표수익 청산에 대신하여 추적청산을 넣는다면 수식을 부탁드립니다
수고하세요
var : HO(0), LO(0), WO(0), W(0), H1(0), H2(0), H3(0), H4(0), L1(0), L2(0), L3
(0), L4(0);
Var : Count(0);
if date <> date[1] Then {
HO = H;
LO = L;
WO = H-L;
}
if WO >= 1.0 Then
W = WO/2;
Else
W = WO;
H1 = HO + W;
H2 = HO + (W*2);
H3 = HO + (W*3);
H4 = HO + (W*4);
L1 = LO - W;
L2 = LO - (W*2);
L3 = LO - (W*3);
L4 = LO - (W*4);
# 진입횟수 제한
Count = 0 ;
For Value1 = 0 To 10 {
If EntryDate(Value1) == date Then
Count = Count + 1;
}
# 진입식
if count < 2 and stime < 040000 then { //익일 04시 이전에 1회 진입?
if MarketPosition != 1 and H[1] < HO + 0.2 Then
buy("매수진입", atstop, HO + 0.2);
if MarketPosition != -1 and L[1] > LO - 0.2 Then
sell("매도진입",atstop, Lo - 0.2);
}
# 손절청산
if MarketPosition == 1 Then
exitlong("매수손절", atstop, HO - W - 0.15);
if MarketPosition == -1 Then
ExitShort("매도손절", atstop, LO + W + 0.15);
# 목표수익 청산
if MarketPosition == 1 Then
exitlong("매수익절", atlimit, H4);
if MarketPosition == -1 Then
ExitShort("매도익절", atlimit, L4);
# 당일청산
SetStopEndofday(0455);
답변 2
예스스탁 예스스탁 답변
2011-09-26 13:55:23
안녕하세요
예스스탁입니다.
input : Mult(5.5);
var : HO(0), LO(0), WO(0), W(0), H1(0), H2(0), H3(0), H4(0), L1(0), L2(0), L3(0), L4(0);
Var : Count(0);
if STIME == 180000 Then {
HO = H;
LO = L;
WO = H-L;
}
if WO >= 1.0 Then
W = WO/2;
Else
W = WO;
H1 = HO + W;
H2 = HO + (W*2);
H3 = HO + (W*3);
H4 = HO + (W*4);
L1 = LO - W;
L2 = LO - (W*2);
L3 = LO - (W*3);
L4 = LO - (W*4);
if stime == 180000 Then
count = 0;
if stime >= 180000 or stime < 45500 then{
if (MarketPosition == 1 and MarketPosition[1] != 1) Or
(MarketPosition == -1 and MarketPosition[1] != -1) Then
count = count+1;
}
# 진입식
if count < 2 and (stime >= 180000 or stime < 040000) then {#18시 이후 4시 이전
if MarketPosition != 1 and H[1] < HO + 0.2 Then
buy("매수진입", atstop, HO + 0.2);
if MarketPosition != -1 and L[1] > LO - 0.2 Then
sell("매도진입",atstop, Lo - 0.2);
}
# 손절청산
if MarketPosition == 1 Then
exitlong("매수손절", atstop, HO - W - 0.15);
if MarketPosition == -1 Then
ExitShort("매도손절", atstop, LO + W + 0.15);
# 목표수익 청산
if MarketPosition == 1 Then
ExitLong("매수익절", atlimit, H4);
if MarketPosition == -1 Then
ExitShort("매도익절", atlimit, L4);
#추적청산
Var3 = Highest(H,BarsSinceEntry+1)-ATR(20)*Mult;
Var4 = Lowest(L,BarsSinceEntry+1)+ATR(20)*Mult;
If MarketPosition <> 0 Then {
exitlong("EL",Atstop,Var3);
exitshort("ES",Atstop,Var4);
}
if stime == 045500 Then{
exitlong();
ExitShort();
}
HO,LO,WO등이 18부터 계산되는 내용이면
if date <> date[1] Then {
HO = H;
LO = L;
WO = H-L;
}
위 내용을 아래와 같이 변경하셔야 합니다.
if STIME == 180000 Then {
HO = H;
LO = L;
WO = H-L;
}
진입횟수 카운트도 야간장에 맞게 변경했습니다.
추적청산을 추가했습니다.
즐거운 하루되세요
> 시화연풍 님이 쓴 글입니다.
> 제목 : 시스템식 문의드립니다
> 안녕하세요
아래식을 야간선물에 적용시 다음수식에 오류가 없는 지요
그리고 목표수익 청산에 대신하여 추적청산을 넣는다면 수식을 부탁드립니다
수고하세요
var : HO(0), LO(0), WO(0), W(0), H1(0), H2(0), H3(0), H4(0), L1(0), L2(0), L3
(0), L4(0);
Var : Count(0);
if date <> date[1] Then {
HO = H;
LO = L;
WO = H-L;
}
if WO >= 1.0 Then
W = WO/2;
Else
W = WO;
H1 = HO + W;
H2 = HO + (W*2);
H3 = HO + (W*3);
H4 = HO + (W*4);
L1 = LO - W;
L2 = LO - (W*2);
L3 = LO - (W*3);
L4 = LO - (W*4);
# 진입횟수 제한
Count = 0 ;
For Value1 = 0 To 10 {
If EntryDate(Value1) == date Then
Count = Count + 1;
}
# 진입식
if count < 2 and stime < 040000 then { //익일 04시 이전에 1회 진입?
if MarketPosition != 1 and H[1] < HO + 0.2 Then
buy("매수진입", atstop, HO + 0.2);
if MarketPosition != -1 and L[1] > LO - 0.2 Then
sell("매도진입",atstop, Lo - 0.2);
}
# 손절청산
if MarketPosition == 1 Then
exitlong("매수손절", atstop, HO - W - 0.15);
if MarketPosition == -1 Then
ExitShort("매도손절", atstop, LO + W + 0.15);
# 목표수익 청산
if MarketPosition == 1 Then
exitlong("매수익절", atlimit, H4);
if MarketPosition == -1 Then
ExitShort("매도익절", atlimit, L4);
# 당일청산
SetStopEndofday(0455);
시화연풍
2011-09-27 13:03:55
네 감사드립니다
그런데 붙임 그림과 같이 전일 18시이후 신호가 나오는 것이 아니고 익일0시(24시)에 신호가 나오고 또 같은봉에서 매수매도신호가 나오는 경우가 있네요
어덯게 해야 될 까요
아래 질문에 대한 것도 익일 0시에 신호가 나오게 되네요
아래것도 부탁드립니다
참 그리고 야간선물은 시물레이션차트에서 불러올 수 없나요 시물레이션챠트에서
종목코드를 찾을 수 없어서요
미리 답변에 감사드립니다
===============================================
예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템식 문의드립니다
> 안녕하세요
예스스탁입니다.
input : Mult(5.5);
var : HO(0), LO(0), WO(0), W(0), H1(0), H2(0), H3(0), H4(0), L1(0), L2(0), L3(0), L4(0);
Var : Count(0);
if STIME == 180000 Then {
HO = H;
LO = L;
WO = H-L;
}
if WO >= 1.0 Then
W = WO/2;
Else
W = WO;
H1 = HO + W;
H2 = HO + (W*2);
H3 = HO + (W*3);
H4 = HO + (W*4);
L1 = LO - W;
L2 = LO - (W*2);
L3 = LO - (W*3);
L4 = LO - (W*4);
if stime == 180000 Then
count = 0;
if stime >= 180000 or stime < 45500 then{
if (MarketPosition == 1 and MarketPosition[1] != 1) Or
(MarketPosition == -1 and MarketPosition[1] != -1) Then
count = count+1;
}
# 진입식
if count < 2 and (stime >= 180000 or stime < 040000) then {#18시 이후 4시 이전
if MarketPosition != 1 and H[1] < HO + 0.2 Then
buy("매수진입", atstop, HO + 0.2);
if MarketPosition != -1 and L[1] > LO - 0.2 Then
sell("매도진입",atstop, Lo - 0.2);
}
# 손절청산
if MarketPosition == 1 Then
exitlong("매수손절", atstop, HO - W - 0.15);
if MarketPosition == -1 Then
ExitShort("매도손절", atstop, LO + W + 0.15);
# 목표수익 청산
if MarketPosition == 1 Then
ExitLong("매수익절", atlimit, H4);
if MarketPosition == -1 Then
ExitShort("매도익절", atlimit, L4);
#추적청산
Var3 = Highest(H,BarsSinceEntry+1)-ATR(20)*Mult;
Var4 = Lowest(L,BarsSinceEntry+1)+ATR(20)*Mult;
If MarketPosition <> 0 Then {
exitlong("EL",Atstop,Var3);
exitshort("ES",Atstop,Var4);
}
if stime == 045500 Then{
exitlong();
ExitShort();
}
HO,LO,WO등이 18부터 계산되는 내용이면
if date <> date[1] Then {
HO = H;
LO = L;
WO = H-L;
}
위 내용을 아래와 같이 변경하셔야 합니다.
if STIME == 180000 Then {
HO = H;
LO = L;
WO = H-L;
}
진입횟수 카운트도 야간장에 맞게 변경했습니다.
추적청산을 추가했습니다.
즐거운 하루되세요