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

 

こんにちは、標準のグラフィカルツールを 何らかの方法で変更することは可能でしょうか?具体的には、Fiboグリッドに垂直線を追加し、1.3のファクターでプロットします。

 

インジケーターの使用に関する質問です。テストコードを書きました。

int Fractals;
double bar_val[];
bool start;
int OnInit()
{
   Fractals = iFractals(_Symbol, _Period);
   if (Fractals == INVALID_HANDLE) return (1);
   if (!ArrayResize(bar_val, 2)) return (1);
   if (!ArraySetAsSeries(bar_val, true)) return (1);
   start = false;
   return(0);
}

void OnTick()
{
   if (start) return; else start = true;
   for (int i = 0; i < 10; i++)
   {
      CopyBuffer(Fractals, UPPER_LINE, i, 2, bar_val);
      if (EMPTY_VALUE != bar_val[0])
         Print("1. i = " + string(i) + ", bar_val = " + string(bar_val[0]));
      CopyBuffer(Fractals, LOWER_LINE, i, 2, bar_val);
      if (EMPTY_VALUE != bar_val[0])
         Print("2. i = " + string(i) + ", bar_val = " + string(bar_val[0]));
   }
}

i = 2 のフラクタルが周期的に表示されるが、画面上には存在しない(標準のインジケータ Fractals より)。

何が問題なのか、教えてください。

 
2001年から2006年の間は、なぜかエキスパートがテストされていない。ユーロとポンドを見てみた。端末を閉じ、履歴を削除。再度ダウンロードしました。すべて同じです。2001年まで取引可能です。そして2001年から2006年までは、信号があるときにスキップしています。なぜ?
 

ターミナルバーのタイムフレームボタンが動かなくなった。TFを頻繁に切り替えていると、一度にいくつも出てくることがあります。おそらく、大量のウィンドウ、インジケーター、テンプレートが原因でしょう...。しかし、以前は窓の数だけあったのですが、この効果は見られませんでした。スクリーンショットは、押されたタイムフレームボタンとチャートの左上に表示される実際の値との間に矛盾がある場合の例です。どちらかというと、すぐに取れてしまうのですが、長期的に効果があります。

全く押さないこともある。

 

mql5でウィンドウサイズを制御できますか?

 
ilunga:

インジケーターの使用に関する質問です。テストコードを書きました。

i = 2 のフラクタルが周期的に表示されるが、画面上には存在しない(標準のインジケータ Fractals より)。

エラーの内容を教えてください。

Expert Advisorのコードをどう扱えばいいのか、ひと目でわからないはずだ
 
tol64:
2001年から2006年にかけては、なぜか専門家がテストされない。ユーロとポンドを見てみた。端末を閉じ、履歴を削除。再度ダウンロードしました。すべて同じです。2001年まで取引可能です。そして2001年から2006年までは、信号があるときにスキップしています。なぜ?
追加情報です。テスターの設定でD1 タイムフレームを選択した場合のみ発生します。Expert Advisorの 設定でタイムフレームD 1を選択し、テスターの設定でTFを小さくすれば、スキップは発生しないのでは?これはバグなのでしょうか、それとも何か説明があるのでしょうか?
 

簡単なインジケータを作ったのですが、なぜか動きません;(

//+------------------------------------------------------------------+
//|                                                      testind.mq5 |
//|                        Copyright 2011, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_plots   1
//--- plot Vol
#property indicator_label1  "UniPrice"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrLightSlateGray
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
#include <MovingAverages.mqh>
//--- input parameters
input int      Smooth=50;
//--- indicator buffers
double         SmoothSpreadBuffer[];
double         SpreadBuffer[];
double         UniPriceBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,UniPriceBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,SpreadBuffer,INDICATOR_CALCULATIONS);
   SetIndexBuffer(2,SmoothSpreadBuffer,INDICATOR_CALCULATIONS);
   
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   int i;
   for(i=1;i<rates_total;i++)
     {
      SpreadBuffer[i]=(high[i]-low[i]);
     }  
     
   SmoothedMAOnBuffer(rates_total,prev_calculated,
                         1,  // с какого индекса есть значения в массиве для сглаживания 
                         Smooth,  // период экспроненциальной средней
                         SpreadBuffer,       // буфер для взятия средней
                         SmoothSpreadBuffer);  // в этот буфер помещаем значения средней      
   for(i=1;i<rates_total;i++)
     {
      UniPriceBuffer[i]=close[i]/SmoothSpreadBuffer[i];//не показывает
      //UniPriceBuffer[i]=close[i]/SmoothSpreadBuffer[rates_total-1];//показывает
      //UniPriceBuffer[i]=close[i];//показывает
      //UniPriceBuffer[i]=SmoothSpreadBuffer[i];//показывает
     }  
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

なぜ、一方を他方で割って結果を表示しようとしないのでしょうか?

時々結果が出るのですが、例えばEURUSDは 時計で300~400以内の値であるべきで、現実に対応していません...。

 
Olegts:

簡単なインジケータを作ったのですが、なぜか動きません;(

close[i]を代入するとSmoothSpreadBuffer[i]になり、一方を他方で割って結果を表示しようとしないのはなぜでしょうか。

確かに、結果は出るのですが、現実に即していないことがあります。例えば、EURUSDの時計は300~400の範囲の値であるべきですが...。

UniPriceBuffer[i]=close[i]/SmoothSpreadBuffer[i];

ここにEURUSDの値を現在の時刻に置き換えるだけでOKです。

例えば終値で 16の平均を持つマ

UniPriceBuffer[i] = 1,33846 / 1.33932 = 0,99935

を使った方が良い。

handle=iMA(name,period,ma_period,ma_shift,ma_method,applied_price);
и т.д
 

最後のビルドの後、ターミナルがロード中にハングアップしてしまいます。メニューやコンテキストメニューにアクセスすることはできません。メニューやコンテキストメニューに アクセスできない。WIn7です。シンボル一覧ウィンドウは空です。接続アイコンが赤色になります。CPUに負荷をかけない。どうすればいいのか、安定性はいつ得られるのか。

Описание:
  Ошибка привела к остановке взаимодействия программы с Windows.

Сигнатура проблемы:
  Имя события проблемы:    AppHangB1
  Имя приложения:    terminal.exe
  Версия приложения:    5.0.0.514
  Отметка времени приложения:    00343800
  Сигнатура зависания:    86b5
  Тип зависания:    1
  Версия ОС:    6.1.7601.2.1.0.256.1
  Код языка:    1049
  Доп. сигнатура зависания 1:    86b56845a796dcc49c1ed94bca152915
  Доп. сигнатура зависания 2:    4dea
  Доп. сигнатура зависания 3:    4dea45bbcdd37e9fd7bef8af1f8c0d94
  Доп. сигнатура зависания 4:    1df5
  Доп. сигнатура зависания 5:    1df5990b738955081f33bb6a466caece
  Доп. сигнатура зависания 6:    b4e6
  Доп. сигнатура зависания 7:    b4e6e85bfba9e3852328760498392cb4