MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 169

 

안녕하세요. 파일에서 데이터를 읽고 즉시 다시 쓸 수 없습니다. Cycles 및 MathRand() 를 사용하여 코드의 주석 처리를 제거하면 원래대로 파일에 죽이 기록됩니다. 그러나 행이 주석 처리된 상태로 남아 있으면(파일에 이미 죽이 있는 경우) 다음에 전문가를 켜거나 끌 때 파일에 0이 기록됩니다. 이중 ROM1[128][128] 및 이중 ROM2[3][128] 쓰기/읽기용 어레이. 배열은 코드의 다른 곳에서는 변경되지 않으며 읽기만 가능합니다. 코드 조각:

int init()                                     
   {
   Print ("Сработала ф-ия init"); // Сообщение
   Handle=FileOpen("Neuro",FILE_BIN|FILE_READ|FILE_WRITE);// Открытие файла на чтение и запись   
   FileSeek(Handle, 0, SEEK_SET); //указатель на начало файла
   FileReadArray(Handle, ROM1);
   FileSeek(Handle, 131073, SEEK_SET); //указатель на конец первого массива
   FileReadArray(Handle, ROM2);

/*
   for(i=0; i<128; i++) //заполнение памяти первого слоя кашей
      {
      for(k=0; k<128; k++)
         {
         ROM1[i][k] = (MathRand()-16383)/3200;
         }
      }
   for(i=0; i<3; i++) //заполнение памяти второго слоя кашей
      {
      for(k=0; k<128; k++)
         {
         ROM1[i][k] = (MathRand()-16383)/3200;
         }
      }
*/         
   return(0);                                       
   }   
//--------------------------------------------------------------------
int deinit()                                   
   {
   FileSeek(Handle, 0, SEEK_SET);
   FileWriteArray(Handle, ROM1);
   FileSeek(Handle, 131073, SEEK_SET);
   FileWriteArray(Handle, ROM2);
   FileClose(Handle);
   return(0);                                     
   }

알아낼 수 있도록 도와주세요. 고맙습니다.
 
안녕하세요, 코드에 어드바이저를 작성하는 방법을 알려주세요
신호 탐색 시작 조건

예를 들어:
13시에 오픈한 매직 565로 마켓에 주문이 있습니다.
올빼미는 주문을 열기 위해 다음이 있어야 한다는 조건을 포함합니다.
시장에서 마술 565로 주문, 고문에서 신호 검색을 1 지연시키는 방법
검색이 14:00에 시작되도록 열린 주문에서 촛불.

이제 나는 13:00에 magic 565로 주문이 열린 상황을 관찰합니다.
올빼미는 13:00:02에 주문을 엽니다. 시장에서 실질적으로 얻은

두 개의 동일한 주문.


고맙습니다.

 
var58 :
안녕하세요, 코드에 어드바이저를 작성하는 방법을 알려주세요
신호 탐색 시작 조건

예를 들어:
13시에 오픈한 매직 565로 마켓에 주문이 있습니다.
올빼미는 주문을 열기 위해 다음이 있어야 한다는 조건을 포함합니다.
시장에서 마술 565로 주문, 고문에서 신호 검색을 1 지연시키는 방법
검색이 14:00에 시작되도록 열린 주문에서 촛불.

이제 나는 13:00에 magic 565로 주문이 열린 상황을 관찰합니다.
올빼미는 13:00:02에 주문을 엽니다. 시장에서 실질적으로 얻은

두 개의 동일한 주문.


고맙습니다.

언제든지 신호를 검색할 수 있지만 시간별로 포지션을 여는 것을 허용해야 합니다.

매직 565 로 포지션을 여는 시간을 보고, 현재 시간을 보세요. 현재 시간이 매직 565로 포지션을 오픈한 시간보다 지정된 시간(분)만큼 길면 포지션을 오픈할 수 있습니다.

 
Artyom Trishkin :

언제든지 신호를 검색할 수 있지만 시간별로 포지션을 여는 것을 허용해야 합니다.

매직 565 로 포지션을 여는 시간을 보고, 현재 시간을 보세요. 현재 시간이 매직 565로 포지션을 오픈한 시간보다 지정된 시간(분)만큼 길면 포지션을 오픈할 수 있습니다.


매우 감사합니다. 코드에서 어떻게 보입니까?
 
안녕하세요. 파일에서 데이터를 읽고 즉시 다시 쓸 수 없습니다. 싸이클과 MathRand()를 사용하여 코드 조각의 주석 처리를 제거하면 원래대로 파일에 포리지가 기록됩니다. 그러나 행이 주석 처리된 상태로 남아 있으면(파일에 이미 죽이 있는 경우) 다음에 전문가를 켜거나 끌 때 파일에 0이 기록됩니다. 이중 ROM1[128][128] 및 이중 ROM2[3][128] 쓰기/읽기용 어레이. 배열은 코드의 다른 곳에서는 변경되지 않으며 읽기만 가능합니다. 코드 조각:

조금 이해했습니다. 2차원 배열 double 함수는 정상적으로 쓰기는 하지만 아무 것도 읽고 싶지 않습니다.

한 주기의 요소별로 읽기를 만들었습니다. 누군가가 도움이 될 것입니다.

{
FileSeek(Handle, n,  SEEK_SET); //изменение позиции файлового курсора        
Neuron[k][i].rom[l] = FileReadDouble(Handle, DOUBLE_VALUE); //загрузка из файла
n=n+8;
}
 
var58 :

매우 감사합니다. 코드에서 어떻게 보입니까?

그런 다음 코드를 무료로 작성하는 것이 아니라 스스로 작성하려고하는 사람들에게 도움이되지만 무언가가 작동하지 않습니다.

코드에서 할 수 없는 것을 보여주세요. 저희가 도와드리겠습니다.

 
Tamul :

조금 이해했습니다. 2차원 배열 double 함수는 정상적으로 쓰기는 하지만 아무 것도 읽고 싶지 않습니다.

한 주기의 요소별로 읽기를 만들었습니다. 누군가가 도움이 될 것입니다.

{
FileSeek(Handle, n,  SEEK_SET); //изменение позиции файлового курсора        
Neuron[k][i].rom[l] = FileReadDouble(Handle, DOUBLE_VALUE); //загрузка из файла
n=n+8;
}

왜 사람들은 그 자신이 그 일에 대처하지 못했다고 해서 그러한 목발을 제공할까요 ???

파일에서 2차원 배열을 읽으려면 2차원 배열을 준비해야 합니다.

그 코드 예제를 올바르게 기억한다면 거기에 작성한 후 파일이 닫히는 것을 보지 못했습니다. 비어 있는 파일이 생성되고 데이터가 기록되지만 이 채워진 파일은 RAM에 있으며 디스크에서 파일의 데이터만 읽을 수 있습니다. 그래서 파일이 기록된 것처럼 보이지만 실제로는 디스크에 없는 것으로 판명되었습니다... 데이터를 디스크로 전송하려면 파일을 닫거나 강제 로 디스크에 저장해야 합니다.

 
Artyom Trishkin :

그런 다음 코드를 무료로 작성하는 것이 아니라 스스로 작성하려고하는 사람들에게 도움이되지만 무언가가 작동하지 않습니다.

코드에서 할 수 없는 것을 보여주세요. 저희가 도와드리겠습니다.


고맙습니다
 

안녕하세요! mql4에 간단한(매우 간단한) 예제를 작성하십시오. 나는 아주 초보자입니다.

1) 특정 값에 도달하면 보류 중인 주문 을 엽니다(예: 가격이 0.7777이면 보류 중인 주문을 엽니다).

2) 값에 도달하면 주문(시장)을 닫습니다(예: 가격이 0.6666이면 주문을 닫음).

고유한 일련 번호를 사용하여 주문을 마감하는 방법조차 알 수 없습니다. 저를 도와주세요. 그렇지 않으면 아무 일도 일어나지 않습니다.

이 사이트에서 튜토리얼을 읽으려고했지만 의미가 없으며 (아마도 내가 너무 빡빡한 것일 수 있음) 어떤 이유로 인터넷에 기본 예제가 없습니다. 미리 감사드립니다

 
maxon777 :

안녕하세요! mql4에 간단한(매우 간단한) 예제를 작성하십시오. 나는 아주 초보자입니다.

1) 특정 값에 도달하면 보류 중인 주문 을 엽니다(예: 가격이 0.7777이면 보류 중인 주문을 엽니다).

2) 값에 도달하면 주문(시장)을 닫습니다(예: 가격이 0.6666이면 주문을 닫음).

고유한 일련 번호를 사용하여 주문을 마감하는 방법조차 알 수 없습니다. 저를 도와주세요. 그렇지 않으면 아무 일도 일어나지 않습니다.

이 사이트에서 튜토리얼을 읽으려고했지만 의미가 없으며 (아마도 내가 너무 빡빡한 것일 수 있음) 어떤 이유로 인터넷에 기본 예제가 없습니다. 미리 감사드립니다


CodeBase 에는 많은 예제가 있으며 보류 중인 주문에 대한 Expert Advisors를 찾고 코드가 어떻게 작성되는지 확인하십시오.