커뮤니티
수식 문의
2014-07-14 18:02:04
159
글번호 76711
예전에 질문한 37025의 2번에 대해 재질문 드립니다.
1. 해외선물에서 아래와 같이 A이름으로 청산된뒤 A진입신호가 발생해도 540분 이내에는 진입금지시키고자 했는데, 식이 전혀 먹히질 않습니다. 뭐가 문제인지 검증부탁드립니다.
VARS: TIMESET(0);
if (SDATE == EXITDATE(1)) Then
TIMESET = TimeToMinutes(stime) - TimeToMinutes(ExitDate(1));
else
TIMESET = TimeToMinutes(stime) + (1440 - TimeToMinutes(ExitDate(1)));
// 동일이름으로 청산된뒤 N분 이내 진입금지
if (조건 A)
AND !( ((ENTRYNAME(1) == "A") OR (LATESTENTRYNAME(1) == "A")) AND (TIMESET <= 540) ) then ~~~
2. 또한, 피라미딩 진입을 기본으로 하고 있는데, 위 식에서 ENTRYNAME은 최초진입, LATESTENTRYNAME은 최종진입된 것의 이름을 알 수 있는데 만약 A => B => C 순서로 진입되었다고 가정할때, 중간에 낀 B의 이름은 어떻게 가져올 수 있는지요??
늘 감사드립니다.
답변 1
예스스탁 예스스탁 답변
2014-07-15 14:18:59
안녕하세요
예스스탁입니다.
1.
VARS: TIMESET(0);
if (SDATE == EXITDATE(1)) Then
TIMESET = TimeToMinutes(stime) - TimeToMinutes(ExitTime(1));
else
TIMESET = TimeToMinutes(stime) + (1440 - TimeToMinutes(ExitTime(1)));
위 TimeToMinutes에 시간이 잘못되어 있었습니다.
위식 이용하시면 됩니다.
2.
변수에 진입이 발생할때마다 가장최근 진입명(LatestEntryName(0))을 저장하시고
이전값은 다른변수에 옮기셔서 이용하시면 됩니다
var : name1(""),name2(""),name3(""),
#수량증가(최초진입이나 추가진입의 발생을 의미)
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then{
name1 = LatestEntryName(0);//피라미딩에서 가장최근 진입명
name2 = name2[1];//전 진입명
name3 = name3[1];//전전 진입명
}
}
if MarketPosition != 1 Then{
name1 = ""
name1 = ""
name1 = ""
}
즐거운 하루되세요
> gt 님이 쓴 글입니다.
> 제목 : 수식 문의
> 예전에 질문한 37025의 2번에 대해 재질문 드립니다.
1. 해외선물에서 아래와 같이 A이름으로 청산된뒤 A진입신호가 발생해도 540분 이내에는 진입금지시키고자 했는데, 식이 전혀 먹히질 않습니다. 뭐가 문제인지 검증부탁드립니다.
VARS: TIMESET(0);
if (SDATE == EXITDATE(1)) Then
TIMESET = TimeToMinutes(stime) - TimeToMinutes(ExitDate(1));
else
TIMESET = TimeToMinutes(stime) + (1440 - TimeToMinutes(ExitDate(1)));
// 동일이름으로 청산된뒤 N분 이내 진입금지
if (조건 A)
AND !( ((ENTRYNAME(1) == "A") OR (LATESTENTRYNAME(1) == "A")) AND (TIMESET <= 540) ) then ~~~
2. 또한, 피라미딩 진입을 기본으로 하고 있는데, 위 식에서 ENTRYNAME은 최초진입, LATESTENTRYNAME은 최종진입된 것의 이름을 알 수 있는데 만약 A => B => C 순서로 진입되었다고 가정할때, 중간에 낀 B의 이름은 어떻게 가져올 수 있는지요??
늘 감사드립니다.
다음글
이전글