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

 
41ckm39fi:
PrevSignalに関連するものをすべて削除しましたが、メッセージは表示されません。

象が見えなかった...。

インジケータなので、バッファの初期化を行う。

#property indicator_chart_window

int init(){

IndicatorBuffers(2)です。

SetIndexBuffer(0,DeMarker_buffer0)を設定。

SetIndexBuffer(1,MA_buffer1)を設定。

SetIndexStyle(0,DRAW_NONE)を設定します。

SetIndexStyle(1,DRAW_NONE)を設定します。

}

ArraySetAsSeriesの呼び出しを 削除し......そして、その中で

DeMarker_buffer0[i]=iDeMarker(NULL,0,14,1);

1の代わりに最後のパラメータを入れる

 
keekkenen:

象が見えなかった...。

インジケータなので、バッファの初期化を行う。

#property indicator_chart_window

int init(){

IndicatorBuffers(2)です。

SetIndexBuffer(0,DeMarker_buffer0)を設定。

SetIndexBuffer(1,MA_buffer1)を設定。

SetIndexStyle(0,DRAW_NONE)を設定します。

SetIndexStyle(1,DRAW_NONE)を設定します。

}

ArraySetAsSeriesの呼び出しを 削除し......そして、その中で

1の代わりに最後のパラメータを入れる


こんな感じです。

#property  indicator_level1 0.3
#property  indicator_level2 0.7
#property indicator_chart_window
//---- 
extern int        period_MA            = 5,
                  period_DeMarker      = 14;
//---- 
double            DeMarker_buffer0[],
                  MA_buffer1[],
                  Signal_Buffer2[];       
#define SIGNAL_BAR 1
 //+------------------------------------------------------------------+
int init()
{

IndicatorBuffers(2);

SetIndexBuffer(0,DeMarker_buffer0);

SetIndexBuffer(1,MA_buffer1);

SetIndexStyle(0,DRAW_NONE);

SetIndexStyle(1,DRAW_NONE);

return(0);
  }
  //+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//|   
//+------------------------------------------------------------------+
int start()
  {
  int    i,limit=ArraySize(DeMarker_buffer0);
        
  int    counted_bars=IndicatorCounted();
//----
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
//----
  for(i=limit; i>=0; i--)
  DeMarker_buffer0[i]=iDeMarker(NULL,0,14,i);
//---- 
  for(i=limit; i>=0; i--)
  
  MA_buffer1[i]=iMAOnArray(DeMarker_buffer0,limit,5,0,MODE_LWMA,i);
//----  
                if(MA_buffer1[SIGNAL_BAR] - 0.3 > 0 && 0.3 - MA_buffer1[SIGNAL_BAR+1] >= 0)  
//---- 
                                Alert( "sMA(", Symbol(), ", ", Period(), ")  -  BUY!!!" );
//----
                if(0.7 - MA_buffer1[SIGNAL_BAR] > 0 && MA_buffer1[SIGNAL_BAR+1] - 0.7 >= 0)
//----               
                                Alert("sMA(", Symbol(), ", ", Period(), ")  -  SELL!!!");
                        
   return(0);
  }

しかし、私はこの行に困惑しています。

MA_buffer1[i]=iMAOnArray(DeMarker_buffer0,limit,5,0,MODE_LWMA,i);

その他の構成指標は、Limitの代わりにBarsと表記しています。

 
41ckm39fi:


これが出てきたのです。

しかし、私はこの行に困惑しています。

他の構成された指標では、Limitの代わりにBarsと書かれています。




このiMAOnArray()関数ですが、第2パラメータが0以外の場合、つまりDeMarker_buffer0 配列全体に対して計算する場合、きちんと平均化計算できるのかどうか、0とした方がいいのかどうか.............。
 
keekkenen:
このiMAOnArray()関数、第2パラメータが0以外の場合、つまりDeMarker_buffer0配列全体に対して計算する場合、0とした方が良いのですが、きちんと平均化計算できるのかどうか......私も混乱しています。
Limitの代わりにBarsを入れたら、プログラムがメッセージを出すようになった!!!!思い通りに動いているようです。シグナルバーが閉じるまで、メッセージだけが何度も流れます。
 
こんにちは。EAをダウンロードし、保存し、コンパイルし、ターミナルを再読み込みしました。MT4に追加したEAがチャートに添付されないのですが、どうしてでしょうか?何か悪いことをしたのだろうか?
 
41ckm39fi:

代わりにバーズを処方したのですが・・・。

シグナルバーが閉じるまで、メッセージだけが何度も流れます。

やはり0が正解か...。

そして、時間制御を復活させる...。

static int  PrevTime = Time[0];
//---- 
if(PrevTime >= Time[0] ) return(0);
//---- 
PrevTime = Time[0];

// а здесь проверяйте условия на алерт
 

書き忘れましたが、ラインは

int    i,limit=ArraySize(DeMarker_buffer0);

で置き換えました。

int    i,limit;

という行で、limitをBarsに置き換えています(
)。

MA_buffer1[i]=iMAOnArray(DeMarker_buffer0,Bars,5,0,MODE_LWMA,i);

では、おっしゃるとおりreturn PrevTimeと2番目のパラメータBarsを 0に置き換えてやってみます。

 

例えば、mql4でExpert Advisorを動作させています。

extern変数で 実行すると、いくつかの値が設定されます。

質問:いつでも変更できるのですか?

Expert Advisor の動作中に(キーボードからなど)いくつかの変数にアクセスし、そのような場合、Expert Advisor の再起動は起こらないのでしょうか?

 
Jazzz:

例えば、mql4でExpert Advisorを動作させています。

extern変数で実行すると、いくつかの値が設定されます。

質問:いつでも変更できるのですか?

Expert Advisor の動作中に(キーボードからなど)いくつかの変数にアクセスし、そのような場合、Expert Advisor の再起動は起こらないのでしょうか?


グローバルレベルの変数を使用すれば可能です。EAの電源を切らずにキーボードからその値を変更するには、端末のF3キーを押します。
 
ありがとうございました。