externstring 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 );}// ----------------------------------------------------------
볼린저 밴드 지표에 대해 읽어보십시오. 이것이 당신을 위한 최고의 솔루션이라고 생각합니다.
좋은 오후입니다. 그래프로 상황을 설명하려고 합니다. 브레이크 아웃을 위해 작동하는 두 줄의 프랙탈이 보입니다. Flat이 아니라면 모든 것이 괜찮을 것입니다. 플랫 중에는 차트에 명확하게 표시되고 한쪽 또는 다른 쪽을 잡고 채널로 돌아가서 스톱과 병합되며 플랫의 경우 3-4번입니다. 나는 Stoch로 한쪽을 마감했다. 즉, 80개 이상 매수가 마감되고 20개 미만이 마감되었습니다. 팔지만 반대쪽은 2~3번 열려서 훅이 됩니다. 나는 Flat을 보여주고 양쪽을 닫는 칠면조가 필요하며, 이 순간에 역 주문을 만들어 채널 내에서 거래되도록하는 것이 훨씬 좋습니다. 누구든지 어떤 종류의 칠면조가 그런 문제를 구현할 수 있는지 말해 줄 수 있습니까?
안녕하세요 여러분, 여기에서 알림을 생성하는 데 도움을 주세요.
if(숫자 표시)
{
ObjectCreate("13번째"+i,OBJ_TEXT,0,시간[i],높음[i]+추가);
ObjectSetText("13번째"+i,""+13,14,"Arial",판매);
"여기에 아직 신호가 있도록"
}
}
그러나 나는 그것을 얻을 수 없습니다, 미리 감사합니다.
아마 그렇게 될 것입니다 :
모두에게 좋은 하루. 좋은 평면 지표를 알려주세요. 미리 감사드립니다
평지에서 잘 작동한다는 점에서? 그런 다음 RSI 또는 Stochastic과 같은 모든 오실레이터.
모두에게 좋은 하루. 좋은 평면 지표를 알려주세요. 미리 감사드립니다
볼린저 밴드 지표에 대해 읽어보십시오. 이것이 당신을 위한 최고의 솔루션이라고 생각합니다.
//---------------------------------------------------------------------------
#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
여보세요,
이 표시기는 내 차트에 표시되지 않습니다. 모든 것을 시도했지만 DT -ZigZag 에 연락한 모든 사람에 대해 차트에 표시됩니다. 문제가 무엇인지 알려주십시오. 고맙습니다.
https://www.mql5.com/ru/code/7266
표시기에서 "DT-ZigZag: Current timeframe must be less than ", GrossPeriod가 표시되지 않을 수 있는 유일한 이유입니다!
볼린저 밴드 지표에 대해 읽어보십시오. 이것이 당신을 위한 최고의 솔루션이라고 생각합니다.
좋은 오후입니다. 그래프로 상황을 설명하려고 합니다. 브레이크 아웃을 위해 작동하는 두 줄의 프랙탈이 보입니다. Flat이 아니라면 모든 것이 괜찮을 것입니다. 플랫 중에는 차트에 명확하게 표시되고 한쪽 또는 다른 쪽을 잡고 채널로 돌아가서 스톱과 병합되며 플랫의 경우 3-4번입니다. 나는 Stoch로 한쪽을 마감했다. 즉, 80개 이상 매수가 마감되고 20개 미만이 마감되었습니다. 팔지만 반대쪽은 2~3번 열려서 훅이 됩니다. 나는 Flat을 보여주고 양쪽을 닫는 칠면조가 필요하며, 이 순간에 역 주문을 만들어 채널 내에서 거래되도록하는 것이 훨씬 좋습니다. 누구든지 어떤 종류의 칠면조가 그런 문제를 구현할 수 있는지 말해 줄 수 있습니까?