[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 181 1...174175176177178179180181182183184185186187188...1145 新しいコメント Oleg 2009.08.07 10:07 #1801 Daddy >> : おい、みんな、助けてくれ if(ShowNumbers) { ObjectCreate("thirteenth "+i,OBJ_TEXT,0,Time[i],High[i]+add)。 ObjectSetText("thirteenth "+i, "+13,14, "Arial",Sell); 「まだここに信号があるんだ」 } } というのは、私にはできないからです。 よろしくお願いします。 これに違いない。 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); } // ---------------------------------------------------------- Grigorij 2009.08.07 10:39 #1802 皆さん、ごきげんよう。良いフラットインジケーターを教えてください。よろしくお願いします。 [Deleted] 2009.08.07 13:50 #1803 grego >> : 皆さん、ごきげんよう。良いフラットインジケーターを教えてください。あらかじめご了承ください。 フラットでうまく機能するインジケーターというのは?次に、RSIやストキャスティクスなどのオシレーターを使用します。 Grigorij 2009.08.07 16:03 #1804 そう、フラットを見せるため、そして最も重要なのは、フラットを時間内に開くこと、つまりその終わりを見せることです。RSIのあるものを見つけたのですが、そういうことですか? ファイル: flatptrendyrsi.mq4 3 kb Oleg 2009.08.07 16:14 #1805 grego >> : 皆さん、ごきげんよう。良いフラットレートインジケーターを教えてください。ありがとうございました。 BOLLINGER BANDSのインジケーターについてご紹介します。それがあなたにとってベストな解決策だと思います。 evgenio 2009.08.07 17:20 #1806 //--------------------------------------------------------------------------- #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); } //+------------------------------------------------------------------+ それを呼び出すアドバイザーのコード 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読み込みはターミナルのいたるところで有効になっています。 ヘルプ ******** [WARNING CLOSED!] Any newbie Looking for Help with [ARCHIVE!] Any rookie question, evgenio 2009.08.07 17:21 #1807 //--------------------------------------------------------------------------- #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); } //+------------------------------------------------------------------+ それを呼び出すアドバイザーのコード 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読み込みはターミナルのいたるところで有効になっています。 ヘルプ ******** [WARNING CLOSED!] Any newbie Looking for Help with [ARCHIVE!] Any rookie question, 削除済み 2009.08.07 19:18 #1808 こんにちは。 このインジケータがチャートに表示されません。あらゆることを試しましたが、誰に尋ねてもDT-ZigZagがチャートに表示されます。何が問題なのか教えてください。 ありがとうございました。 https://www.mql5.com/ru/code/7266 infinity 2009.08.07 19:59 #1809 Koly >> : こんにちは。 このインジケータがチャートに表示されません。あらゆることを試しましたが、誰に尋ねてもDT-ZigZagがチャートに表示されます。何が問題なのか教えてください。 ありがとうございました。 https://www.mql5.com/ru/code/7266 インジケーターでは、「DT-ZigZag: 現在のタイムフレームは、", GrossPeriodより小さくなければならない」となっており、これが表示されない唯一の理由です。 Grigorij 2009.08.08 08:26 #1810 chief2000 >> : BOLLINGER BANDSのインジケーターについてご紹介します。これが最適なソリューションだと思います。 午後の部 ボリンジャーとはちょっと違うけどチャートで解説してみる。故障のために働いている2つのフラクタル線が見えますね。フラットさえなければ、すべてがうまくいくのですが。横ばいの間、よくチャートで見て、その後、一方または他方がチャネルに戻り、急落を停止し、それはフラットで3-4回です。買いの決済が80枚以上、決済が20枚以下になったらStopで片方を決済しました。売りですが、反対側が開いていて2-3回あり、捕まります。また、フラットと両サイドのクローズを表示するインジケータを使用する必要があり、さらに、チャネルの内側で取引するために、この瞬間に再警戒の注文をする必要があります。どなたか、このような問題を解決するのに役立つツールを教えてください。 1...174175176177178179180181182183184185186187188...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
おい、みんな、助けてくれ
if(ShowNumbers)
{
ObjectCreate("thirteenth "+i,OBJ_TEXT,0,Time[i],High[i]+add)。
ObjectSetText("thirteenth "+i, "+13,14, "Arial",Sell);
「まだここに信号があるんだ」
}
}
というのは、私にはできないからです。 よろしくお願いします。
これに違いない。
皆さん、ごきげんよう。良いフラットインジケーターを教えてください。あらかじめご了承ください。
フラットでうまく機能するインジケーターというのは?次に、RSIやストキャスティクスなどのオシレーターを使用します。
皆さん、ごきげんよう。良いフラットレートインジケーターを教えてください。ありがとうございました。
BOLLINGER BANDSのインジケーターについてご紹介します。それがあなたにとってベストな解決策だと思います。
//---------------------------------------------------------------------------
#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);
}
//+------------------------------------------------------------------+
それを呼び出すアドバイザーのコード
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);
}
//+------------------------------------------------------------------+
それを呼び出すアドバイザーのコード
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: 現在のタイムフレームは、", GrossPeriodより小さくなければならない」となっており、これが表示されない唯一の理由です。
BOLLINGER BANDSのインジケーターについてご紹介します。これが最適なソリューションだと思います。
午後の部 ボリンジャーとはちょっと違うけどチャートで解説してみる。故障のために働いている2つのフラクタル線が見えますね。フラットさえなければ、すべてがうまくいくのですが。横ばいの間、よくチャートで見て、その後、一方または他方がチャネルに戻り、急落を停止し、それはフラットで3-4回です。買いの決済が80枚以上、決済が20枚以下になったらStopで片方を決済しました。売りですが、反対側が開いていて2-3回あり、捕まります。また、フラットと両サイドのクローズを表示するインジケータを使用する必要があり、さらに、チャネルの内側で取引するために、この瞬間に再警戒の注文をする必要があります。どなたか、このような問題を解決するのに役立つツールを教えてください。