[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 181

 
Daddy >> :

안녕하세요 여러분, 여기에서 알림을 생성하는 데 도움을 주세요.


if(숫자 표시)
{
ObjectCreate("13번째"+i,OBJ_TEXT,0,시간[i],높음[i]+추가);
ObjectSetText("13번째"+i,""+13,14,"Arial",판매);

"여기에 아직 신호가 있도록"
}
}

그러나 나는 그것을 얻을 수 없습니다, 미리 감사합니다.





아마 그렇게 될 것입니다 :



extern string AlertWav = "alert.wav" ;


// ----------------------------------------------------------
. . .
start ( ) {


if ( ShowNumbers ) {
   ObjectCreate ( "thirteenth" + i , OBJ_TEXT , 0 , Time [ i ] , High [ i ] + add ) ;
   ObjectSetText ( "thirteenth" + i , "" + 13 , 14 , "Arial" , Sell ) ;

// "чтобы был еще здесь сигнал"
   if ( i < = 0 ) {
       if ( AlertSound = = true    & &    isNewBar ( ) ) {
         PlaySound ( AlertWav ) ;
       } // if (AlertSound == true   &&   isNewBar() ) {
   } // if(i<=0)

} // if(ShowNumbers) {


...

   return ;
} // start
// ----------------------------------------------------------



// ----------------------------------------------------------
int expBars ;
bool res ;

// возвращает true если появлися новый бар, иначе false 
bool isNewBar ( ) {
   bool res = false ; 

   if ( expBars ! = Bars ) {
      expBars = Bars ;
      res = true ;
   } 

   return ( res ) ;
}
// ----------------------------------------------------------





 
모두에게 좋은 하루. 좋은 평면 지표를 알려주세요. 미리 감사드립니다
 
grego >> :
모두에게 좋은 하루. 좋은 평면 지표를 알려주세요. 미리 감사드립니다

평지에서 잘 작동한다는 점에서? 그런 다음 RSI 또는 Stochastic과 같은 모든 오실레이터.

 
예, 아파트를 보여주고 가장 중요한 것은 아파트를 제 시간에 여는 것, 즉 끝을 보여주는 것입니다. 방금 RSI가 있는 것을 찾았습니다. 그게 무슨 말입니까?
파일:
 
grego >> :
모두에게 좋은 하루. 좋은 평면 지표를 알려주세요. 미리 감사드립니다

볼린저 밴드 지표에 대해 읽어보십시오. 이것이 당신을 위한 최고의 솔루션이라고 생각합니다.

 

//---------------------------------------------------------------------------

#include <windows.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>

#ifndef FALSE
#define FALSE 0
#define TRUE 1
#endif

#define MENUCODE -999

#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
  return 1;
}
//---------------------------------------------------------------------------
/* ------------------------------------------------------------------------- */




static double Thresholds[] =
{

/* layer 1 */
1.2145040659995765, 3.7150897132033802, 0.59454351593610577, 0.31822673978973876,

/* layer 2 */
1.0261447433298005

};

static double Weights[] =
{

/* layer 1 */
-1.1141264237664898, -1.5504305146313317, 0.73286159338154766, -1.2788684374991517,
-0.61641073399851731,
0.69072562217776923, -0.22241781292722679, 0.71682200719453848, 0.0017560026910527838,
2.1540691697208927,
-0.99116459059236506, -0.054704110029000053, -1.2382645587627006, -2.9685995454576384,
-1.1411725616914337,
-0.043297251827266285, -0.066167428785390461, -0.020875395803372929, -0.11405333458161644,
1.8579545370330088,

/* layer 2 */
-0.97811177652242753, 2.8971789204781668, -1.8332145813941754, 2.2454948857766635

};

static double Acts[20];

__declspec(dllexport) double __stdcall Run( double inputs[], double sd, int outputType )
{
  int i, j, k, u;
  double *w = Weights, *t = Thresholds;

  /* Process inputs - apply pre-processing to each input in turn,
  * storing results in the neuron activations array.
  */

  /* Input 0: standard numeric pre-processing: linear shift and scale. */
  if ( inputs[0] == -9999 )
  Acts[0] = 0.35852063342998086;
  else
  Acts[0] = inputs[0] * 7.2056492289955321 + -6.0600951145698216;

  /* Input 1: standard numeric pre-processing: linear shift and scale. */
  if ( inputs[1] == -9999 )
  Acts[1] = 0.35857336433909737;
  else
  Acts[1] = inputs[1] * 7.204610951008644 + -6.0590778097982696;

  /* Input 2: standard numeric pre-processing: linear shift and scale. */
  if ( inputs[2] == -9999 )
  Acts[2] = 0.35851878147446925;
  else
  Acts[2] = inputs[2] * 7.204610951008644 + -6.0590778097982696;

  /* Input 3: standard numeric pre-processing: linear shift and scale. */
  if ( inputs[3] == -9999 )
  Acts[3] = 0.35847796574053348;
  else
  Acts[3] = inputs[3] * 7.204610951008644 + -6.0590778097982696;

  /* Input 4: standard numeric pre-processing: linear shift and scale. */
  if ( inputs[4] == -9999 )
  Acts[4] = 0.35964573508254105;
  else
  Acts[4] = inputs[4] * 7.231703789412788 + -6.0820075209719429;

  /*
  * Process layer 1.
  */

  /* For each unit in turn */
  for ( u=0; u < 4; ++u )
  {
  /*
  * First, calculate post-synaptic potentials, storing
  * these in the Acts array.
  */

  /* Initialise hidden unit activation to zero */
  Acts[5+u] = 0.0;

  /* Accumulate weighted sum from inputs */
  for ( i=0; i < 5; ++i )
  Acts[5+u] += *w++ * Acts[0+i];

  /* Subtract threshold */
  Acts[5+u] -= *t++;

  /* Now apply the hyperbolic activation function, ( e^x - e^-x ) / ( e^x + e^-x ).
  * Deal with overflow and underflow
  */
  if ( Acts[5+u] > 100.0 )
  Acts[5+u] = 1.0;
  else if ( Acts[5+u] < -100.0 )
  Acts[5+u] = -1.0;
  else
  {
  double e1 = exp( Acts[5+u] ), e2 = exp( -Acts[5+u] );
  Acts[5+u] = ( e1 - e2 ) / ( e1 + e2 );
  }
  }

  /*
  * Process layer 2.
  */

  /* For each unit in turn */
  for ( u=0; u < 1; ++u )
  {
  /*
  * First, calculate post-synaptic potentials, storing
  * these in the Acts array.
  */

  /* Initialise hidden unit activation to zero */
  Acts[9+u] = 0.0;

  /* Accumulate weighted sum from inputs */
  for ( i=0; i < 4; ++i )
  Acts[9+u] += *w++ * Acts[5+i];

  /* Subtract threshold */
  Acts[9+u] -= *t++;

  /* Now apply the logistic activation function, 1 / ( 1 + e^-x ).
  * Deal with overflow and underflow
  */
  if ( Acts[9+u] > 100.0 )
  Acts[9+u] = 1.0;
  else if ( Acts[9+u] < -100.0 )
  Acts[9+u] = 0.0;
  else
  Acts[9+u] = 1.0 / ( 1.0 + exp( - Acts[9+u] ) );
  }

  /* Type of output required - selected by outputType parameter */
  /* Post-process output 0, numeric linear scaling */
  sd = ( Acts[9] - -5.4031700288184421 ) / 6.4841498559077788;

  return (sd);
  }

이 dll 코드는 borlagd 6에서 오류 없이 컴파일됩니다.

//+------------------------------------------------------------------+
//| nero.mq4 |
//| Evgenio |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Evgenio"
#property link "http://www.metaquotes.net"
#import "2.dll"
double Run( double inputs[], double sd, int outputType );
#import
double sd;
int outputType;
double inputs[];
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
  {
//----
 double inputs[4]={0.5235,0.3254,0.21422,0.32123,0.32156};  
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
  {
//----
  
  
  double d=Run( inputs, sd, outputType );
  Print (d);
  
//----
  return(0);
  }
//+------------------------------------------------------------------+

그것을 호출하는 EA 코드

2009.08.07 20:38:48 2009.08.06 00:00 nero EURGBP,M15: cannot call function 'Run' from dll '2.dll' (error 127)

테스터 로그??

왜요?

모든 것이 오류 없이 컴파일되고 터미널의 모든 곳에서 dll 로드가 활성화됩니다.

돕다 ********

 

//---------------------------------------------------------------------------

#include <windows.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>

#ifndef FALSE
#define FALSE 0
#define TRUE 1
#endif

#define MENUCODE -999

#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
  return 1;
}
//---------------------------------------------------------------------------
/* ------------------------------------------------------------------------- */




static double Thresholds[] =
{

/* layer 1 */
1.2145040659995765, 3.7150897132033802, 0.59454351593610577, 0.31822673978973876,

/* layer 2 */
1.0261447433298005

};

static double Weights[] =
{

/* layer 1 */
-1.1141264237664898, -1.5504305146313317, 0.73286159338154766, -1.2788684374991517,
-0.61641073399851731,
0.69072562217776923, -0.22241781292722679, 0.71682200719453848, 0.0017560026910527838,
2.1540691697208927,
-0.99116459059236506, -0.054704110029000053, -1.2382645587627006, -2.9685995454576384,
-1.1411725616914337,
-0.043297251827266285, -0.066167428785390461, -0.020875395803372929, -0.11405333458161644,
1.8579545370330088,

/* layer 2 */
-0.97811177652242753, 2.8971789204781668, -1.8332145813941754, 2.2454948857766635

};

static double Acts[20];

__declspec(dllexport) double __stdcall Run( double inputs[], double sd, int outputType )
{
  int i, j, k, u;
  double *w = Weights, *t = Thresholds;

  /* Process inputs - apply pre-processing to each input in turn,
  * storing results in the neuron activations array.
  */

  /* Input 0: standard numeric pre-processing: linear shift and scale. */
  if ( inputs[0] == -9999 )
  Acts[0] = 0.35852063342998086;
  else
  Acts[0] = inputs[0] * 7.2056492289955321 + -6.0600951145698216;

  /* Input 1: standard numeric pre-processing: linear shift and scale. */
  if ( inputs[1] == -9999 )
  Acts[1] = 0.35857336433909737;
  else
  Acts[1] = inputs[1] * 7.204610951008644 + -6.0590778097982696;

  /* Input 2: standard numeric pre-processing: linear shift and scale. */
  if ( inputs[2] == -9999 )
  Acts[2] = 0.35851878147446925;
  else
  Acts[2] = inputs[2] * 7.204610951008644 + -6.0590778097982696;

  /* Input 3: standard numeric pre-processing: linear shift and scale. */
  if ( inputs[3] == -9999 )
  Acts[3] = 0.35847796574053348;
  else
  Acts[3] = inputs[3] * 7.204610951008644 + -6.0590778097982696;

  /* Input 4: standard numeric pre-processing: linear shift and scale. */
  if ( inputs[4] == -9999 )
  Acts[4] = 0.35964573508254105;
  else
  Acts[4] = inputs[4] * 7.231703789412788 + -6.0820075209719429;

  /*
  * Process layer 1.
  */

  /* For each unit in turn */
  for ( u=0; u < 4; ++u )
  {
  /*
  * First, calculate post-synaptic potentials, storing
  * these in the Acts array.
  */

  /* Initialise hidden unit activation to zero */
  Acts[5+u] = 0.0;

  /* Accumulate weighted sum from inputs */
  for ( i=0; i < 5; ++i )
  Acts[5+u] += *w++ * Acts[0+i];

  /* Subtract threshold */
  Acts[5+u] -= *t++;

  /* Now apply the hyperbolic activation function, ( e^x - e^-x ) / ( e^x + e^-x ).
  * Deal with overflow and underflow
  */
  if ( Acts[5+u] > 100.0 )
  Acts[5+u] = 1.0;
  else if ( Acts[5+u] < -100.0 )
  Acts[5+u] = -1.0;
  else
  {
  double e1 = exp( Acts[5+u] ), e2 = exp( -Acts[5+u] );
  Acts[5+u] = ( e1 - e2 ) / ( e1 + e2 );
  }
  }

  /*
  * Process layer 2.
  */

  /* For each unit in turn */
  for ( u=0; u < 1; ++u )
  {
  /*
  * First, calculate post-synaptic potentials, storing
  * these in the Acts array.
  */

  /* Initialise hidden unit activation to zero */
  Acts[9+u] = 0.0;

  /* Accumulate weighted sum from inputs */
  for ( i=0; i < 4; ++i )
  Acts[9+u] += *w++ * Acts[5+i];

  /* Subtract threshold */
  Acts[9+u] -= *t++;

  /* Now apply the logistic activation function, 1 / ( 1 + e^-x ).
  * Deal with overflow and underflow
  */
  if ( Acts[9+u] > 100.0 )
  Acts[9+u] = 1.0;
  else if ( Acts[9+u] < -100.0 )
  Acts[9+u] = 0.0;
  else
  Acts[9+u] = 1.0 / ( 1.0 + exp( - Acts[9+u] ) );
  }

  /* Type of output required - selected by outputType parameter */
  /* Post-process output 0, numeric linear scaling */
  sd = ( Acts[9] - -5.4031700288184421 ) / 6.4841498559077788;

  return (sd);
  }

이 dll 코드는 borlagd 6에서 오류 없이 컴파일됩니다.

//+------------------------------------------------------------------+
//| nero.mq4 |
//| Evgenio |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Evgenio"
#property link "http://www.metaquotes.net"
#import "2.dll"
double Run( double inputs[], double sd, int outputType );
#import
double sd;
int outputType;
double inputs[];
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
  {
//----
 double inputs[4]={0.5235,0.3254,0.21422,0.32123,0.32156};  
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
  {
//----
  
  
  double d=Run( inputs, sd, outputType );
  Print (d);
  
//----
  return(0);
  }
//+------------------------------------------------------------------+

그것을 호출하는 EA 코드

2009.08.07 20:38:48 2009.08.06 00:00 nero EURGBP,M15: cannot call function 'Run' from dll '2.dll' (error 127)

테스터 로그??

왜요?

모든 것이 오류 없이 컴파일되고 터미널의 모든 곳에서 dll 로드가 활성화됩니다.

돕다 ********

 
여보세요,

이 표시기는 내 차트에 표시되지 않습니다. 모든 것을 시도했지만 DT -ZigZag 에 연락한 모든 사람에 대해 차트에 표시됩니다. 문제가 무엇인지 알려주십시오. 고맙습니다.

https://www.mql5.com/ru/code/7266

 
Koly >> :
여보세요,

이 표시기는 내 차트에 표시되지 않습니다. 모든 것을 시도했지만 DT -ZigZag 에 연락한 모든 사람에 대해 차트에 표시됩니다. 문제가 무엇인지 알려주십시오. 고맙습니다.

https://www.mql5.com/ru/code/7266


표시기에서 "DT-ZigZag: Current timeframe must be less than ", GrossPeriod가 표시되지 않을 수 있는 유일한 이유입니다!

 
chief2000 >> :

볼린저 밴드 지표에 대해 읽어보십시오. 이것이 당신을 위한 최고의 솔루션이라고 생각합니다.

좋은 오후입니다. 그래프로 상황을 설명하려고 합니다. 브레이크 아웃을 위해 작동하는 두 줄의 프랙탈이 보입니다. Flat이 아니라면 모든 것이 괜찮을 것입니다. 플랫 중에는 차트에 명확하게 표시되고 한쪽 또는 다른 쪽을 잡고 채널로 돌아가서 스톱과 병합되며 플랫의 경우 3-4번입니다. 나는 Stoch로 한쪽을 마감했다. 즉, 80개 이상 매수가 마감되고 20개 미만이 마감되었습니다. 팔지만 반대쪽은 2~3번 열려서 훅이 됩니다. 나는 Flat을 보여주고 양쪽을 닫는 칠면조가 필요하며, 이 순간에 역 주문을 만들어 채널 내에서 거래되도록하는 것이 훨씬 좋습니다. 누구든지 어떤 종류의 칠면조가 그런 문제를 구현할 수 있는지 말해 줄 수 있습니까?

사유: