커뮤니티

문의 (NR)

프로필 이미지
TRF
2014-05-27 17:01:14
163
글번호 75392
답변완료
1. 아래식을 간단히 할 수 있는 방법이 있을까요? if COUNTIF((MTX, MTS), 2) >= 2 then MTXxTS.xELGetReady = TRUE; 라고 해주면 잘 되지 않더군요. VARS: MTXxTS.xELCheck(0, DATA1); VARS: MTXx1.xELiDX(-1, DATA1), MTXxTS.xELiDX(-1, DATA1); VARS: MTXx1.xELGetReady(FALSE, DATA1), MTXxTS.xELGetReady(FALSE, DATA1); if (MarketPosition == 1) then { // CROSSUP if ( (MTXxTS.xELCheck == 0) AND (MTXxTS.xELGetReady == FALSE) AND (MTX > MTS) ) then { MTXxTS.xELCheck = 1; } if ( (MTXxTS.xELCheck == 1) AND (DATA1(CROSSDOWN(MTX, MTS))) ) then { MTXxTS.xELCheck = 2; } if ( (MTXxTS.xELCheck == 2) AND (MTX < MTS) ) then { MTXxTS.xELCheck = 3; } if ( (MTXxTS.xELCheck == 3) AND (DATA1(CROSSUP(MTX, MTS))) ) then { MTXxTS.xELCheck = 4; } if ( (MTXxTS.xELCheck == 4) AND (MTX > MTS) ) then { MTXxTS.xELCheck = 5; } if ( (MTXxTS.xELCheck == 5) AND (DATA1(CROSSDOWN(MTX, MTS))) ) then { MTXxTS.xELGetReady = TRUE; } if ( (MTXxTS.xELGetReady == TRUE) AND (DATA1(CROSSUP(MTX, MTS + PRICESCALE * 10))) ) then { MTXxTS.xELGetReady = FALSE; MTXxTS.xELCheck = 0; } } if (MarketPosition == 0 AND MarketPosition(1) == 1) then { MTXxTS.xELCheck = 0; MTXxTS.xELGetReady = FALSE; } 2. 전화상 설명을 드렸는데 바쁘시더라도 36395번 답변 다시한번 부탁드리겠습니다. 3. 전화상 말씀드렸던 해외선물 포지션 운용시에 아래 수식에 대해 초기화 시점에 대해 궁금합니다. 데이트레이딩 같은경우 DAYINDEX를 이용하여 초기화를 시키고 값을 비교하면서 나아가는데, 포지션 같은 경우 일자가 변경되도 계속 값을 가지고 있어야 하는데 좀처럼 진도가 나가질 않습니다. 방향제시 부탁드리겠습니다.. VARS: MCGxMT(0), X(1.135); MCGxMT = ROUND(((M1 / M2 + M3 / M4) / X * 100), 5); VARS: MCGxMT.HST(0; VARS: MCGxMT.LST(0); VARS: MCGxMT.HSTiDX(-1); VARS: MCGxMT.LSTiDX(-1); // INIT (MARKET OPENNING TIME) if ( (stime == 170000) OR ((stime > 170000 AND stime[1] < 170000)) ) then { MCGxMT.HST = 0; MCGxMT.LST = 0; MCGxMT.HSTiDX = -1; MCGxMT.LSTiDX = -1; } if (DayIndex == 0) Then { MCGxMT.HST = MCGxMT; MCGxLT.HST = MCGxLT; MCGxMT.LST = MCGxMT; MCGxLT.LST = MCGxLT; } else if (DayIndex > 0) then { if (MCGxMT > MCGxMT.HST) then { MCGxMT.HST = MCGxMT; MCGxMT.HSTiDX = Z1iDX; } else if (MCGxMT < MCGxMT.LST) then { MCGxMT.LST = MCGxMT; MCGxMT.LSTiDX = Z1iDX; } 늘 친절한 답변에 감사드립니다..
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-05-28 10:58:06

안녕하세요 예스스탁입니다. 1. 해당 부분은 따로 줄일만한 부분이 없어 보입니다. 2. 36395 아래에 답변드렸습니다. 3. 값을 초기화 시점은 사용자분이 전략의 내용에 맞게 설정하셔야 합니다. 현재 올려주신 내용만으로는 정확히 판단이 어렵습니다. 현재 초기화 되는 곳이 17시와 0시(dayindex== 0) 2군데 입니다. 각 지점에서 포지션이 들어가 있는 시점에서는 초기화하지 않고 계속 값을 갱신해 나가고자 하시면 조건식에 MarketPosition == 0 을 추가하시면 됩니다. // INIT (MARKET OPENNING TIME) if MarketPosition == 0 and ( (stime == 170000) OR ((stime > 170000 AND stime[1] < 170000)) ) then { MCGxMT.HST = 0; MCGxMT.LST = 0; MCGxMT.HSTiDX = -1; MCGxMT.LSTiDX = -1; } if (DayIndex == 0 and MarketPosition == 0) Then { MCGxMT.HST = MCGxMT; MCGxLT.HST = MCGxLT; MCGxMT.LST = MCGxMT; MCGxLT.LST = MCGxLT; } else if (DayIndex > 0) then { if (MCGxMT > MCGxMT.HST) then { MCGxMT.HST = MCGxMT; MCGxMT.HSTiDX = Z1iDX; } else if (MCGxMT < MCGxMT.LST) then { MCGxMT.LST = MCGxMT; MCGxMT.LSTiDX = Z1iDX; } 포지션이 진행중에는 초기화하지 않고 값을 갱신해 가고 포지션이 없을때만 해당지점에서 지정한 값으로 초기화를 합니다. 즐거운 하루되세요 > TRF 님이 쓴 글입니다. > 제목 : 문의 (NR) > 1. 아래식을 간단히 할 수 있는 방법이 있을까요? if COUNTIF((MTX, MTS), 2) >= 2 then MTXxTS.xELGetReady = TRUE; 라고 해주면 잘 되지 않더군요. VARS: MTXxTS.xELCheck(0, DATA1); VARS: MTXx1.xELiDX(-1, DATA1), MTXxTS.xELiDX(-1, DATA1); VARS: MTXx1.xELGetReady(FALSE, DATA1), MTXxTS.xELGetReady(FALSE, DATA1); if (MarketPosition == 1) then { // CROSSUP if ( (MTXxTS.xELCheck == 0) AND (MTXxTS.xELGetReady == FALSE) AND (MTX > MTS) ) then { MTXxTS.xELCheck = 1; } if ( (MTXxTS.xELCheck == 1) AND (DATA1(CROSSDOWN(MTX, MTS))) ) then { MTXxTS.xELCheck = 2; } if ( (MTXxTS.xELCheck == 2) AND (MTX < MTS) ) then { MTXxTS.xELCheck = 3; } if ( (MTXxTS.xELCheck == 3) AND (DATA1(CROSSUP(MTX, MTS))) ) then { MTXxTS.xELCheck = 4; } if ( (MTXxTS.xELCheck == 4) AND (MTX > MTS) ) then { MTXxTS.xELCheck = 5; } if ( (MTXxTS.xELCheck == 5) AND (DATA1(CROSSDOWN(MTX, MTS))) ) then { MTXxTS.xELGetReady = TRUE; } if ( (MTXxTS.xELGetReady == TRUE) AND (DATA1(CROSSUP(MTX, MTS + PRICESCALE * 10))) ) then { MTXxTS.xELGetReady = FALSE; MTXxTS.xELCheck = 0; } } if (MarketPosition == 0 AND MarketPosition(1) == 1) then { MTXxTS.xELCheck = 0; MTXxTS.xELGetReady = FALSE; } 2. 전화상 설명을 드렸는데 바쁘시더라도 36395번 답변 다시한번 부탁드리겠습니다. 3. 전화상 말씀드렸던 해외선물 포지션 운용시에 아래 수식에 대해 초기화 시점에 대해 궁금합니다. 데이트레이딩 같은경우 DAYINDEX를 이용하여 초기화를 시키고 값을 비교하면서 나아가는데, 포지션 같은 경우 일자가 변경되도 계속 값을 가지고 있어야 하는데 좀처럼 진도가 나가질 않습니다. 방향제시 부탁드리겠습니다.. VARS: MCGxMT(0), X(1.135); MCGxMT = ROUND(((M1 / M2 + M3 / M4) / X * 100), 5); VARS: MCGxMT.HST(0; VARS: MCGxMT.LST(0); VARS: MCGxMT.HSTiDX(-1); VARS: MCGxMT.LSTiDX(-1); // INIT (MARKET OPENNING TIME) if ( (stime == 170000) OR ((stime > 170000 AND stime[1] < 170000)) ) then { MCGxMT.HST = 0; MCGxMT.LST = 0; MCGxMT.HSTiDX = -1; MCGxMT.LSTiDX = -1; } if (DayIndex == 0) Then { MCGxMT.HST = MCGxMT; MCGxLT.HST = MCGxLT; MCGxMT.LST = MCGxMT; MCGxLT.LST = MCGxLT; } else if (DayIndex > 0) then { if (MCGxMT > MCGxMT.HST) then { MCGxMT.HST = MCGxMT; MCGxMT.HSTiDX = Z1iDX; } else if (MCGxMT < MCGxMT.LST) then { MCGxMT.LST = MCGxMT; MCGxMT.LSTiDX = Z1iDX; } 늘 친절한 답변에 감사드립니다..