バーの欠落のないチャートを見たかった人 - ここ =) - ページ 8

 
komposter さん、ターミナルとの戦いで次のような提案があります。
WS_EURUSDm1440.hstの属性を読み取り専用にすると、端末起動時に端末もログに宣誓しますが、ファイルは変更できません!ファイルは、端末の電源を切る前と同じように、チャート上に正常に表示されます。
そこで、WS_EURUSDm1440の属性を変更できる外部DLLを 作ったらどうかと考えています。hstファイルの読み出し/書き込みは?つまり、Expert Advisorがヒストリにバーを追加する必要がある場合、DLLを呼び出してヒストリファイルの属性を書き込み用に設定し、Expert Advisorがバーを書き込んだ後、再びDLLを呼び出して、ヒストリファイルの属性を読み込み専用に設定するのです。もちろん、この場合、100%の保証はできないことは理解していますが、95%の場合、端末による履歴バーを壊すことなく、端末のオフ/オンを行うことができると思います。月に2回以上停電することはないので、それでいいのではと思います。
 
solandr писал (а):
komposter さん、端末対策として次のような提案があります。
いや、これはかなり悲しい...。
実は、端末がファイルを上書きしている理由は もうわかっているんです。
ただ、どういう権利で 端末が私のオフラインの チャートに触れているのかが分からないのですが...。

OK、正常な時系列にエラーがあるのなら、更新しなければならないですねー。でも、これは私の ファイルです。好きなものを書いています。

とにかく、気にしないでください...。
今日中にEAの実用版を作ってみます。
 
何が一番悲しいかわかる?=)
私がテストしていた話には、23:00という時刻のバーが3つありました。他のは全部00:00で、この3つは、ちくしょう...。

すべてにおいて、履歴の間違い(ちなみに、23:00MTから始まる日記を持つ私の「間違った」ファイルは修正されますが、正直な履歴は修正されません =))) 。

とにかく、この対決は無駄にはならず、小さな虫を掘り起こすことができました)
solandr さん、新しいバージョンで試してみてください。

バグが残っている場合は、履歴を確認する。

そして、まだ残っていたら教えてください、さらに掘り下げます ;)
ファイル:
 
komposter писал (а):
一般的には、履歴の誤り(ちなみに、23:00 MTから始まる日記を含む私の「間違った」ファイルは修正されますが、正直な履歴は修正されません =)) です。)

とにかく、この対決は無駄にはならず、小さな虫を掘り起こすことができました)
solandr さん、新しいバージョンで試してみてください。

不具合が解消されない場合は、履歴を確認する。

そして、まだ残っていたら教えてください、さらに掘り下げます ;)


残念ながらプリンの変更はありません:o(また、Digits=0でログと同じチャートで誓います。
2006 11/11/02 11:45:16 HistoryBase: 'WS_NZDUSDm1440' で 42 個のエラー。
2006.11.02 11:45:16 HistoryBase: 'WS_EURJPYm1440' で 271 個のエラー。
2006.11.02 11:45:16 HistoryBase: 'WS_EURCHFm1440' で 271 個のエラーが発生しました。
2006.11.02 11:45:16 HistoryBase: 'WS_AUDUSDm1440' で 272 個のエラー。
2006.11.02 11:45:16 HistoryBase: 'WS_EURGBPm1440' で 271 個のエラーが発生しました。
2006.11.02 11:45:16 HistoryBase: 'WS_USDJPYm1440' で272件のエラー。
2006.11.02 11:45:16 HistoryBase: 'WS_USDCADm1440' で 272 のエラー。
2006.11.02 11:45:16 HistoryBase: 'WS_GBPUSDm1440' で272件のエラー。
2006.11.02 11:45:16 HistoryBase: 'WS_CHFJPYm1440' で78件のエラー。
2006.11.02 11:45:16 HistoryBase: 'WS_USDCHFm1440' で272件のエラー。
2006.11.02 11:45:16 HistoryBase: 'WS_EURUSDm1440' で272件のエラー。

一度に複数のオフラインチャートを開くと、より早くエラーを確認することができますのでお試しください。

履歴はどのように確認するのですか?これは、ホームキー長押しで素直に端末が勝手にポンピングしてくれる履歴です。何も取り込んでいないもしかしたら、ご覧になって何かおっしゃるかもしれませんね。履歴ファイルを添付します。

追記:もちろん、ブローカーのサーバーに保存されている履歴には、チャート上の大きな「スパイク」や数日間の相場のギャップなど、何らかのエラーがあることは想定できるのですが、次のような疑問が生じました。 ターミナルがログにエラーを書き込んでいるにもかかわらず、作業時にエラーを表示せず、簡単な変換で履歴を修正し、修正した履歴のチャートが正しく表示されることを確認してからONLYでエラーを返しているのはなぜですか?このExpert Advisorで端末をフレンドリーにする可能性について、開発者はどのように語っているのでしょうか。
ファイル:
history.zip  681 kb
 
solandr:
残念ながら、プリンの変更はありません :o(過去ログやDigits=0の同チャートでも叱られています。一度に複数のオフラインチャートを開いてみると、より早くエラーを確認することができます。 。

OK、今日も戦いを続けるぞ ;)

履歴を確認するにはどうすればよいですか?これは、ホームキー長押しで端末が素直にダウンロードした履歴です。何も取り込んで いない見てみて、何か言ってくれるかもしれませんよ?履歴ファイルを添付します。

私も「フェア」な話をしました。D1小節はすべて00:00から、3小節は23:00から始まります。
MTは、これに対して何の反応も示さなかった。
しかし、正直者と同じ オフラインのチャートでは、MTはそれを拒否する。

I.e. わざとコードからすべての変換を削除して、履歴だけをコピー しようとしたのですが、MTはエラーと表示します...。
 
solandr:
残念ながら、プリンの変更は行われていません :o(また、過去ログやDigits=0での同じグラフでも悪態をついています。
試してみてください ;)
ファイル:
 
komposter писал (а):
お試しください ;)

素晴らしい現在は、ターミナルを再起動してもエラーは表示されず、チャートも正常に開くようです。秘密でないなら、どうやって端末を倒したんだ?

しかし、残念なことに1つだけ嫌なことが残ってしまった。Expert Advisorは、別途開いたチャート上では動作しません :o((.
例えば、このEAでは何も表示されません。
//+------------------------------------------------------------------+
//|                                                          bid.mq4 |
//|                      Copyright © 2006, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net//"
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Print("Bid=",Bid);
//----
   return(0);
  }
//+------------------------------------------------------------------+
エキスパート・アドバイザーの起動を、自律的に開いたチャート上で刺激することは可能ですか? 自律的に開いたチャート上では、インジケータやスクリプトは正常に動作するようですが。
しかし、徹底的にチェックする必要がありますね。インジケータが正常に動作する場合、Expert Advisorは2つの構成要素に分けることができます。一つはスタンドアローンチャート上のインジケータ、もう一つはExpert Advisorで注文を管理し、インジケータからターミナルのグローバル変数を通じてデータを受け取ります。 しかし、何が簡単かわかりません。サンデーバーを計算で考慮せずにEAで考慮するか、実際のEAを2つに分けた方が良いでしょうか?EAが自律的に開いたチャートで動作しない場合に備えて、EAが動作しなければならないようなものではなく、意図したとおりの人間らしいものであってほしいのです。
 
solandr:
素晴らしい現在では、ターミナルにエラーが表示されることはないようで、ターミナルの電源を入れ直すと、チャートが正しく開くようになりました。秘密でなければ、どのようにして端末に打ち勝ったのでしょうか。

しかし、残念なことに1つだけ嫌なことが残ってしまった。エキスパートが自律的に開いたチャートで動作しない :o((.
シークレット =)

それにEAはオフラインのチャートでは全く機能しない。
つまり、start()関数が動作しないのです。

解決策は、すべてのコードをループに入れることです。
int init()
{
   start();
}
int start()
{
   while (!IsStopped())
   {
      //код эксперта
      Sleep(10);
   }
}
 
komposter писал (а):

解決策は、すべてのコードをループに入れることです。


原理的には、スクリプトが正常に実行されるため、この解決策は非常に論理的です。
しかし、なぜオフラインのチャートでEAを動作させることができなかったのか、その理由はまだ不明です。開発者の公式情報として、「何らかの特別な理由でこうなった」「今後も見直すつもりはない」というリンクはないのでしょうか?ちゃんと調べていなかったのでしょうか?


ありがとうございました。

 
solandr:

しかし、なぜEAをオフラインのチャートで動作させることができないのか、その理由はまだ明確ではありません。何か特別な理由でこのようにしたのであって、その立場を見直すつもりはない、という開発者の公式情報のリンクを教えてください。ちゃんと探していなかったのでしょうか?

探してみたが、失敗した。
しかし、その情報は確かなものでした )