포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 714

 
키예프 시간 또는 GMT의 모든 거래소에서 점심 시간의 시작과 끝 데이터를 찾을 수 있는 곳
 
alexey1979621 :

안녕하세요! 나는 이미 711 페이지에서 비슷한 질문을했지만 불행히도 아무도 대답하지 않았습니다. 아마도 지금 누군가 ...

나는 이것을 이렇게 한다:

상황을 제로 집계 위치(잠금)로 가져온 다음 잠금을 닫습니다.

이제 세부 사항입니다.

1. 총 포지션 계산:

주문의 열거

매수인 경우 주문 로트의 크기만큼 총 포지션이 증가합니다.

판매가 있는 경우 총 포지션은 주문 로트의 금액만큼 감소합니다.

주문 사이클의 끝

2. 잠금을 생성합니다.

총 포지션이 0보다 크면 매도하십시오.

총 위치가 0보다 작으면 구매하십시오.

그렇지 않으면 우리는 아무것도 하지 않습니다.

로트 크기는 전체 위치와 동일합니다.

3. 잠금 장치를 닫습니다(덮힌 위치).

무한 루프( while(true) )

구매 및 판매 주문 티켓을 0으로 재설정

주문 주기

(구매) 구매 주문 티켓을 수정하는 경우

(판매) 판매 주문 티켓을 수정하는 경우

주문 사이클의 끝

만약(매도가 있고 매수가 있다면) 크로스 클로즈

그렇지 않으면 무한 루프에서 종료(중단)

무한 루프의 끝

이제 선택한 언어(MQL4)로 이 알고리즘을 프로그래밍합니다.

 

대기 중인 주문 에 대해 마감 시간을 설정하면 알려주세요.

Data_1=iTime(Symbol(),PERIOD_D1,0)+86400; //주문 수명

이미 시장에 있는 경우(tobish가 밝혀짐), 여전히 닫히거나 닫히지 않을 것입니다.

 
korobok777 :

대기 중인 주문에 대해 마감 시간을 설정하면 알려주세요.

Data_1=iTime(Symbol(),PERIOD_D1,0)+86400; //주문 수명

이미 시장에 있는 경우(tobish가 밝혀짐), 여전히 닫히거나 닫히지 않을 것입니다.

아니요
 
artmedia70 :
아니요
많은 감사합니다
 

안녕하세요 여러분, 저는 파일 작업으로 작업한 적이 없지만 여기에서 해야 했고 밝힐 수 없습니다.

작업은 매일 여러 번 csv 파일에 데이터를 쓰는 것입니다.

즉, 오늘, 09/24/2014, 데이터는 유형별로 다른 셀의 라인에 기록됩니다.

A B C

1일 | 가치 | 가치 |

오늘 데이터가 변경된 경우 2014년 9월 24일부터 줄을 다시 작성합니다.

새 날이 되면 새 줄로 이동합니다.

나는 담배를 피우고 담배는 피우지 않습니다 ...

 
VOLDEMAR :

안녕하세요 여러분, 저는 파일 작업으로 작업한 적이 없지만 여기서 해야 했고 밝힐 수 없습니다.

작업은 매일 여러 번 csv 파일에 데이터를 쓰는 것입니다.

즉, 오늘, 09/24/2014, 데이터는 유형별로 다른 셀의 라인에 기록됩니다.

A B C

1일 | 가치 | 가치 |

오늘 데이터가 변경된 경우 2014년 9월 24일부터 줄을 다시 작성합니다.

새 날이 되면 새 줄로 이동합니다.

나는 담배를 피우고 담배는 피우지 않습니다 ...

 void Запись()
{
   int handle;
   string st=TimeToStr( TimeCurrent (), TIME_DATE );
   string filename = st+ " Bid_Ask.csv" ; // Формируем имя файла
  handle = FileOpen (filename, FILE_CSV | FILE_READ | FILE_WRITE , ';' );
   if (handle < 1 )
  {
     Print ( "Не удалось создать файл. Ошибка #" , GetLastError ());
     return ;
     //FileClose(handle);
  }
  
   FileWrite (handle,                   
             " Время " ,
             " Bid " ,
             " Ask " ,
             " Volume " ); // заголовок
   FileSeek (handle, 0 , SEEK_END );
   FileWrite (handle,
            TimeToStr( TimeCurrent (), TIME_MINUTES | TIME_SECONDS ),
            Bid,
            Ask,
            Volume[ 0 ]);
 
   FileClose (handle);
   return ;
}
아마 그런 것 같습니다.
 
r772ra :
아마 그런 것 같습니다.

데이터가 변경된 경우 마지막 줄을 다시 쓰는 방법은 무엇입니까?

 
VOLDEMAR :

데이터가 변경된 경우 마지막 줄을 다시 쓰는 방법은 무엇입니까?

FileSeek() , 도움이 필요합니다.

 

데이터가 변경된 경우 fileseek로 덮어쓸 위치에 포인터를 놓고 일반적인 filewrite ... 메서드로 덮어쓰고 파일 끝을 기억하고 WinApi 기능을 잘라야 합니다.

또는 일반적인 방법으로 - 파일의 맨 끝에 유용한 정보가 끝나는 위치를 추가하고 다음 작업에서 이 위치를 읽으십시오. (다른 파일에 위치를 쓸 수 있음)

그래도 자르는 게 낫긴 한데, 표준 트리밍 도구가 없다((

쥰코입니다   2014년 9월 12일 20:19   #

WinApi 기능도 흥미로울 것입니다.