[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 484

 
buxs:

昼でも夜でもOK!mt4の開発者の方々、また他の皆様にも質問です。

MTクライアントの最小システム要件は?

Athlon 800mg、512mb、XP SP3という古いハードで動かしたいのですが、どうすればいいですか? MT4や5を動かすと、2秒後にシャットダウンしてしまう。問題は明らかにワインドアップやハードウェアにあるのではなく、このハードウェアはデバッガー付きのVisual Studioが動作し(私自身プログラマーです)、システムで例外は発生しません(私のデバッガーが動作しないので)。クライアント自身が何かを嫌がって、結果的に閉じてしまうんでしょうね。そこで質問ですが、mtが嫌がる理由は何ですか、本当にCPUの周波数ですか?))

MT4はビルド226から、MT5は最初からデバッガを嫌っています。
 
buxs:

昼でも夜でもOK!mt4の開発者の方々、また他の皆様にも質問です。

MTクライアントの最小システム要件は?

Athlon 800mg、512mb、XP SP3という古いハードで動かしたいのですが、どうすればいいですか? MT4や5を動かすと、2秒後にシャットダウンしてしまう。問題は明らかにワインドアップやハードウェアにあるのではなく、このハードウェアはデバッガー付きのVisual Studioが動作し(私自身プログラマーです)、システムで例外は発生しません(私のデバッガーが動作しないので)。クライアント自身が何かを嫌がって、結果的に閉じてしまうんでしょうね。そこで質問ですが、mtが嫌がる理由は何ですか、本当にCPUの周波数ですか?))

MetaTrader 4の動作に必要な最低条件を満たすプロセッサー
 


リンクありがとうございます。MTがSSE3を使用していることは明らかですが、そのギズモにはこの命令が設定されておらず、ログなしでそれらのクラッシュを理解できるようになりました :)

このオールドボーイをオートトレードにも使えるようにしたかったのに、残念です...。

 

こんにちは。

iCustom関数について質問です。私は、下向き矢印と上向き矢印の2つのバッファを含む通常の矢印インジケータを持っています。このインディケータを使ってExpert Advisorを作成し、注文を出す代わりにAlert "down arrow" と"up arrow" をテスト用に規定しました。その結果、両方のメッセージがすべてのティックで現れ、これはテスト期間中に起こりました。両方のバッファの値はAlertで表示され、すべてのティックで両方のバッファで同じ値 - 214783647を持っています。

何が間違っているのか、また、私のEAでは、すべてのティックではなく、矢印のポイントが表示されたときに取引を開始するために、どのような条件を適用すべきかが分かりません。

P.S. 私は別の指標(別ウィンドウでヒストグラムを描画)を試してみましたここでいくつかのティックで現在の価格の値が214783647 番号と混合され、すなわち、それらは各ティックで他の後にあり、その後214783647のみ

インジケーターコードです。

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red

double CrossUp[];
double CrossDown[];
extern int FasterEMA = 5;
extern int SlowerEMA = 8;
extern bool SoundON=true;
double alertTag;
 double control=2147483647;
 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0, DRAW_ARROW, EMPTY,1);
   SetIndexArrow(0, 233);
   SetIndexBuffer(0, CrossUp);
   SetIndexStyle(1, DRAW_ARROW, EMPTY,1);
   SetIndexArrow(1, 234);
   SetIndexBuffer(1, CrossDown);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- 

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
   int limit, i, counter;
   double fasterEMAnow, slowerEMAnow, fasterEMAprevious, slowerEMAprevious, fasterEMAafter, slowerEMAafter;
   double Range, AvgRange;
   int counted_bars=IndicatorCounted();
//---- check for possible errors
   if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;

   limit=Bars-counted_bars;
   
   for(i = 0; i <= limit; i++) {
   
      counter=i;
      Range=0;
      AvgRange=0;
      for (counter=i ;counter<=i+9;counter++)
      {
         AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
      }
      Range=AvgRange/10;
       
      fasterEMAnow = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i);
      fasterEMAprevious = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i+1);
      fasterEMAafter = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);

      slowerEMAnow = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, i);
      slowerEMAprevious = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, i+1);
      slowerEMAafter = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);
      
      if ((fasterEMAnow > slowerEMAnow) && (fasterEMAprevious < slowerEMAprevious) && (fasterEMAafter > slowerEMAafter)) {
         CrossUp[i] = Low[i] - Range*0.5;
      }
      else if ((fasterEMAnow < slowerEMAnow) && (fasterEMAprevious > slowerEMAprevious) && (fasterEMAafter < slowerEMAafter)) {
          CrossDown[i] = High[i] + Range*0.5;
      }
        
  }
   return(0);
}
В советнике сделал следующее:
double ind1up0 = iCustom(NULL,0,"FXind-1",5,8,0,0);    //Стрелка вверх, на покупку на текущем баре
double ind1down0=iCustom(NULL,0,"FXind-1",5,8,1,0);    //Стрелка вниз, на продажу на текущем баре

if(ind1up0>0)Buy=true;
if(ind1down0>0)Sell=true;
 
if(ind1up0!=EMPTY)Buy=true;
if(ind1down0!=EMPTY)Sell=true;
 
midorum:
ありがとうございました。簡単なことがわかった。
 
midorum:

EMPTY_VALUEの チェックも追加する必要があります。
 
midorum:

あ、ダメだ!両バッファとも、矢印の 有無にかかわらず、毎ティック ごとに214783647で 満たされる。

これは全くもって正常なことなのでしょうか?

 
Vinin:

EMPTY_VALUEのチェックも追加する必要があります。
すみません、EMPTYではなくEMPTY_VALUE です。
 
Experto:

あ、ダメだ!両バッファとも、矢印の 有無にかかわらず、毎ティックごとに214783647で 満たされる。

これは全くもって正常なことなのでしょうか?

https://docs.mql4.com/ru/constants/special