커뮤니티

수식 문의

프로필 이미지
gt
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의 이름은 어떻게 가져올 수 있는지요?? 늘 감사드립니다.