알려주신 대로 해 보았는데 거래가 발생하지 않습니다.
한번만 다시 봐주실 수 있을까요? 수식상의 오류인지 아니면 시스템 설정상에 오류인지 파악이 안 되고 있습니다 도움 부탁드립니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : 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);
답변 1
예스스탁
예스스탁 답변
2021-03-12 15:11:01
안녕하세요
예스스탁입니다.
해당 수식은 첨부된 그림과 같이 신호가 정상적으로 발생하고 있습니다.
각 그림에서 위차트가 수식1, 아래가 수식2입니다.
즐거운 하루되세요
> syskama 님이 쓴 글입니다.
> 제목 : 재문의2
> 알려주신 대로 해 보았는데 거래가 발생하지 않습니다.
한번만 다시 봐주실 수 있을까요? 수식상의 오류인지 아니면 시스템 설정상에 오류인지 파악이 안 되고 있습니다 도움 부탁드립니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : 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);