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

 

皆さんこんにちは!この質問は、「なぜENUM_TIMEFRAMESの 列挙メンバーにこれらの特定の値が割り当てられているのか」という好奇心からなのです。M30からH1へ行くときの16385という 数字はどこから来たのか?"

enum ENUM_TIMEFRAMES       
{                          
PERIOD_CURRENT = 0,        
PERIOD_M1 = 1,             
PERIOD_M2 = 2,             
PERIOD_M3 = 3,             
PERIOD_M4 = 4,             
PERIOD_M5 = 5,             
PERIOD_M6 = 6,             
PERIOD_M10 = 10,           
PERIOD_M12 = 12,           
PERIOD_M15 = 15,           
PERIOD_M20 = 20,           
PERIOD_M30 = 30,           
PERIOD_H1 = 16385,  //???       
PERIOD_H2 = 16386,         
PERIOD_H3 = 16387,         
PERIOD_H4 = 16388,         
PERIOD_H6 = 16390,         
PERIOD_H8 = 16392,         
PERIOD_H12 = 16396,        
PERIOD_D1 = 16408,         
PERIOD_W1 = 32769,         
PERIOD_MN1 = 49153         
}; 

回答よろしくお願いします!!!

 
MigVRN:

皆さんこんにちは!この質問は、「なぜENUM_TIMEFRAMESの 列挙メンバーにこれらの特定の値が割り当てられているのか」という好奇心からなのです。M30からH1へ行くときの16385という 数字はどこから来たのか?"

回答よろしくお願いします!!!


PERIOD_H1 = 16385,  // = (1 << 14) + 1
PERIOD_H2 = 16386,  // = (1 << 14) + 2         
PERIOD_H3 = 16387,  // = (1 << 14) + 3
PERIOD_H4 = 16388,  // = (1 << 14) + 4
PERIOD_H6 = 16390,  // = (1 << 14) + 6
PERIOD_H8 = 16392,  // = (1 << 14) + 8
PERIOD_H12 = 16396, // = (1 << 14) + 12
 
MetaDriver:

ありがとうございました。でも、今さらに混乱しているので、質問の仕方を間違えてしまいました...。もしよろしければ、もう少し明確な質問をお願いします。

1)なぜ?

2)また、なぜ14なのか?

:)

 
MigVRN:

ありがとうございました。でも、今さらに混乱しているので、質問の仕方を間違えてしまいました...。もしよろしければ、もう少し明確な質問をお願いします。

1)なぜ?

2)また、なぜ14なのか?

:)

:) そして、これは開発者次第です......彼らのやり方は不可解ですから............。;)
 

バーの検索にエラーがあるようです。 じきにCopyClose 関数で発見しました(他の関数でも)。

この関数で"外国の "シンボルの1つのバーを コピーすると、そのバーが 隣の開いているウィンドウに 存在するにもかかわらず、コピーエラーが発生します。

2014.01.05 14:52:00.556 tmp (,D1) USDCAD ooo 2012.12.12 00:00:00
2014.01.05 14:51:57.214 tmp (,D1) 80.55313933496228
2014.01.05 14:51:50.947 tmp (,D1) USDCAD ooo 2013.03.04 00:00:00
2014.01.05 14:51:44.828 tmp (,D1) USDCHF ooo 2011.12.26 11:00:00
2014.01.05 14:51:37.896 tmp (,D1) USDCAD ooo 2011.03.02 12:00:00
2014.01.05 14:51:30.112 tmp (,D1) USDSEK ooo 2013.09.20 22:00:00

スクリプトでは、「奇跡的に」見つかるまで問い合わせることができるので理解できるのですが、インジケータでは受け入れられません。

ちなみに、内蔵関数ではインジケータに使えないので、自分で関数を書いていたことを思い出しました

//--------------------------------------------------------------------------+
//=   Ищет  индекс массива MqlRates по времени
//=   Протестировано 28,12,2011
//=   для прохода по 4 000 800      баров Скопировано USDJPY
//=   ошибок = 0 GetTickCount 2 200 мс.
//=   ВОЗВРАТИТ -1 в случае ошибки + сообщение Алерт
//--------------------------------------------------------------------------+
int save_indexs=0;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int FindIndex(datetime find,MqlRates &xxxxxx[])
  {
   int size_mql=ArraySize(xxxxxx);
//проверим находится ли время в массиве, и есть ли где искать
   if(size_mql<=0){Alert("ggg");return(-1);}
   if(find>xxxxxx[0].time)return(0);
   if(find<=xxxxxx[size_mql-1].time)return(size_mql-1);
//а может лежит рядом?
//проверим по скорости с глоб. перем.
   for(int i=save_indexs+1;i>=save_indexs-1 && i>=0;i--)
      if(i<size_mql)
         if(find==xxxxxx[i].time)
            return(i);
//результат с применением  ошибок = 0 GetTickCount   843 мс.
//результат без применения ошибок = 0 GetTickCount 3 744 мс.
//начнемс
   int kolvo=size_mql,
   start_save=size_mql-1,
   end_save=0;
   while(!IsStopped())
     {
      //градация поиска +1 для плавающей запятой, учесть все не ошибиться, дойдет до - минусов
      int grad=kolvo/StringLen(IntegerToString(kolvo))+1;
      if(grad<10)grad=1;
      //
      for(int start=start_save,karetka=start-grad;          start>=end_save;          start=karetka,karetka=start-grad)
        {
         //karetka может выходить за размер масс
         if(karetka<0)karetka=0;
         if(find>=xxxxxx[start].time && find<=xxxxxx[karetka].time)
           {
            kolvo=start-karetka+1;
            start_save=start;
            end_save=karetka;
            if(start==karetka+1){save_indexs=karetka;return(karetka);}
            break;//for
           }
        }
     }
   return(-1);
  }
//+------------------------------------------------------------------+

2年も経つのにまだ あるなんて、変な 感じ。

ファイル:
tmp.mq5  3 kb
myusdx.mq5  5 kb
 
フォーラム内の埋め込みリンクでカンマが反転すると、リンク全体が消滅する
 
costy_:

バーの検索にエラーが発生したようです。 何時か をCopyClose関数(他の関数も含む)で使用します。

....

2年も経つのに、まだ残って いるなんて、不思議 ですね。

バグじゃないバグだ

CopyXXX-iは対応するバッファからデータを取得し、バッファにデータがない場合(エイリアンシンボルと/またはタイムフレームが現在のものと異なる)、エラーが発生します。しかし、この場合、バッファの形成プロセスが開始され、しばらくしてからCopyXXXを再び呼び出すと、その結果が得られるかもしれません。指標でSleepが 使えないのは、次のティックでカウントできないから、タイマーを使うしかない(出力と非流動性金融商品のせいです)

 

ウェブサイトから保管庫にアクセスできない。ユーザー名とパスワードを入力しても、ログインとパスワードのボックスが再びポップアップ表示される。

また、MetaEditor経由では何も取得できません。

ログインとパスワードが正しい

その理由を教えてください。

 
sanyooooook:

ウェブサイトから保管庫にアクセスできない。ユーザー名とパスワードを入力しても、またログインとパスワードのボックスが表示される。

また、MetaEditor経由では何も取得できません。

ログインとパスワードが正しい

その理由を教えてください。

パスワードを変更したのでしょうか、そのようなバグがありました。
 
zfs:
パスワードを変更した、バグがあったのかもしれません。
はい、そうです。でも、有効なパスワードを入力しています。