예스스탁
                        예스스탁 답변
                      
                      2016-03-15 09:55:03
                     
                   
                  
                 
                안녕하세요
예스스탁입니다.
"매도3" 수식의 시간제한 조건을 보시면
(stime >= start or stime< ntime) 와 같이 되어 있습니다.
현재 시간이 start보다 크거나 또는 봉의시간이 ntime보다 작다로
시간 조건이 or로 연결되어 있습니다.
위 표현은 시작시간보다 끝시간이 작을때 사용하는 표현입니다.
(09시부터 다음날 04시까지)
위 식에서 ntime이 start타임보다 크면 전체시간에서 조건이 만족합니다.
start가 ntime보다 크면 or
stsart가 ntime보다 작으면 and 
로 조건을 연결해야 합니다.
시간 제한 수식을 다른 방법으로 변경해 드립니다.
Inputs: N(2),start(093000),ntime(043000),StopTick1(0.10),Len1(12), Line1(30), Line2(26),Line3(9), StopTick(0.3), Period1(3),Period2(3);
//여기에서 start는 장시작시간입력입니다.
vars: SPDM(0), SMDM(0), STR(0), DIP(0), DIM(0), DX(0), mADX(0),v1(0),v2(0),v3(0),v4(0),count(0);
var : TimeCond(false);
 
SPDM = ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),Len1);
SMDM= ema(iff(L[1]-L>0 && H-H[1] start and stime[1] < start) Then
	TimeCond = True;
if stime == ntime or (stime > ntime and stime[1] < ntime) Then
	TimeCond = false;
if madx[1]<30 and dim[1]<30 and  dim>30 and C[1] c[1] and cv1 and v1[1]>20  and  crossup(DIM[1],DIP[1]) and 
	CrossUp(DIM[1],mADX[1])  and v1v1[1] then ExitShort("청산5");
 }
즐거운 하루되세요	
> 수급저격수 님이 쓴 글입니다.
> 제목 : 진입 제한 조건
>  - 안녕하세요 ? 매번 감사드립니다.
   해외선물입니다(us 달러 인덱스). 장시작/종료(월요일)     07:30 ~ 다음날 06:10,
                   장시작/종료(화~ 금요일) 09:30 ~ 다음날06:10 입니다. 
   제가 의도하고자 하는 것은 특정시간대 진입금지 시켜서  다음날 장종료 06:10분까지 진입
   금지 할려고 합니다.
   (예를 들면) 미국의 생산자 물가지수 발표가 23:30에 있다고 가정하면,  
  
   장시작 07:30(혹은09:30) 부터 ~ 22:30까지만 진입시키고   
   [문의] 23:30부터 다음날 장종료(06:10)까지 진입금지를 할려고 합니다. 
 ==>문제은 진입금지 시간대를 지정해보았는데 이상한 결과가 나옵니다.(테스트결과캡쳐참조)
    앞전에 질문을 드렸던 내용입니다(질문번호 : 46729) 
   .진입금지 시간대 시스템식은  운영자님이 답변하신데로 
   시스템식 "(stime >= 100000 or stime < ntime)" 참고로 작성해보았고 
    ntime를 입력후   테스트를 한 결과 4가지중 1개만 성공이고 나머진 실패입니다. 
   ===> 성공한것은 첨부파일 캡쳐10~12 입니다. 
  
   [위 그림 참조] #그림4 ~ 그림#12 ( 첨부파일 갯수 제한 때문에 나누어서 첨부시켰습니다.)
   
   [테스트 방법]  기존 매도(진입명 : 매도"3") 진입 시간(4개) 가지고 그 시간별로
    진입금지 시간을  ntime 입력후  테스트..한것입니다.
    왜그런지요? 참 이상합니다. 몇번해도 도저히 답이 안나옵니다. 부탁드리겠습니다
   
  
수고하세요 (그리고 참고하시라고 매도3의 시스템식 기술했습니다.) 
 시스템식입니다 
 Inputs: N(2),start(093000),ntime(043000),StopTick1(0.10),Len1(12), Line1(30), Line2(26),Line3(9), StopTick(0.3), Period1(3),Period2(3);
//여기에서 start는 장시작시간입력입니다.
 vars: SPDM(0), SMDM(0), STR(0), DIP(0), DIM(0), DX(0), mADX(0),v1(0),v2(0),v3(0),v4(0),count(0);
  
  SPDM = ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),Len1);
  SMDM= ema(iff(L[1]-L>0 && H-H[1]30 and C[1] c[1] and cv1 and v1[1]>20  and  crossup(DIM[1],DIP[1]) and CrossUp(DIM[1],mADX[1])  and v1= start or stime< ntime) and count < N and MarketPosition == 0 Then
{
  Sell("매도3"); 
}
.    
if marketposition == -1 Then
 {
 if IsEntryName("매도3") and v1>v1[1] then ExitShort("청산5");
}