エラー、バグ、質問 - ページ 604

 
Urain:

シンボルと期間はチャートと同じである必要はなく、他のタイムフレームやシンボルからでも可能です。

この質問にはちょっと驚きました(だからわからないんです)iCustom()の記述にあります。

PS 計算されたインジケータのデータの取得はCopyBuffer()関数で 行い、そのハンドルとバッファ番号を指定する必要があります(説明はマニュアルにあります)。

PPS iCustomがインジケータ計算フローを開始し、CopyBufferがインジケータデータを受信します。

迷惑かけてすみません。"CCFp_2 "と "CCFp__2 "のスペルの違いに気づいていました。の質問を削除 しました。
 
sergeev:

だからなんだ

は、このインジケータを特定の通貨に投げる義務があるのでしょうか?

とにかく、気にせず、行ってみてください。

個人的には、すべてがうまくいっています。Expert Advisorから呼び出したり、チャートに投げたりもしています。

CCFp_2」と「CCFp__2」の書き方の違いにすぐに気づかず、ご迷惑をおかけしました。の質問は却下さ れました。
 
コメント(114行目)で、"c"(第3パラメータArrayMaximum/minimum)が常に増加しているにもかかわらず、ArrayMaximumとArrayMinimumが 常に199を示すのは理解できないのですが.........。
ファイル:
 
Graff:
コメント(114行目)で、"c"(第3パラメータArrayMaximum/minimum)が常に増加しているにもかかわらず、ArrayMaximumとArrayMinimumが常に199を示すのは理解できないのですが......。

110行目の場合。

      while(wcond && y>=0 && c>=0 && !IsStopped())

に置き換えます。

      if(wcond && y>=0 && c>=0 && !IsStopped())

...そこにいくつかの漫画が始まる...

一般的に、インジケータだけでなく、多くの組み込みループ(ArrayMaximumの暗黙のものも含む)が、毎ティック ごとにターミナルをハングアップさせているのではないかと思います。ただし、Commentが極値の結果ではなく、何らかの変数cを出力すれば、whileの場合でもハングアップすることはない。

それに、ヘルプを見てください。

int  ArrayMaximum(
   double  array[],               // массив для поиска
   int     start=0                // с какого индекса начинаем поиск
   int     count=WHOLE_ARRAY,     // количество проверяемых
   );

ここでは、カウントが0から200まで増加する間、スタートは常に=199であり、それゆえ、すべての結果が得られる。例えば、iとcが入れ替わったときに動き出す。

         hm=ArrayMaximum(h,c,i);
         lm=ArrayMinimum(l,c,i);
でマイナスになり、terminal error: array out of rangeとなる。
 
Graff:
コメント(114行目)で、"c"(第3パラメータArrayMaximum/minimum)が常に増加しているにもかかわらず、ArrayMaximumとArrayMinimumが常に199を示すのは理解できないのですが.........。
   for(int i=calc_bars-1;i>=0;i--)// peaks loop//i=199
     {
      double pips_lh=0,pips_hl=0;
      int y=i,c=1;
      bool wcond=true;
      while(wcond && y>=0 && c>=0 && !IsStopped())
        {
         int hm=ArrayMaximum(h,i,c);//от 199
         int lm=ArrayMinimum(l,i,c);
         Comment(hm+" "+lm);
         double max_high=h[hm],min_low=l[lm];
         //Comment(max_high+" "+min_low);
         if(fabs(max_high-min_low)>min_pips)
           {
            HighestBuffer[hm]=h[hm];
            LowestBuffer[lm]=l[lm];
           }
         c++;// if h-l<min pips => add next bar
         y--;// new i
        }
      i=y;//цикл for где-та тут и заканчивается, т.е. выполняется 1 раз, когда i=199.
     }
 

2台目のパソコンでMT5が動かないのです。OSやプロバイダを変えてみましたが、まるで悪縁でパソコンに端末が表示されないようです。

moby_dick:

MT5はデスクトップパソコンでは動くのですが、ノートパソコンでは動きません。MT5の最初のリリースから新しいデモ口座を開設したり、別のコンピュータで作成したデモ口座に接続したりすることができません...。どちらのパソコンもWindows XP Pro SP3で、インターネット接続も同じ、アンチウイルスとファイアウォールを無効にしてもダメです...。もしかしたら、インストールが必要な必須コンポーネントがあるのでは?

99.9%はノートパソコンと一緒なので...。


不運とは何か、その対処法とは?

上にも書きましたが(2010.01.11 14:03 投稿)、私のノートパソコンでは、MT5は最初から最後まで頑として動こうとしませんでした...。最近、ノートパソコンが壊れてしまい、マルチコアチップなどの新しいものを手に入れました。過去2年間やってきたようにVPSからではなく、ローカルでMT5を使えるようにしたいと思っていましたが、MT5をインストールすると、プロキシプロンプトが出て、どうにもなりません.........。MT5はインストールしなくても動くはずと思い出し、VPSからMT5のディレクトリをコピーして動かしてみたところ...。問題なく動作しているが、すぐに以前のようにクラッシュしてしまう...。なんだ、コブクロはブーツがないわけじゃないのに、地球の裏側にあるUPUからの写真にしかブーツが写ってないじゃないか...。何ができるのか?

 
moby_dick:

2台目のパソコンでMT5が動かないのですが、OSやプロバイダを変えてみましたが、まるで魔が差したかのように、パソコンに端末が表示されないのですが、誰に連絡すればいいか教えてください。

サービスデスクに要望を お書きください。詳細が必要ですが、解決できるように努力します。
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 

こんにちは!標準ライブラリ MovingAverages.mqhです。

//+------------------------------------------------------------------+
//| Simple Moving Average |
//+------------------------------------------------------------------+
double SimpleMA(const int position,const int period,const double &price[])
{
//---
double result=0.0;
//--- check position
if(position>=period && period>0)
{
//--- calculate value
for(int i=0;i<period;i++) result+=price[position-i];
result/=period;
}
//---
return(result);
}

SimpleMA関数は配列全体の平均値を取得できないことが判明!?100個の要素を持つprice[]配列があるとする。その平均値を求めたい。関数に渡しています。

SimpleMA(99, 100, 価格);

99<100なので、0になります。コード内でハイライトされている)ピリオドを(ピリオド-1)に修正することを妨げるものは何ですか?

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
開発者に質問です。新しいビルドの機能には、CHART_EVENT_MOUSE_MOVE イベントが含まれます。

CHART_EVENT_MOUSE_DOWN イベントと CHART_EVENT_MOUSE_UP イベントは導入されますか?

これがないと、本格的なドラッグ&ドロップができないのです。

 
Vigor:
開発者に質問です。新しいビルドの機能には、CHART_EVENT_MOUSE_MOVE イベントが含まれます。

CHART_EVENT_MOUSE_DOWN と CHART_EVENT_MOUSE_UP イベントは追加されますか?

それがなければ、ドラッグ&ドロップは本格的なソリューションとは言えません。

この要望を支持します。

ここで、関数GetCursorPos + GetKeyStateを使用する必要があります。
EVENT_MOUSE_MOVEの出現でGetCursorPosが不要になり、MOUSE_DOWNとMOUSE_UPでGetKeyStateも不要になります。

MQL5のプログラムでは、まずインタラクティブ性を高め、ユーザーのアクションに対する応答性を向上させます。第二に、DLLを使用しなくなるため、マーケットプレイスで販売できるようになることです。


サービスデスクにリクエストしてください(この投稿の表示で可能)。新しいビルドをリリースする頃には、きっと追加する時間があるはずです。実装は難しくありません。
特に、コントロールの標準ライブラリの 開発が進んでいるので、すでに開発者の関心事になっているのでしょう。

PS.

会社自体がコントロールのライブラリを作ろうと決めて、これらの機能を与えることが単純に必要だと気づいた(出会った)ことは、とてもうれしいことです。
今後も機能や使い勝手の向上が続くことを期待します。