[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 500

 
yosuf :

나는 이것이 이 경우에 문제에 대한 가장 성공적인 해결책이라고 생각합니다. 월요일부터 시도하겠습니다. 대단히 감사합니다.

한 가지 질문 - 서버 시간을 표시합니까 아니면 현지 시간을 표시합니까?

Windows의 스케줄러는 DC 터미널 서버의 서버 시간을 어떻게 알 수 있습니까 ??? - 물론 컴퓨터의 시간입니다.
 
Reshetov :
당신은 창조주도 아니고 그의 예언자도 아닌 단지 부교수이기 때문에 왜 창조해야 합니까? 일정 서비스를 켜고(끄지 않은 경우) "제어판"에서 동일한 일정을 구성하는 것으로 충분합니다(바로 가기 "예약된 작업"). 지정된 시간에 터미널 명령줄을 통해 컴퓨터 자체에서 Expert Advisors를 하나씩 실행합니다.
어렵지 않다면 이 메커니즘을 시작하기 위해 어떻게 진행해야 하는지 지점별로 설명해주세요. 아직 스케줄링 서비스, 그 안의 제어판, 터미널 명령을 활성화하는 위치와 방법을 모르기 때문입니다. 라인.
 
Reshetov :
RAM의 양은 운영 체제와 하드웨어의 비트 수에 따라 다릅니다. 싱글 코어 컴퓨터를 가지고 있다는 사실로 판단하면 하드웨어가 32비트이고 RAM을 최대 3기가까지 늘릴 수 있음을 의미합니다. 그러나 마더 보드의 데이터로 확인하는 것이 좋습니다. 왜냐하면. 모든 구형 컴퓨터가 2GB 이상을 지원할 수 있는 것은 아닙니다.
32개 이상은 가능합니다. 마더보드만 제한됩니다. 최대 200GB까지 연결할 수 있습니다. 어디선가 본 테이블.
 
yosuf :
어렵지 않다면 이 메커니즘을 시작하기 위해 어떻게 진행해야 하는지 지점별로 설명해주세요. 아직 스케줄링 서비스, 그 안의 제어판, 터미널 명령을 활성화하는 위치와 방법을 모르기 때문입니다. 라인.
"Windows 작업 스케줄러"는 Google에서 검색할 수 있습니다.여기에서 볼 수 있습니다.
 
Zhunko :
32개 이상은 가능합니다. 마더보드만 제한됩니다. 최대 200GB까지 연결할 수 있습니다. 어디선가 본 테이블.
Vadim, 그런 잠금 해제를 의미합니까?
 
TarasBY :
"Windows 작업 스케줄러"는 Google에서 검색할 수 있습니다.여기에서 볼 수 있습니다.
활성화된 터미널을 비활성화하려면 별도의 프로그램(작업)을 만들어야 합니까?
 
yosuf :
활성화된 터미널을 비활성화하려면 별도의 프로그램(작업)을 만들어야 합니까?
부교수님, TarasBY 의 링크에 있는 문서를 주의 깊게 읽고 헛소리를 만들지 마십시오.
 

내 테스트 훈련 원시 올빼미는 다음과 같습니다.

//+---------------------------------------------------------------------------------------+
//|                               Strategy №1 for H1.mq4                                  |
//|                                        hoz                                            |
//|                                                                                       |
//+---------------------------------------------------------------------------------------+
#property copyright "hoz"
#property link       ""

//----- Входные параметры -----------
extern string      H1 = "___ Общие параметры индикаторов ___" ;
extern int         i_TF = 60 ;
extern string      H2 = "_____ Параметры быстрой машки _____" ;
extern int         i_maFastPeriod = 5 ,
                  i_maFastShift = 0 ,
                  i_maFastMethod = 1 ;
extern string      H3 = "____ Параметры медленной машки ____" ;
extern int         i_maSlowPeriod = 19 ,
                  i_maSlowShift = 0 ,
                  i_maSlowMethod = 1 ;
extern string      H4 = "_______ Параметры Моментума _______" ;
extern int         i_momPeriod = 18 ;
extern string      H5 = "_______ Параметры Стохастика ______" ;
extern int         i_stoch_D = 3 ,                   // Сигнальная линия
                  i_stoch_K = 13 ,                   // Главная линия
                  i_stoch_slowing = 3 ;             // Замедление
                  
int g_ticket,                                       // Тикет текущей позиции
    g_type;                                         // Тип текущей позиции

//Иднентификаторы типов сигналов
#define CROSSINGTOUP                 1              // Пересечение быстрой медленную снизу вверх
#define CROSSINGTODOWN              - 1              // Пересечение быстрой медленную сверху вниз
#define CROSSINGWAIT                 0              // Отсуствие пересечения машек

#define SIGNAL_BUY                   1              // Сигнал покупки
#define SIGNAL_SELL                 - 1              // Сигнал продажи
#define SIGNAL_NO                     0              // Отсуствие сигнала

//+---------------------------------------------------------------------------------------+
//| Функция инициализации эксперта                                                        |
//+---------------------------------------------------------------------------------------+
int init()
  {
   
   return ( 0 );
  }
//+---------------------------------------------------------------------------------------+
//| Функция деинициализации эксперта                                                      |
//+---------------------------------------------------------------------------------------+
int deinit()
  {

   return ( 0 );
  }

//+---------------------------------------------------------------------------------------+
//| Проверка пересечения скользящих средних                                               |
//+---------------------------------------------------------------------------------------+
int GetCrossingMa( double & i_maFast1, double & i_maFast2, double & i_maSlow1, double & i_maSlow2)
{
       if ((i_maFast2<i_maSlow2) && (i_maFast1>i_maSlow1))             // Если быстрая скользящая пересекла медленную снизу вверх..
       return (CROSSINGTOUP);                                           //.. значит, - пересечение вверх
                                                 
       if ((i_maFast2>i_maSlow2) && (i_maFast1<i_maSlow1))             // Если быстрая скользящая средняя пересекла медленную сверху вниз..
       return (CROSSINGTODOWN);                                         //..значит, - пересечение вниз
 
   return (CROSSINGWAIT);                                               // Ожидаем пересечения
}

//+---------------------------------------------------------------------------------------+
//| Получение сигнала от Стохастика                                                       |
//+---------------------------------------------------------------------------------------+
int GetStochSignal( double & stochD1, double & stochD2, double & stochK1, double & stochK2)
{
   for ( int i= 1 ;i<= Bars ;i++)
   {
       if ((stochD2<stochK2) && (stochD1>stochK1))                     // Если сигнальная линия пересекла главную снизу вверх..
       return (CROSSINGTOUP);                                           //..значит, - пересечение вверх
       if ((stochD2>stochK2) && (stochD1<stochK1))                     // Если сигнальная линия пересекла главную сверху вниз..
       return (CROSSINGTODOWN);                                         // ..значит, - пересечение вниз
   }
   return (CROSSINGWAIT);                                             // Ожидаем пересечения
}

//+---------------------------------------------------------------------------------------+
//| Получение сигнала от Моментума                                                        |
//+---------------------------------------------------------------------------------------+
void GetMomentumSignal()
{
   double momentum = iMomentum ( Symbol (),i_TF,i_momPeriod, 0 , 0 );
}

//+---------------------------------------------------------------------------------------+
//| Получение общего сигнала для входа в рынок                                            |
//+---------------------------------------------------------------------------------------+
int GetSignal()
{
   for ( int i= 1 ;i<= Bars ;i++)
   {
       double i_maFast1 = iMA ( Symbol (),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod, 0 ,i);       // Вычисляем быстрые скользящие..
       double i_maFast2 = iMA ( Symbol (),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod, 0 ,i+ 1 );     //..средние
       double i_maSlow1 = iMA ( Symbol (),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod, 0 ,i);       // Вычисляем медленные скользящие..
       double i_maSlow2 = iMA ( Symbol (),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod, 0 ,i+ 1 );     //..средние
       double stochD1 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 1 ,i);     // Вычисляем значения сигнальной линии..
       double stochD2 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 1 ,i+ 1 );   //..стохастика
       double stochK1 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 0 ,i);     // Вычисляем значения главной линии..
       double stochK2 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 0 ,i+ 1 );   //..стохастика
   }
       if ( GetCrossingMa( double & i_maFast1, double & i_maFast2, double & i_maSlow1, double & i_maSlow2)==CROSSINGTOUP || i_maFast1>i_maSlow1 )
       return (SIGNAL_BUY);
}

//+---------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                   |
//+---------------------------------------------------------------------------------------+
void FindOrders()
{
   
}
//+---------------------------------------------------------------------------------------+
//| Функция start эксперта                                                                |
//+---------------------------------------------------------------------------------------+
int start()
  {
//----
   
//----
   return ( 0 );
  }

function int GetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2) 는 크로스오버 신호를 얻습니다.

int GetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2) 함수 는 스토캐스틱에서 신호를 받습니다.

void GetMomentumSignal() 함수 는 운동량 값을 가져옵니다.

int GetSignal() 함수는 앞의 3가지 함수 뿐만 아니라 공통 신호를 받게 되는데 문제는 이것이다. int GetSignal() 함수 는 말하자면 가장 중요하고 그 안에서 메인 시그널을 얻기 때문에 틱( i_maFast1 , i_maFast2 , i _maSlow1 , i_maSlow2 )의 모든 값과 확률론( stochD1 , stochD2 , stochK1 , stochK2 )

코드 최적화 면에서 옳은 일을 하고 있습니까?

예, 하지만 GetSignal() 함수 에서 수신된 모든 매개변수 는 해당 함수에 대한 참조로 전달됩니다.

하지만 이 지역에서

     if ( GetCrossingMa( double & i_maFast1, double & i_maFast2, double & i_maSlow1, double & i_maSlow2)==CROSSINGTOUP || i_maFast1>i_maSlow1 )
       return (SIGNAL_BUY);

컴파일하는 동안 오류가 발생합니다.

'&' - variable expected E:\Insall'd soft's\Forex\Admiral Markets\experts\Strategy №1 for H1.mq4 (109, 31)
'&' - variable expected	E:\Insall'd soft's\Forex\Admiral Markets\experts\Strategy №1 for H1.mq4 (109, 50)
'&' - variable expected	E:\Insall'd soft's\Forex\Admiral Markets\experts\Strategy №1 for H1.mq4 (109, 69)
'&' - variable expected	E:\Insall'd soft's\Forex\Admiral Markets\experts\Strategy №1 for H1.mq4 (109, 88)
4 ошибок, 0 предупреждений
  
왜요?

 
왼쪽 코드를 자세히 살펴보는 것을 좋아하지 않지만 double 뒤에 함수에 &(!)가 있는 이유가 바로 눈에 들어왔습니다. 이것은 오류를 제공합니다!
 
hoz :

다음은 테스트 훈련 원시 올빼미입니다.

컴파일하는 동안 오류가 발생합니다.

왜요?

왜냐하면:

 //+---------------------------------------------------------------------------------------+
//| Получение общего сигнала для входа в рынок                                            |
//+---------------------------------------------------------------------------------------+
int GetSignal()
{
   for ( int i= 1 ;i<= Bars ;i++)
   {
       double i_maFast1 = iMA ( Symbol (),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod, 0 ,i);       // Вычисляем быстрые скользящие..
       double i_maFast2 = iMA ( Symbol (),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod, 0 ,i+ 1 );     //..средние
       double i_maSlow1 = iMA ( Symbol (),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod, 0 ,i);       // Вычисляем медленные скользящие..
       double i_maSlow2 = iMA ( Symbol (),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod, 0 ,i+ 1 );     //..средние
       double stochD1 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 1 ,i);     // Вычисляем значения сигнальной линии..
       double stochD2 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 1 ,i+ 1 );   //..стохастика
       double stochK1 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 0 ,i);     // Вычисляем значения главной линии..
       double stochK2 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 0 ,i+ 1 );   //..стохастика
   }
       if ( GetCrossingMa( i_maFast1, i_maFast2, i_maSlow1, i_maSlow2 )==CROSSINGTOUP || i_maFast1>i_maSlow1 )
       return (SIGNAL_BUY);
}