수고많으십니다.
[1] 항셍 매매에서
1. 10시 15분 ~ 12시 50분
2. 2시 ~ 17시
3. 18시 15분 ~ 새벽 1시까지 3등분으로 나눠 거래되는 시간수식을 쓰려고 하는데
적용이 잘 안되어 수식 문의드립니다.
------------------------------------------------------------------------
[2]
if L < Var3+PriceScale*10 Then{
exitShort("S_B3",AtStop,Var3+PriceScale*10,"",1,1);
}
매도 청산식을 이렇게 만들었는데 문제는 var3을 돌파하지 않고 var3의 10틱 위에서 그냥 청산이 됩니다.
이것을
매도진입후 var3을 아래로 뚫고 1틱이라도 하락했다가 다시 위로 뚫고 10틱 상승하거나
원래 var3 아래에 있다가 var3을 위로 뚫고 10틱 상승하면 청산되게 수정 부탁드립니다.
늘 노고에 감사합니다.
답변 1
예스스탁
예스스탁 답변
2023-11-10 17:25:36
안녕하세요
예스스탁입니다.
1
input : StartTime1(110000),EndTime1(230000);
input : StartTime2(110000),EndTime2(230000);
input : StartTime3(110000),EndTime3(230000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= StartTime1) or
(sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1) Then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= EndTime1) or
(sdate == sdate[1] and stime >= EndTime1 and stime[1] < EndTime1) Then
{
Tcond = False;
}
if (sdate != sdate[1] and stime >= StartTime2) or
(sdate == sdate[1] and stime >= StartTime2 and stime[1] < StartTime2) Then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= EndTime2) or
(sdate == sdate[1] and stime >= EndTime2 and stime[1] < EndTime2) Then
{
Tcond = False;
}
if (sdate != sdate[1] and stime >= StartTime3) or
(sdate == sdate[1] and stime >= StartTime3 and stime[1] < StartTime3) Then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= EndTime3) or
(sdate == sdate[1] and stime >= EndTime3 and stime[1] < EndTime3) Then
{
Tcond = False;
}
if Tcond == true Then
{
진입청산수식
}
2
if L < Var3 Then
{
exitShort("S_B3",AtStop,Var3+PriceScale*10,"",1,1);
}
if문 조건은 L < Var3 로 변경하셔야 합니다.
봉완성시 저가가 var3보다 작으면 값이 셋팅되고 다음봉에서 var3+10틱이상 시세가 발생하면 즉시 청산됩니다.
기존 작성한 식은 저가가 var3+10틱보다 작으면 조건이 충족되게 되어 있습니다.
만약 진입이후 var3보다 낮은 값이 한번이상 발생한 이후에 var3+10틱이상 시세 발생시 청산한다면 아래와 같습니다.
if Lowest(L,BarsSinceEntry) < Var3 Then
{
exitShort("S_B3",AtStop,Var3+PriceScale*10,"",1,1);
}
즐거운 하루되세요
> 카르마다 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 수고많으십니다.
[1] 항셍 매매에서
1. 10시 15분 ~ 12시 50분
2. 2시 ~ 17시
3. 18시 15분 ~ 새벽 1시까지 3등분으로 나눠 거래되는 시간수식을 쓰려고 하는데
적용이 잘 안되어 수식 문의드립니다.
------------------------------------------------------------------------
[2]
if L < Var3+PriceScale*10 Then{
exitShort("S_B3",AtStop,Var3+PriceScale*10,"",1,1);
}
매도 청산식을 이렇게 만들었는데 문제는 var3을 돌파하지 않고 var3의 10틱 위에서 그냥 청산이 됩니다.
이것을
매도진입후 var3을 아래로 뚫고 1틱이라도 하락했다가 다시 위로 뚫고 10틱 상승하거나
원래 var3 아래에 있다가 var3을 위로 뚫고 10틱 상승하면 청산되게 수정 부탁드립니다.
늘 노고에 감사합니다.