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

 
x100intraday:

その逆もまた然りである。パーソナルビジュアルコントロールでは、最初の起動時にすべての履歴がダウンロードされ、ダウンロード終了時にHome キーでM 1の1994年の始まりに移動してチェックされます。そして、よく使うタイムフレームや多次元インジケータに関連するタイムフレームを手動でバイパスし、その形成を待ってターミナルを再読み込み します。それだけです。

私が理解している限り、すべてのTFはM1からその場で作られます。つまり、端末を再起動することで、それまでの描画をすべて「忘れ」、再度端末を起動したときにその計算のための時間が必要になるのです。

このスクリプトで 行われているように、すべての必要な履歴(使用されるすべてのシンボルとTF)のダウンロードをあなたのインジケータに挿入するすべての計算の前に試してみてください。

   for(int s=0; s<SymbolsCount; s++)
     {
      for(int p=0; p<PeriodsCount; p++)
        {
          if(!CheckLoadHistory(SymbolsName[s],StringToPeriod(PeriodsName[p]),BarsCount)) return;
         }
     }
sHistoryExport - удобный скрипт для экспорта исторических данных в формате МetaТrader 4
sHistoryExport - удобный скрипт для экспорта исторических данных в формате МetaТrader 4
  • 投票: 14
  • 2012.11.12
  • Andrey Khatimlianskii
  • www.mql5.com
Экспорт всех необходимых инструментов и тайм-фреймов одним кликом с загрузкой и проверкой истории.
 
komposter:

私が理解している限り、すべてのTFはM1からその場で作られます。つまり、端末を再起動すると、それまでの図面をすべて「忘れて」しまい、新たに起動すると、端末が図面を再計算する時間が必要になってしまうのです。

このスクリプトで 行われているように、すべての計算の前に、必要なすべての履歴をインジケータにロードしてみてください(すべてのシンボルと使用されるTFのために)。

私は、どちらかというと、このディレクトリを参考にしています。

C:\Program FilesMetaTrader 5 Bases ↪MetaQuotes-Demo゙history゙NZDUSDcache,

コンストラクション」というのが、M1以外のタイムフレームの作成を意味するならば。しかし、我々はまだ端末の最初の打ち上げでそれらを見ることはありませんし、端末が手動だけでなく、完全に動作するようになるにもかかわらず、それらの形成とさらなる作業の可能性のために非M1の時間枠をバイパスします。しかし、ターミナルをアンロードした後、さらに実行すると、以前に生成されたタイムフレームを同じディレクトリで簡単に見ることができるようになります。しかし、荷下ろしとともに蒸発するわけではなく、残っていて、その後の走行で追加されるようなので、ターミナルが要求した時間枠を完全に再計算する時間は必要ないと思われます。

しかし、インジケーターに関しては、必要な深さまですべてその場で再計算されるため、以前の計算結果をわざわざ保存する必要はないと判断しました(そういう考えもあったのですが)。

あなたのコードは、私が見るところ、ローカルの履歴をサーバーのものと事前に同期させることに他ならないのでは?もしそうなら、私は長い間それを計画していましたが、まだ私のコードにそのような単純なブロックを追加することができませんでした。

 
komposter さん、初回起動時(必要な履歴をダウンロードし、オプションをチューニングした後)には端末が完全に機能するようになっているとわざわざ書いておきながら、個人的には念には念を入れて、2回目の起動から初めて安定した端末動作を報告しています(この不確かさがあるからです)。M1以外のタイムフレームがディスクに確実に保存され、RAMのどこかにハングアップして、メモリ不足のときにOSを犠牲にして厄介で重いスワップを開始し、それが破損する可能性がないこと)。そのため、理論上はMT5の2回目の起動からインジケーターが故障することはないはずです。しかし、なぜか10本目だけ止まり、他の9本のMT5は何も変わらず、すべてが単調になってしまったのです。
 
x100intraday:

あなたのコードは、私が理解するところでは、ローカルの履歴をサーバーの履歴と事前に同期させることに他ならないのですね。もしそうなら、私は長い間それを計画してきたが、まだ私のコードにそのような単純なブロックを追加する時間がない。

サーバーとの同期だけでなく、すべてのTFを構築。

ライブラリをダウンロードし、あなたのインジケータに3行のコードを挿入して、結果をご覧ください。

 

可視バーが少なくとも30本あるのに、インジケータをテストするとChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0)関数がゼロを返すのは理解できない。

(ChartGetInteger(0,CHART_VISIBLE_BARS,0)で確認済み)

通常のチャートでは問題なく、一方が他方と1だけ異なるのですが、テストをすると、このように無意味なことが起こります......。

どうすればいいのでしょうか?

 
Поясните, почему в данном простом индикаторе с двумя массивами - второй  имеет нулевой размер??

{Код удалил после ответа на вопрос чтобы не занимал место}



 
dimonsky: 2つの配列を持つこのシンプルなインジケータで、2番目のサイズがゼロである理由を説明してください。
#property indicator_plots 2
 
avoitenko:
ありがとうございます!!!
 
ここでセカンドアカウントを使用することはできますか?確かに、クレジットを積み上げることが目的ではありません。
 
Zeleniy:

ここでセカンドアカウントを使用することはできますか?もちろん、単位を積み上げることが目的ではありません。
自然な疑問です。なぜ?))