MQL: 보안 대 기능 - 페이지 7

 
Renat :

이 모든 것은 넌센스입니다. 24시간 내내 기가바이트를 구동하지 않습니다.

시스템 프로세스가 있는 운영 체제는 디스크에서 훨씬 더 많이 작동합니다.

질문이 있었다

퇴비통 :

... 아니면 확인할 프로그램이 있습니까?

...

그리고 내가 아는 한, 그것은 크기가 아니라 파일의 위치입니다.

지속적으로 덮어쓰는 파일 이 항상 한 곳에 있는 경우(Windows 스왑을 수정할 수 있음) - 나사는 바로 이 위치에서 물리적으로 부서지기 시작합니다.

(일정에 따라 매주 조각 모음이 해결됩니다.)

일반적으로 이것은 완전히 어리석은 것이 아닙니다.

Документация по MQL5: Файловые операции / FileMove
Документация по MQL5: Файловые операции / FileMove
  • www.mql5.com
Файловые операции / FileMove - Документация по MQL5
 
Renat :

이 모든 것은 넌센스입니다. 24시간 내내 기가바이트를 구동하지 않습니다.

시스템 프로세스가 있는 운영 체제는 디스크에서 훨씬 더 많이 작동합니다.

레나트 환영합니다. MT 파일 샌드박스의 개념과 어떤 역할을 부여받았는지에 대한 질문을 명확히 하고 싶습니다.

파일 샌드박스는 전문가가 제한된 장소에서만 무언가를 쓰거나 읽을 수 있는 권한입니다.
이것은 컴퓨터 데이터 보안을 위해 명백히 수행됩니다.
즉, 트로이 목마가 외부의 개인 클라이언트 데이터를 FileOpen할 수 없도록 Expert Advisor의 기능을 샌드박스로 제한합니다.
그렇지 않으면 이 작업을 수행하려면 전문가에 대한 명시적 DLL 권한 이 필요합니다.
확인.


그리고 전문가에게 디스크가 아니라 적어도 메모리의 파일에 쓸 수 있는 기회가 주어진다면 어떻게 될까요?

이로 인해 사용자/MC 보안이 손상됩니까?

 
sergeev :


그리고 전문가에게 디스크가 아니라 적어도 메모리의 파일에 쓸 수 있는 기회가 주어진다면 어떻게 될까요?

이로 인해 사용자/MC 보안이 손상됩니까?

이것이 왜 필요한가?

우리는 파일, 파이프 및 전역 변수 를 제공했으며 동일한 터미널의 모든 전문가는 문제 없이 서로 정상적으로 통신할 수 있습니다. 그러나 "자유 모드에서 외부 사람과 의사 소통"하는 작업은 우리 앞에 있지 않습니다. 오히려 우리는 어떤 경우에도 정보가 나오지 않도록 해야 하는 과제에 직면해 있습니다.

ps: 터미널 간 통신 방법에 대한 해결 방법을 찾지 않아야 합니다. 우리는 그렇게 하지 않습니다.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 

확인. 감사하다.

그리고 더 많은 질문:

1. 개발 계획을 세울 수 있습니까? 테스트 중에 전문가의 정보를 현지 에이전트에게 이전할 수 있습니까?

2. 파이프를 사용하는 시장에 대한 애플리케이션이 인증됩니까?

 
sergeev :


1. 개발 계획을 세울 수 있습니까? 테스트 중에 전문가의 정보를 현지 에이전트에게 이전할 수 있습니까?


우선, 그러한 개입의 필요성을 정당화하십시오.

우리의 이유로 테스터가 제공한 정보(매개변수 및 데이터 파일 세트, 이제 요청 시 사용자 지정 지표 제공)와 함께 테스트를 거친 Expert Advisor에 일부 추가 정보를 전송하는 것은 방법론적으로 올바르지 않습니다.

그건 그렇고, 로컬 에이전트는 주어진 컴퓨터에 있는 모든 클라이언트 터미널의 공유 폴더에 액세스할 수 있습니다.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
 
stringo :

우선, 그러한 개입의 필요성을 정당화하십시오.

우리의 이유로 테스터가 제공한 정보(매개변수 및 데이터 파일 세트, 이제 요청 시 사용자 지정 지표 제공)와 함께 테스트를 거친 Expert Advisor에 일부 추가 정보를 전송하는 것은 방법론적으로 올바르지 않습니다.

예를 들어 - 그들의 GA

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

dll과 시장.

, 2013.04.18 21:51

당신이 말하는 모든 것이 맞습니다. <...> 그리고 그것이 100번이나 논의되었다는 사실에 대해 - 에이전트에 대한 정보 전달 및 최적화된 매개변수의 수에서 "현장의 협소함".

<...>

1. 최적화된 매개변수의 수에 대한 제한.

2. 단일 기준 최적화(새로운 단어 형성에 대해 죄송합니다)

3. 모래 진화 과정을 제어할 수 없음.

이것은 개발자에 대한 비난이 결코 아닙니다. 오히려 이것은 MQL5 프로그램 개발자들의 생각이 날아가는 공간입니다!

<...> 양방향 전송의 기회가 있으면 문제가 해결됩니다. 위의 세 가지 사항을 실천할 필요는 없습니다. 모든 것이 저절로 성장할 것입니다.



그건 그렇고, 로컬 에이전트는 주어진 컴퓨터에 있는 모든 클라이언트 터미널의 공유 폴더에 액세스할 수 있습니다.

네. 따라서 보안 패러다임 을 바꾸지 않고 정보 교환 프로세스를 가속화하고 싶습니다.
 
자체 GA는 무엇보다도 입력 매개변수 세트의 형성을 포함합니다. 즉, 이 경우 추가 정보가 필요하지 않습니다.
 
Renat :

참고로 MQL5 클라우드 네트워크 서버는 정기적으로 하루에 약 5테라바이트, 때로는 10Tb의 트래픽을 생성합니다.

각 에이전트에 도달하는 보장과 함께 이 네트워크에 무제한 사용자 지정 트래픽이 허용되면 네트워크가 매우 좋지 않을 것입니다.

1. 이제 트래픽의 99.9%가 과거 데이터로 구성되어 있다고 감히 가정합니다.

2. 각 에이전트에 대한 주소 지정은 전혀 필요하지 않습니다. 방법은 아래에서 보여드리겠습니다.

레나트 :

...

우리는 파일, 파이프 및 전역 변수제공했으며 동일한 터미널의 모든 전문가는 문제 없이 서로 정상적으로 통신할 수 있습니다. 그러나 "자유 모드에서 외부 사람과 의사 소통"하는 작업은 우리 앞에 있지 않습니다. 오히려 우리는 어떤 경우에도 정보가 나오지 않도록 해야 하는 과제에 직면해 있습니다.

ps: 터미널 간 통신 방법에 대한 해결 방법을 찾지 않아야 합니다. 우리는 그렇게 하지 않습니다.

누구인지는 모르겠지만 차트에 있는 프로그램과 에이전트 간의 양방향 정보 교환이 필요하다는 것을 앞에서 분명히 보여 드렸습니다. 외부는 필요하지 않습니다. 즉, 단 하나의 터미널(및 이 터미널에서 관리하는 에이전트)의 프레임워크 내에서. 다른 목적으로 실행 중인 터미널 인스턴스는 정보 교환에 참여하지 않습니다.

스트링고 :

우리의 이유로 테스터가 제공한 정보( 매개변수 및 데이터 파일 세트, 이제 요청 시 사용자 지정 지표 제공 ) 외에 테스트를 거친 Expert Advisor에 일부 추가 정보를 전송하는 것은 방법론적으로 올바르지 않습니다.

그건 그렇고, 로컬 에이전트는 주어진 컴퓨터에 있는 모든 클라이언트 터미널의 공유 폴더에 액세스할 수 있습니다.

요청에 따라 정확하게. 즉, 에이전트에게 정보를 전송하는 대상 호출이 아니라 에이전트 자체가 그에게만 지정된 패킷을 가져옵니다(따라서 테스터가 이 패킷을 클라우드로 보내기 쉽습니다).


즉, 다음과 같은 것이 필요합니다.

 #property expert_opt_param 600


void OnTesterInit ( const double &CustomData[])
{
   
}

여기서 Expert_opt_param은 전문가 프로그램의 표준 속성입니다.

CustomData가 초기화되지 않은 경우 패스를 건너뜁니다.

따라서 에이전트가 자신과 그에게만 지정된 데이터 패킷을 수신할 수 있으려면 다음과 같이 차트의 전문가가 미리 생성해야 합니다.

bool OptDataSend( double CustomData, int AgentId);

여기서 bool OptDataSend()는 표준 언어 함수입니다.

이중 CustomData - 사용자 데이터

int AgentId - 에이전트의 ID, 또는 단순히 - 최적화 프로그램의 "무차별 대입" 모드에 따른 패스의 시퀀스 번호입니다.


그리고 -이 경우 보안이 어떻게 침해 됩니까? 한 터미널의 샌드박스 내에서 모든 것이 엄격하고 분노합니다.

 
sergeev :

하나의 Expert Advisor 내에서 CFastFile을 통해 해결됩니다( MQH\Ctrl 폴더에서 확인).

그러나 테스트에서 알 수 있듯이 개체와 비교하여 차트에 비트맵을 출력하는 것은 시간 낭비입니다. 씨뷰 락 :)

나는 테스트가 매우 정확하지 않다고 가정합니다.

첫째, OpenCL은 비트맵 생성에 참여하지 않았습니다.

둘째, 파일에 쓰고 파일에서 읽는 것은 RAM에 액세스하는 것보다 훨씬 느립니다. 시간 측정), 바로 여기와 26개 레이블에 대한 첫 번째 비트맵의 전체 손실입니다.

따라서 가상 파일도 지지합니다. 이것은 다기능 솔루션입니다. 많은 알고리즘에 적용 가능합니다.

 

Urain :

나는 테스트가 매우 정확하지 않다고 가정합니다.

파일에 쓰고 파일에서 읽는 것은 훨씬 더 느립니다.

파일에 항목 이 없습니다. 거기 ResourceCreate.

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
Файловые операции / FileWrite - Документация по MQL5