[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 996

 
いつもこんな感じで、まず質問に答えて、アドバイザーを書いて、新しいアイデアが来たら延々と変えていく、アートメディアがかわいそう、だからすぐにプログラマーがみんないなくなる、誰も助けてくれなくなるんだ)
 

テクノは 全く同感ですが、どこかではなく、スレッドを立ててくださいと言っているのですが、スレッドには何と書いてありますか?

初心者からのどんな質問でも、掲示板を乱雑にしないために。プロは通らない。あなたのいない場所はない。

モデレーターは、議論が本スレッドに収まらない場合、別スレッドに残すことができます。

それから、この件は純粋にボランティアで、すべての仕事を書いてくれと言っているわけではなく、上でも言ったように、私も勉強になるし、これから参加する新人も、勉強になると思います。

 
ex_kalibur:

テクノも まったく同感ですが......。

さて、これまでのところ、上に書いたToRから判断すると、あなたはすべてを自分のために書くべきだと提案していますね。このテーマは、プログラミングやトレーニングの際に初心者に生じる疑問に特化したものであり、すべての欲求を満たすためのものではありません)
 
そこで、全員が規約に同意し、オールクリアであれば、次に進みます。まず、すべてのテンプレートファイルを添付します。
ファイル:
 
Techno:
これまでのところ、上に書いたToRから判断すると、あなたはすべてを自分のために書くべきだと提案しているのです。初心者がプログラミングやトレーニングの際に抱く疑問を解決するためのトピックであり、すべての欲求を満たすためのものではない)
最初は質問していたのですが、だんだん複雑になってきて、プログラムも入ってくるファイルが複雑な構造になっているので、コードを見せるわけにはいかず、全部やり直しで、前回の続きからになります
 

EAをmq4からmq5に書き直したいのですが。mq5でEAをテストし最適化すると、どのくらい速くなるか教えてください。

 
ex_kalibur:
そこで、全員が規約に同意し、オールクリアであれば、次に進みます。まず、すべてのテンプレートファイルを添付します。

なぜそんなに複雑なのか?
 
Vinin:

なぜそんなに複雑なのか?
有能な質問もできないほどガチガチになっているため
 

まず、Criterion 関数から見てみましょう。

チャネルを決定するために、それぞれZigZagインジケータを使用するので、そのパラメータを設定しましょう。

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

// Criterion.mqh

//--------------------------------------------------------------- 1 --

// Функция вычисления торговых критериев.

// Возвращаемые значения:

// 10 - открытие Buy

// 20 - открытие Sell

// 11 - закрытие Buy

// 21 - закрытие Sell

// 0 - значимых критериев нет

// -1 - используется другой финансовый инструмент

//--------------------------------------------------------------- 2 --

// Внешние переменные:

eextern int ExtDepth=12;

extern int ExtDeviation=5;

extern int ExtBackstep=3;

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

int Criterion() // Пользовательская функция

{

string Sym="EURGBR";

if (Sym!=Symbol()) // Если не наш фин. инструмент

{

Inform(16); // Сообщение..

return(-1);

} // .. и выход

double

High,

Low ;

//------------------- Параметры технич. индикат: -------------------

High =iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,1,bar);

Low = iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,2,bar);

int TicSpred=100;

double Spread[1000];

if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}

for (int q=TicSpred;q>0;q--){

if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}

for (q=TicSpred;q>0;q--) {Spread[p]=Spread[p-1];}

Spread[0]=(Ask-Bid)/delta;

double CountedSpred;

for (q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];}

//--------------------------------------------------------------- 5 --

// Вычисление торговых критериев

if (Bid <= Low && Ask< High -CountedSpred/2*delta )

return(10);

if ( Bid>= High )

return(20);

 

// 取引基準の算出

if (買値 <= 安値 && Ask< 高値 -CountedSpred/2*delta)

return(10)です。

if ( ビッド>=高値 )

return(20)です。

課題では、まず平均スプレッドの履歴を取得することになっていますが、どのようにすればよいのでしょうか?

100セルの配列が完全に埋まるようにしたい