どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 488

 
Ind_1とInd_GVの2つの指標があります。Ind_GVインジケータは、クライアント端末のグローバル 変数から設定値の一つを受け取る点がInd_1と異なる。
Ind_1とInd_GVの設定が一致した場合、Ind_GVはInd_1と若干異なる結果値となる。
Ind_1とInd_GVが一致した状態でテスターを一時停止し、Ind_GVをコンパイルすると、両指標の結果値が完全に一致します。
これをどう説明すればいいのか、誰にもわからない。
 

Strategy Tester を最適化 モードで実行するために、Expert Advisor に何らかのコードが必要かどうか教えてください。

Expert Advisorを最適化しようとしているが、よくわからない。


2014.02.18 21:54:30.386 Tester: cache file "C:\...\testercachestest.NZDUSD5.0" found and can be used for further optimization.

2014.02.18 21:54:30.388 TestGenerator: 実際の tick ファイル "C:\...\testerhistory⑭.fxt" が見つかりました。

私たちには歴史があります。NZDUSD5_0.fxtファイルの重さは約150mです。

また、テスターのログでも確認できます。

2014.02.18 22:50:21.251 TestGenerator: unmatched data error (volume limit 305 at 2014.02.12 13:35 exceeded).

これはどういうことですか?


 

助けてください

各変数は1から5までの値を取ることができます。3125のオプションを書かない方法を教えてください)))

   if  (Kx==5&&     K>T &&     K>SA &&     K>SB &&     K>Bid &&
        Tx==4&&     T<K &&     T>SA &&     T>SB &&     T>Bid && 
        SAx==3&&    SA<K &&    SA<T &&     SA>SB &&    SA>Bid &&
        SBx==2&&    SB<K &&    SB<T &&     SB<SA &&    SB>Bid &&
        BID==1&&    Bid<K &&   Bid<T &&    Bid<SA &&   Bid<SB
       )
 
niktron:

助けてください

各変数は1から5までの値を取ることができます。3125のオプションを書かない方法を教えてください)))

25の選択肢を引いて、誰が偉いか対処する。
 
tara:
25の選択肢を引いて、誰が大きいかを後で処理する。

ありがとうございます...今やっているのはそれです...配列でやりたかったのですが、牽引力がありません...))
 
結局25個ではなく3125個の選択肢があるのですが、25個の選択肢に分割するのもアレですね)))
 
コメントをストレートに書くと、その後の参考になる。
 
女性の元へ行った。
 

.mqh "が添付されたインジケータについて、ご教授ください。

インジケータ・バッファExtBuffer1[]、ExtBuffer2[]、Buffer_M[]のサイズは0です。同時にバッファExtBuffer0[]は正常に動作し、そのサイズはBarsと同じであるべきものです。一番面白いのは、新バージョンにアップデートする前の旧バージョンのMT4でも問題なく動作したことです。もうひとつ。インジケーターのすべての要素を同じ基本mq4ファイルに移動すると、すべてが再び正常に動作します。

質問:添付ファイルのインジケーターバッファの配列サイズが 0にリセットされるのはなぜですか?

以下は、このインジケーターのソースコードです。

//+------------------------------------------------------------------+

//| AO_EMA_(with_includes).mq4 |

//+------------------------------------------------------------------+

#include <AO_EMA_(with_includes)_GLOB.mqh>

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

int init()

{

#include <AO_EMA_(with_includes)_INIT.mqh>

return(0);

}

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

int start()

{

#include <AO_EMA_(with_includes)_START.mqh>

return(0);

}

//+------------------------------------------------------------------+





//+------------------------------------------------------------------+

//| AO_EMA_(with_includes)_GLOB.mq4 |

//+------------------------------------------------------------------+

#property indicator_separate_window

#property indicator_buffers 4

#property indicator_color1 Black

#property indicator_color2 Green

#property indicator_color3 Red


//---- Input Data

extern int Slow = 100;

extern double Slow_Fast = 4.318;

extern int Average = 25; // Усреднение АО

extern bool Show_AO_G = true,

Show_AO_R = true;


//---- Глобальные переменные

int Fast;

bool Alert_done = false; // Флаг говорит о том, что Alert уже был раз сгенерирован.

//---- indicator buffers

double ExtBuffer0[];

double ExtBuffer1[];

double ExtBuffer2[];

//---- Буфера индикатора, для промежуточных расчетов

double Buffer_M[];

//+------------------------------------------------------------------+

//| AO_EMA_(with_includes)_INIT.mq4 |

//+------------------------------------------------------------------+

//---- Установка значение для переменной "Fast"

Fast = NormalizeDouble(Slow / Slow_Fast, 0);


//---- indicator buffers mapping

SetIndexBuffer(0, ExtBuffer0);

SetIndexBuffer(1, ExtBuffer1);

SetIndexBuffer(2, ExtBuffer2);

SetIndexBuffer(3, Buffer_M);


//---- drawing settings

SetIndexStyle(0, DRAW_NONE); // Линия не рисуется

SetIndexStyle(1, DRAW_HISTOGRAM); // Гистограмма

SetIndexStyle(2, DRAW_HISTOGRAM); // Гистограмма

SetIndexStyle(3, DRAW_NONE); // Линия не рисуется

//---- drawing begin settings

SetIndexDrawBegin(0, Fast); // Индикатор начинает рисоваться с этого бара, от начала графика слева.

SetIndexDrawBegin(1, Fast);

SetIndexDrawBegin(2, Slow);

SetIndexDrawBegin(3, Slow);


IndicatorDigits(Digits+1);

//---- name for DataWindow and indicator subwindow label

IndicatorShortName("AO_EMA ("+Fast+"-"+Slow+")");

SetIndexLabel(1,"Green");

SetIndexLabel(2,"Red");

//---- Обнуляем буфер индикатора

SetIndexEmptyValue(0, 0.0); SetIndexEmptyValue(1, 0.0);

SetIndexEmptyValue(2, 0.0); SetIndexEmptyValue(3, 0.0);

//---- initialization done

//+------------------------------------------------------------------+

//| AO_EMA_(with_includes)_START.mq4 |

//+------------------------------------------------------------------+

int limit, pos;

int counted_bars=IndicatorCounted();

double prev,current, pr;

bool up;


//---- Последний посчитанный бар будет пересчитан

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

Print("counted_bars=",counted_bars," Bars=",Bars," limit=",limit);

Print("0=",ArraySize(ExtBuffer0)," 1=",ArraySize(ExtBuffer1)," 2=",ArraySize(ExtBuffer2)," M=",ArraySize(Buffer_M));


//---- Расчет MACD для Гистограммы "= EMA(fast) - EMA(slow)"

if(Show_AO_G == true || Show_AO_R == true)

{ for(int i=0; i<limit; i++)

Buffer_M[i]=iMA(NULL,0,Fast,0,MODE_EMA,PRICE_MEDIAN,i)-iMA(NULL,0,Slow,0,MODE_EMA,PRICE_MEDIAN,i);


//---- Усредняем MACD по "Average".Это и будет рисоваться на графике..

//---- ... можно заменить на " EMA(Fast)".

pr=2.0/(Average+1);

pos=Bars-2;

if(counted_bars>2) pos=Bars-counted_bars-1;

//---- Основной расчет

while(pos>=0)

{ if(pos==Bars-2) ExtBuffer0[pos+1]=Buffer_M[pos+1];

ExtBuffer0[pos]=Buffer_M[pos]*pr+ExtBuffer0[pos+1]*(1-pr);

pos--; }

//---- Расперделение данных между 2-я буферами, для разделения по цветам

for(i=limit-1; i>=0; i--)

{ // При перерасчете самого левого бара, порядковый номер в массиве [i+1] выходит за пределы размера массива, поэтому расчет первого цикла прорускаем.

if(i == Bars-1) continue;

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

current = ExtBuffer0[i];

prev = ExtBuffer0[i+1];

if(current == prev) continue;

else

{ if(current>prev) up=true;

if(current<prev) up=false;

if(!up)

{ ExtBuffer2[i]=current;

ExtBuffer1[i]=0.0; }

else

{ ExtBuffer1[i]=current;

ExtBuffer2[i]=0.0; }

}}}

//--- Устанавливаем видимость индикаторов

if(Show_AO_G == false) SetIndexStyle(1, DRAW_NONE);

if(Show_AO_R == false) SetIndexStyle(2, DRAW_NONE);

 
NEP:

.mqh "が添付されたインジケータについて、ご教授ください。

インジケータ・バッファExtBuffer1[]、ExtBuffer2[]、Buffer_M[]のサイズは0です。同時にバッファExtBuffer0[]は正常に動作し、そのサイズはBarsと同じであるべきものです。一番面白いのは、新バージョンにアップデートする前の旧バージョンのMT4でも問題なく動作したことです。もうひとつ。インジケーターのすべての要素を同じ基本mq4ファイルに移動すると、すべてが再び正常に動作します。

質問:添付ファイルのインジケーターバッファの配列サイズが0にリセットされるのはなぜですか?

以下は、このインジケータのソースコードです。




ケツにするのが好きなのか?