안녕하세요?
스크립트 작성 요청드립니다.
크루드오일 5분봉으로 거래를 하고자 합니다.
전영업일 시가(7시 시초가 가격, 써머타임 해지시 8시)와 3시 30분봉(써머타임 해지시 4시 30분) 완성봉과 가격을 비교하여
시가 > 3시 30분 이면 당일 시초가 매수
시가 < 3시 30분 이면 당일 시초가 매도
3시 30분에 강제청산
가능하다면 당일 시초가 계산을 당일에 데이터가 생성이 되야 진입하는 게아니라 전일 종가봉이 들어온 것으로 계산하여 당일 시초가를 계산하고자 합니다.
답변 1
예스스탁
예스스탁 답변
2020-04-06 17:26:31
안녕하세요
예스스탁입니다.
var : Summer(False);
var : S1(0),S2(0),E1(0),E2(0),cnt(0),ST(0),ET(0);
var : Tcond(false);
if sdate != sdate[1] Then
{
S1 = Floor(sdate/10000)*10000+0300;
E1 = Floor(sdate/10000)*10000+1100;
var1 = 0;
var2 = 0;
for cnt = 1 to 31
{
if DayOfWeek(S1+cnt) == 0 Then
{
var1 = var1+1;
if var1 == 2 then
{
S2 = S1+cnt;
}
}
if DayOfWeek(E1+cnt) == 0 and cnt <= 31 Then
{
var2 = var2+1;
if var2 == 1 then
{
E2 = E1+cnt;
}
}
}
}
if summer == true and
((sdate != sdate and stime >= 033000) or
(sdate == sdate and stime >= 033000 and stime[1] < 033000)) Then
{
var1 = c;
}
if summer == false and
((sdate != sdate and stime >= 043000) or
(sdate == sdate and stime >= 043000 and stime[1] < 043000)) Then
{
var1 = c;
}
if summer == true and var1 > 0 and
((sdate != sdate and stime >= 070000) or
(sdate == sdate and stime >= 070000 and stime[1] < 070000)) Then
{
if dayopen(1) > var1 Then
buy("b1",AtMarket);
if dayopen(1) < var1 Then
sell("s1",AtMarket);
}
if summer == false and
((sdate != sdate and stime >= 080000) or
(sdate == sdate and stime >= 080000 and stime[1] < 080000)) Then
{
if dayopen(1) > var1 Then
buy("b2",AtMarket);
if dayopen(1) < var1 Then
sell("s2",AtMarket);
}
if sdate != sdate[1] Then
SetStopEndofday(033000);
if bdate != bdate[1] Then
SetStopEndofday(0);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
스크립트 작성 요청드립니다.
크루드오일 5분봉으로 거래를 하고자 합니다.
전영업일 시가(7시 시초가 가격, 써머타임 해지시 8시)와 3시 30분봉(써머타임 해지시 4시 30분) 완성봉과 가격을 비교하여
시가 > 3시 30분 이면 당일 시초가 매수
시가 < 3시 30분 이면 당일 시초가 매도
3시 30분에 강제청산
가능하다면 당일 시초가 계산을 당일에 데이터가 생성이 되야 진입하는 게아니라 전일 종가봉이 들어온 것으로 계산하여 당일 시초가를 계산하고자 합니다.