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

 
volshebnik :
네, 자세한 설명 정말 감사합니다. 모든 TF에 최적화를 적용합니다. 다양한 영역에서 최적화 + 테스트 후 결과에 따라 구독을 취소하겠습니다.


Expert Advisor에서 가능한 TF를 프로그래밍 방식으로 열거하고 최적화하여 지표 값 을 얻을 수 있는 가능성에 대해 질문하셨습니다. 이것은 다음과 같은 방법으로 가능합니다 - 예를 들어 -

파일의 코드 조각 - 그러한 작업이 수행된 잡지의 전문가 - 모든 것이 주석과 함께 자세히 설명되어 있습니다.

......
extern int t_trend_period= 7 ;
......

int trend_period=GetPeriod(t_trend_period); // это ф-ия для определения ТФ согласно заданному значению t_trend_period - заданному во внешней переменной (диапазон от 0 до 7)

double t_stoch_main= iStochastic ( NULL ,trend_period,t_Kperiod,t_Dperiod,t_slowing, MODE_SMA , 0 ,MODE_MAIN, 0 );
......

// сама ф-ия выбота ТФ для оптимизации по всем периодам 
int GetPeriod( int period)
{ int periodres;
 switch (period)
  {
   case 1 : periodres= 1 ; break ;
   case 2 : periodres= 5 ; break ;
   case 3 : periodres= 15 ; break ;
   case 4 : periodres= 30 ; break ;
   case 5 : periodres= 60 ; break ;
   case 6 : periodres= 240 ; break ;
   case 7 : periodres= 1440 ; break ;
   default : periodres= 1 ; break ;
  }
return (periodres);
}

다른 누군가가 이와 같은 유용한 정보를 찾을 수 있습니다.

파일:
 

말해주세요! 그것을 하는 방법, 매시간 시간대(H1)에 새 막대 가 열리고 50분 후 이 막대의 50분 동안 시간이 잘 읽힐 수 있다고 가정해 보겠습니다. 신호를 줄 것입니다. 수면에 대해 들었습니다.

 
anton777 :

말해주세요! 그것을 하는 방법, 매시간 시간대(H1)에 새 막대가 열리고 50분 후 이 막대의 50분 동안 시간이 잘 읽힐 수 있다고 가정해 보겠습니다. 신호를 줄 것입니다. 수면에 대해 들었습니다.

 int minutes= 50 ; 

if ( TimeCurrent ()>=iTime( NULL , PERIOD_H1 , 0 )+minutes* 60 ){

   /// 

}
 

나는 이상한 것을 얻습니다. 차트와 어드바이저 내부의 사용자 정의 표시기 는 완전히 다른 숫자를 제공합니다. 표시기는 MetaStock의 LinearReg의 MQL 아날로그입니다. 이렇게 쓰여있습니다

 #property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Magenta

extern int   RPeriod = 20 ;

int shift = 0 , cnt = 0 ,loopbegin = 0 ;
bool first = True;
int prevbars = 0 ;
double sum = 0 , WT = 0 ;
int i = 0 ;

double val1[];

int init()
{
SetIndexBuffer ( 0 ,val1);
   return ( 0 );
}

int start()
{
   if (RPeriod< 1 ) 
   {
   return ( 0 );
   }
   loopbegin= Bars -RPeriod- 1 ;
   for (shift=loopbegin; shift>= 0 ; shift--)
   {
      sum= 0 ;
       for (i=RPeriod; i>= 1 ; i--)
      {
         sum=sum+(i-(RPeriod+ 1 )/ 3 )*Close[RPeriod-i+shift];
      }
      WT = sum* 6 /(RPeriod*(RPeriod+ 1 ));

           val1[shift] = WT;
        }
   return ( 0 );
}
차트에 적용하면 MetaStock과 정확히 동일하게 표시됩니다. 그러나 이를 거래 고문에 삽입할 가치가 있으므로 호가가 약 1.29인 EURUSD 섹션에서 해당 값은 1.4(indicator_chart_window 속성 포함)보다 큰 것으로 판명되었습니다. 당연히 MetaStock에 대한 복제된 거래 시스템은 작동할 수 없으며 항상 한 위치를 유지하는 것으로 나타났습니다. EA의 결과를 클릭하면 이 지표의 선이 멀게 남는데, 단순히 재컴파일하면 MetaStock처럼 차트가 즉시 정확해집니다. 왜 그런 차이가 있는지 이해할 수 없습니다.
 

안녕하세요, 친애하는 전문가 여러분!

도움을 요청하고 싶습니다! 즉: 첫 번째 전문가 고문을 구성하려고 합니다.
1파이서
2-M5
3-정지 및 소요 매개변수를 설정하는 기능 포함
4 - 주어진 수준에 도달할 때마다 포즈의 반전을 포함하는 것이 가능하도록(선택 사항) 테이크 대신에
수동으로 중지하기 전에 바로 가기 키를 예로 들어 보겠습니다.
5-칠면조는 절대 없습니다.
다 보여 내가 안올렸음 좋겠다
사실, 나는 적어도 소스 코드의 쓰레드나 레이아웃이 필요합니다. 글쎄요, 그렇게 복잡하지 않을 것입니다.
나는 당신의 도움을 바랍니다

 
Mr.Ross :

안녕하세요, 친애하는 전문가 여러분!

도움을 요청하고 싶습니다! 즉: 첫 번째 전문가 고문을 구성하려고 합니다.
1피서
2-M5
3-정지 및 소요 매개변수를 설정하는 기능 포함
4 - 주어진 수준에 도달할 때마다 포즈의 반전을 포함하는 것이 가능하도록(선택 사항) 테이크 대신에
수동으로 중지하기 전에 바로 가기 키를 예로 들어 보겠습니다.
5-칠면조는 절대 없습니다.
다 보여 내가 안 올렸음 좋겠다
사실, 나는 적어도 소스 코드의 쓰레드나 레이아웃이 필요합니다. 글쎄요, 그렇게 복잡하지 않을 것입니다.
나는 당신의 도움을 바랍니다

https://www.mql5.com/ru/articles/1413
 
Mr.Ross :

도움을 요청하고 싶습니다!

프로그래밍 측면에서 이해할 수없는 순간이 있으면 도움을 요청하십시오. "익사를 저장하는 것은 익사 자신의 작업입니다" = 이해할 수없는 순간이 있는 코드의 일부를 보여줍니다. 코드는 1.5 천 줄입니다. 그것을 스스로 해제하십시오;)
 
Ilya81 :

나는 이상한 것을 얻는다

어떤 간단한 지표와 이 지표에서 iCustom()을 통해 EA가 받는 데이터를 시각적으로 비교하려고 하면 MovingAverage가 실험에 적합한 지표라고 생각합니다.

아마도 iCustom () 함수를 잘못 사용하고 있을 것입니다.

 
Integer :

매우 감사합니다!
 

누군가 instaforex MT4에서 작업하는 경우 문제가 발생했을 수 있습니다.

데모에는 4자리, 실제에는 5자리 숫자가 있지만 매우 이상합니다. 입찰 및 매도는 4자리로 반올림됩니다.


코드는 다음과 같습니다.

   if (Poz_Up)
      {
         ticket= OrderSend ( Symbol (),OP_BUY, 0.01 ,Ask, 3 , NormalizeDouble (Bid- 300 * Point , Digits ), NormalizeDouble (Ask+ 300 * Point , Digits ),Komment, 0 , Green );
      }
   if (Poz_Dn)
      {
         ticket= OrderSend ( Symbol (),OP_SELL, 0.01 ,Bid, 3 , NormalizeDouble (Ask+ 300 * Point , Digits ), NormalizeDouble (Bid- 300 * Point , Digits ),Komment, 0 , Green );
      }

300pp 또는 3000pp 포지션을 열 때 SL&TP를 제공합니다. 마치 새로운 방식으로 매번 어떤 Digits가 같은지를 결정하는 것처럼 보입니다.

누구든지이 문제를 극복하는 방법을 제안 할 수 있습니까? 비슷한 문제를 겪은 사람이 있습니까? 아니면 저만입니까?