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

 
Alexey Navoykov:

ソースからハッシュを計算するというアドバイスがありましたが、そのためにはプログラムが使っているソース(includeniki)をすべて知る必要があります。 つまり、コードを一生懸命解析する必要があります。 それらは必ずしも明示的に指定する必要はなく(#include <file.mqh> )、マクロとして指定することができます。

まあ、マクロに依存しているものは、結果を変えるにはマクロ、つまりソースを変えなければならないのですが。記事の 中でinclude-umsに依存しているすべてのものを読み上げました。ちなみにそこでは、コメントは取り除かれ、素のコードが残ります。

#property script_show_inputs

input string SourceFile = "filename.txt";
input string IncludesFolder = "";
input bool LoadIncludes = false;

void OnStart()
{
  Preprocessor loader(SourceFile, IncludesFolder, LoadIncludes);
  
  if(!loader.run())
  {
    Print("Loader failed");
    return;
  }

  // output entire data as it is assembled from one or many files
  int handle = FileOpen("dump.txt", FILE_WRITE | FILE_TXT | FILE_ANSI, 0, CP_UTF8);
  FileWriteString(handle, loader.text().get());
  FileClose(handle);
}
でも、手動でやるより、エディタ自体に全部入っている方が便利なのは同意です。
 
Stanislav Korotky:

まあ、マクロに依存しているものは、結果を変えるためにはマクロ、つまりソースコードを変えなければならないのですが。記事 中のinclude-umsですべての依存関係を与えました。ちなみにそこでは、コメントは取り除かれているので、素のコードが残っています。

ありがとうございます、私でも気づきませんでした。 確かにそこにマクロでつまずくと書いてありましたね。 しかし、よく確認してみます。

このプロジェクトの開発は、特に言語内部の改善という点でまだ大きな可能性を秘めています。なぜなら、MQLではまだ多くのことが実装されておらず、多くのことがうまく機能せず(バグ)、開発者は私の知る限り、言語自体の何かを改善する予定はないのです。

 
CCanvas クラスでは、FontGet、TextWidth、TextHeight、TextSize メソッドは、クラスに変更を加えるものではありませんが、何らかの理由で非定数として宣言されています。彼らは純粋にデータを得るために働いているのです。
 

よくわからないのですが、グラフィック要素「ボタン」にEnabled=falseのようなプロパティを設定して、ボタンを押せなくすることはできないのでしょうか?

つまり、ユーザーが最初にボタンを押すと、何らかの処理が始まり、それ以上押しても反応せず、ボタンが押されたままの状態になることです。 このようなことは可能でしょうか?

p.s. 見つけました。オブジェクトの優先順位をマイナスに設定する。
 

このリストからデータ(テキスト)を取り出すにはどうしたらいいのでしょうか?

 
fxsaber:

このリストからデータ(テキスト)を取得する方法を教えてください。

https://www.mql5.com/ru/docs/convert/enumtostring

Документация по MQL5: Преобразование данных / EnumToString
Документация по MQL5: Преобразование данных / EnumToString
  • www.mql5.com
//| Script program start function                                    |
 

ツールチップから全てのenumのリストが必要です。

いくつかの ウィンドウズ・プログラムを試した。フォーカスが外れるとリストが消えてしまうので、うまくいきません。
Программы для работы с окнами приложений | Темная сторона Силы | Blog. Just Blog
  • ManHunter / PCL
  • www.manhunter.ru
В процессе разработки программ, а также их исследования, очень часто приходится работать с окнами приложений на уровне системы. То есть просматривать или менять стили окон, передавать или отслеживать сообщения и уведомления, обрабатывать другие параметры окон. У меня накопилась небольшая подборка программ, значительно облегчающих выполнение...
 

OnTradeTransaction() で助けてください。以下のような動作は正常ですか?テスターで確認したところ、そうでした :( また、"ライブ "アカウントでは?

OnTick()には、ポジションを順番にクローズしていくループがあります。

OnTradeTrancaction()では、未決済ポジションの数を計算します。

Expert Advisor ではこのように、まずループを最後まで閉じてから、OnTradeTransaction に進み、同じ順序で計算を行います。

言い換えれば、それは

закрытие тикета #1 -> подсчёт с учетом закрытия тикета #1 -> закрытие тикета #2 -> подсчёт с учетом закрытия тикета #2 -> ...

а

закрытие тикета #1 -> закрытие тикета #2 -> ... -> подсчёт с учетом закрытия тикета #1 -> подсчёт с учетом закрытия тикета #2 -> ...

つまり、並列ではなく逐次的に動作するのです。

上記が正常であれば、OnTradeTransaction()は、1つの注文のみをオープン/クローズするExpert Advisorでのみ安全に使用できることが判明しました。グリッドまたはマルチシンボル・グリッドがある場合(またはマルチシンボル・グリッドがある場合:)。- は、アルゴリズムが破綻してしまいます。

 
Igor Zakharov:

OnTradeTransaction() で助けてください。以下のような動作は正常ですか?テスターで確認したところ、そうでした :( また、"ライブ "アカウントでは?

デモ口座やテスター口座よりも、リアル口座の方がすべてが複雑なのです。

OnTradeTransaction-conceptの考え方は稚拙だが、「作り方を知らないだけ」という意見は常に聞かれる。


取引データなしで書き込むか、OnTradeTransactionの入力を待たずにプログラム内の任意の場所で外部から取得する。

非同期はマルチシンボルグリッドに適している。したがって、私なら2番目の選択肢を選びます。
 
テスターが置かれているのは、terminal64.exeかmetatester64.exeか?どのファイルを変更すればバグから 解放されるかを考える必要がある。