아녕하세요 예스스탁님 고생 많으십니다.
다름이 아니라 제가 수식을 작성해 보았는데 매수가 발생하지 않아 오류 수정 부탁드리려고 글 쓰게 되었습니다.
--
개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5
개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5
매도 : 다음날 시초가에 매도
---
를 진행하려 하는데 아래 수식에서 어떤 점이 잘못 됐는지요? 알려주시면 정말 감사하겠습니다.
input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5);
var : Tcond(false), Entry(0);
Entry = DayOpen + (Var1-Var2)*K;
if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then
{
var1 = H;
var2 = L;
}
if sTime >= 시작시간 and sTime < 끝시간 Then
{
if H > var1 Then
var1 = H;
if L < Var2 Then
Var2 = L;
}
if (sdate != sdate[1] and stime >= 시작시간2) or
(sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then
{
Tcond = true;
entry = 0;
}
if (sdate != sdate[1] and stime >= 끝시간2) or
(sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then
Tcond = False;
if MarketPosition == 0 and Tcond == true Then
Buy("B",AtStop,entry);
if MarketPosition == 1 and NextBarSdate != sdate Then
exitlong("bx",AtMarket);
답변 2
예스스탁
예스스탁 답변
2021-03-08 13:14:29
안녕하세요
예스스탁입니다.
1
Entry변수가 시작시간에 0으로 초기화가 됩니다.
초기화가 되는 부분을 삭제하시면 됩니다.
input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5);
var : Tcond(false), Entry(0);
if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then
{
var1 = H;
var2 = L;
}
if sTime >= 시작시간 and sTime < 끝시간 Then
{
if H > var1 Then
var1 = H;
if L < Var2 Then
Var2 = L;
}
if (sdate != sdate[1] and stime >= 시작시간2) or
(sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then
{
Tcond = true;
}
Entry = DayOpen + (Var1-Var2)*K;
if (sdate != sdate[1] and stime >= 끝시간2) or
(sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then
Tcond = False;
if MarketPosition == 0 and Tcond == true Then
Buy("B",AtStop,Entry);
if MarketPosition == 1 and NextBarSdate != sdate Then
exitlong("bx",AtMarket);
2
시가가 당일시가입니다.
만약 시작시간2의 시가이면 아래식 적용하시면 됩니다.
input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5);
var : Tcond(false), Entry(0),OO(0);
if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then
{
var1 = H;
var2 = L;
}
if sTime >= 시작시간 and sTime < 끝시간 Then
{
if H > var1 Then
var1 = H;
if L < Var2 Then
Var2 = L;
}
if (sdate != sdate[1] and stime >= 시작시간2) or
(sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then
{
Tcond = true;
OO = O;
}
Entry = OO + (Var1-Var2)*K;
if (sdate != sdate[1] and stime >= 끝시간2) or
(sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then
Tcond = False;
if MarketPosition == 0 and Tcond == true Then
Buy("B",AtStop,Entry);
if MarketPosition == 1 and NextBarSdate != sdate Then
exitlong("bx",AtMarket);
즐거운 하루되세요
> syskama 님이 쓴 글입니다.
> 제목 : 오류 수정 부탁드립니다!
> 아녕하세요 예스스탁님 고생 많으십니다.
다름이 아니라 제가 수식을 작성해 보았는데 매수가 발생하지 않아 오류 수정 부탁드리려고 글 쓰게 되었습니다.
--
개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5
개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5
매도 : 다음날 시초가에 매도
---
를 진행하려 하는데 아래 수식에서 어떤 점이 잘못 됐는지요? 알려주시면 정말 감사하겠습니다.
input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5);
var : Tcond(false), Entry(0);
Entry = DayOpen + (Var1-Var2)*K;
if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then
{
var1 = H;
var2 = L;
}
if sTime >= 시작시간 and sTime < 끝시간 Then
{
if H > var1 Then
var1 = H;
if L < Var2 Then
Var2 = L;
}
if (sdate != sdate[1] and stime >= 시작시간2) or
(sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then
{
Tcond = true;
entry = 0;
}
if (sdate != sdate[1] and stime >= 끝시간2) or
(sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then
Tcond = False;
if MarketPosition == 0 and Tcond == true Then
Buy("B",AtStop,entry);
if MarketPosition == 1 and NextBarSdate != sdate Then
exitlong("bx",AtMarket);
syskama
2021-03-09 23:23:53
알려주신 대로 해 보았는데 거래가 발생하지 않습니다.
한번만 다시 봐주실 수 있을까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 오류 수정 부탁드립니다!
> 안녕하세요
예스스탁입니다.
1
Entry변수가 시작시간에 0으로 초기화가 됩니다.
초기화가 되는 부분을 삭제하시면 됩니다.
input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5);
var : Tcond(false), Entry(0);
if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then
{
var1 = H;
var2 = L;
}
if sTime >= 시작시간 and sTime < 끝시간 Then
{
if H > var1 Then
var1 = H;
if L < Var2 Then
Var2 = L;
}
if (sdate != sdate[1] and stime >= 시작시간2) or
(sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then
{
Tcond = true;
}
Entry = DayOpen + (Var1-Var2)*K;
if (sdate != sdate[1] and stime >= 끝시간2) or
(sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then
Tcond = False;
if MarketPosition == 0 and Tcond == true Then
Buy("B",AtStop,Entry);
if MarketPosition == 1 and NextBarSdate != sdate Then
exitlong("bx",AtMarket);
2
시가가 당일시가입니다.
만약 시작시간2의 시가이면 아래식 적용하시면 됩니다.
input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5);
var : Tcond(false), Entry(0),OO(0);
if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then
{
var1 = H;
var2 = L;
}
if sTime >= 시작시간 and sTime < 끝시간 Then
{
if H > var1 Then
var1 = H;
if L < Var2 Then
Var2 = L;
}
if (sdate != sdate[1] and stime >= 시작시간2) or
(sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then
{
Tcond = true;
OO = O;
}
Entry = OO + (Var1-Var2)*K;
if (sdate != sdate[1] and stime >= 끝시간2) or
(sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then
Tcond = False;
if MarketPosition == 0 and Tcond == true Then
Buy("B",AtStop,Entry);
if MarketPosition == 1 and NextBarSdate != sdate Then
exitlong("bx",AtMarket);
즐거운 하루되세요
> syskama 님이 쓴 글입니다.
> 제목 : 오류 수정 부탁드립니다!
> 아녕하세요 예스스탁님 고생 많으십니다.
다름이 아니라 제가 수식을 작성해 보았는데 매수가 발생하지 않아 오류 수정 부탁드리려고 글 쓰게 되었습니다.
--
개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5
개장 후 1시간 동안에 고가와 저가 계산 후 10시 이후 매수 : 현재가(C) > 시가(O) + 1시간 동안의 range position(고가-저가)*0.5
매도 : 다음날 시초가에 매도
---
를 진행하려 하는데 아래 수식에서 어떤 점이 잘못 됐는지요? 알려주시면 정말 감사하겠습니다.
input : 시작시간(90000), 끝시간(100000), 시작시간2(100000), 끝시간2(131900), K(0.5);
var : Tcond(false), Entry(0);
Entry = DayOpen + (Var1-Var2)*K;
if sTime == 시작시간 or (sTime >= 시작시간 and sTime[1] < 시작시간)then
{
var1 = H;
var2 = L;
}
if sTime >= 시작시간 and sTime < 끝시간 Then
{
if H > var1 Then
var1 = H;
if L < Var2 Then
Var2 = L;
}
if (sdate != sdate[1] and stime >= 시작시간2) or
(sdate == sdate[1] and stime >= 시작시간2 and stime[1] < 시작시간2) Then
{
Tcond = true;
entry = 0;
}
if (sdate != sdate[1] and stime >= 끝시간2) or
(sdate == sdate[1] and stime >= 끝시간2 and stime[1] < 끝시간2) Then
Tcond = False;
if MarketPosition == 0 and Tcond == true Then
Buy("B",AtStop,entry);
if MarketPosition == 1 and NextBarSdate != sdate Then
exitlong("bx",AtMarket);