커뮤니티
시스템식 부탁합니다
2012-04-19 23:54:23
374
글번호 50264
수고 많습니다.
돌파전략을 CME에 적용해 보려 합니다.
1. 복합장(정규장+CME)의 차트를 불러
18:00의 시초가에서 금일 정규장(9~15:10)진폭의 50% 상승이면 BUY,반대면 SELL
하는 변동성돌파전략을 만들고 싶어요.
아래의 것을 돌려보면 00:00:00부터 진입되는데,18:00부터 진입되게 해주세요.
input : DayMult(0.50),Mult(6.5);
var: fopen(0),fhigh(0),flow(0),fclose(0);
If stime == 180000 Then
{
fopen = Open;
fhigh = high ;
flow = low ;
fclose = Close;
}
#진입
var1 = (TimeHigh(90000,151000) - TimeLow(90000,151000))*DayMult;
if entriestoday(date) < 1 and stime >=180000 and stime <240000 then
{
buy("buy",atstop,fopen+var1);
sell("sell",atstop,fopen-var1);
}
// }
#청산
var3 =highest(h,barssinceentry+1) - atr(15)* Mult;
var4 =lowest(L,barssinceentry+1) + atr(15)* Mult;
if marketposition <> 0 then
{
exitlong("ExL-001",atstop,var3);
exitshort("ExS-001",atstop,var4);
}
setstoploss(2,percentstop);
setstopendofday(45000);
2. 위 프로그램이 돈다면 금일(18:00~~익일04:50)의 가장 높은 값과 가장 낮은값을
알고 싶어요
감사합니다.
답변 1
예스스탁 예스스탁 답변
2012-04-20 10:28:33
안녕하세요
예스스탁입니다.
식을 수정했습니다.
선물 야간장의 경우 당일청산함수를 이용하시면 안됩니다.
당일청산함수는 해당 함수로 청산이 되면 당일에는 더이상
진입을 하지 못하게 하므로 새벽 4시에 당일청산하면 당일
밤에는 신호가 발생할 수 없어 다음날 0시 이후에나
신호가 발생하게 됩니다.
야간장에서 if문으로 시간을 지정해 청산하셔야 합니다.
input : DayMult(0.50),Mult(6.5);
var : dayh(0),DayL(0),Fopen(0),CMEentry(0);
#주간장 최고가 최저가
if stime == 90000 Then{
dayh = H;
dayL = L;
}
if stime >= 90000 and stime <= 151500 Then{
if H > dayH Then
dayH = H;
if L < dayL Then
DayL = L;
}
var1 = dayh-dayl;
#야간장 첫봉
if stime == 180000 or (stime > 180000 and stime[1] < 180000) Then{
Fopen = O;# 시가
CMEentry = 0;#야간장 진입횟수 0으로 초기화
}
#야간장에서 진입횟수
if stime >= 180000 or stime < 45000 Then{
if (MarketPosition != 0 and MarketPosition == MarketPosition[1]) Then
CMEentry = CMEentry+1;
}
#야간장에서 한번만만 진입
if CMEentry < 1 and (stime >=180000 or stime < 45000) then
{
buy("buy",atstop,fopen+(var1*0.5));#야간장 시초가대비 주간장 진폭의 50% 상승하면 매수
sell("sell",atstop,fopen-(var1*0.5));#야간장 시초가대비 주간장 진폭의 50% 하락하면 매도
}
#청산
var3 =highest(h,barssinceentry+1) - atr(15)* Mult;
var4 =lowest(L,barssinceentry+1) + atr(15)* Mult;
if marketposition <> 0 then
{
exitlong("ExL-001",atstop,var3);
exitshort("ExS-001",atstop,var4);
}
setstoploss(2,percentstop);
if stime == 45000 Then{
exitlong();
ExitShort();
}
2. 야간장 시초가, 최고가와 최저가, 종가를 그리는 지표식입니다.
var : Fopen(0),Fhigh(0),Flow(0),Fclose(0);
#야간장 첫봉
if stime == 180000 or (stime > 180000 and stime[1] < 180000) Then{
Fopen = O;
Fhigh = H;
Flow = L;
Fclose = C;
}
if stime >= 180000 or stime < 900000 Then{
if H > Fhigh Then
Fhigh = H;
if L < Flow Then
Flow = L;
Fclose = C;
}
plot1(fopen,"야간장시가");
plot2(fhigh,"야간장고가");
plot3(flow,"야간장저가");
plot4(fclose,"야간장종가");
즐거운 하루되세요
> 먼지의추억 님이 쓴 글입니다.
> 제목 : 시스템식 부탁합니다
> 수고 많습니다.
돌파전략을 CME에 적용해 보려 합니다.
1. 복합장(정규장+CME)의 차트를 불러
18:00의 시초가에서 금일 정규장(9~15:10)진폭의 50% 상승이면 BUY,반대면 SELL
하는 변동성돌파전략을 만들고 싶어요.
아래의 것을 돌려보면 00:00:00부터 진입되는데,18:00부터 진입되게 해주세요.
input : DayMult(0.50),Mult(6.5);
var: fopen(0),fhigh(0),flow(0),fclose(0);
If stime == 180000 Then
{
fopen = Open;
fhigh = high ;
flow = low ;
fclose = Close;
}
#진입
var1 = (TimeHigh(90000,151000) - TimeLow(90000,151000))*DayMult;
if entriestoday(date) < 1 and stime >=180000 and stime <240000 then
{
buy("buy",atstop,fopen+var1);
sell("sell",atstop,fopen-var1);
}
// }
#청산
var3 =highest(h,barssinceentry+1) - atr(15)* Mult;
var4 =lowest(L,barssinceentry+1) + atr(15)* Mult;
if marketposition <> 0 then
{
exitlong("ExL-001",atstop,var3);
exitshort("ExS-001",atstop,var4);
}
setstoploss(2,percentstop);
setstopendofday(45000);
2. 위 프로그램이 돈다면 금일(18:00~~익일04:50)의 가장 높은 값과 가장 낮은값을
알고 싶어요
감사합니다.
다음글