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

 

こんにちは。

どうすればいいのか、教えてください.

Instead of C:\Program filesMT 5 ・・・・・・。everythinggoes in C:\UsersIam﹑AppData﹑Roaming﹑MetaQuotes﹑Terminal﹑...

MT 5のアンインストールとインストールを何度か繰り返したが、結果は同じだった。すべてWindows 8をインストールした後に起こったことです。

E.Kovalevさん、ありがとうございます。

 
erkov:

こんにちは。

どうすればいいのか、教えてください.

Instead of C:\Program filesMT 5 ・・・・・・。everythinggoes in C:\UsersIam﹑AppData﹑Roaming﹑MetaQuotes﹑Terminal﹑...

MT 5のアンインストールとインストールを何度か繰り返したが、結果は同じだった。すべてWindows 8をインストールした後に起こったことです。

敬具 E. Kovalev

デスクトップ7にも同じものがあり、Expert AdvisorやInductionなどが全てインストールされています。

どうやら「デフォルトで」そうなっているようです。

また、フォルダにアクセスするのが不便です。

 
アクセス違反 0x000000001535C1D8 への書き込み


このスクリプトは、同じインジケータをループで呼び出し、パラメータだけを変えて、約300回呼び出した後に、このようなメッセージが表示されます。

をループの最初に作成します。

指示薬を呼ぶ

各サイクル終了時にIndicatorRelease(...)を置く。

インジケーターを取り外すために、何か別のものが必要なのかもしれない

 
vgeny:

私の7にも同じものがあり、すべてのEA、誘導などがそこに配置されている

これが「デフォルト」でなければならない。

あと、どうやって変更するんだろう?フォルダにたどり着くまでが不便なんだけど...。

MetaTrader 5 HelpStart Menu →Run Terminal というターミナルに組み込まれたヘルプをご覧ください。

ゲストモード

クライアント端末起動のゲストモードの特徴は、その編集可能なファイルを変更不可能なファイルと分けて配置することである。システムフォルダ(OSフォルダ、Program Files)に端末をインストールし、ユーザーの書き込み権限を制限している場合に使用するモードです。

また、次のような場合にもゲストモードが有効になります。

  • UAC(ユーザーアカウント制御)が有効な場合。
  • リモートでコンピューターに接続する場合(Remote Desktop Protocol、RDP)。

上記の状況では、使用するオペレーティングシステムに応じて、変更可能なすべての端末ファイルは、以下のディレクトリに格納されます。

Microsoft Windows XP。

  • C:\Documents and Settings/Application Data/MetaQuotes/Terminal

Microsoft Windows Vista以降。

  • C:\UsersusernameApplication Data ###Roaming ###MetaQuotes ###Terminal ###instance_id

ここで、「C」はOSがインストールされている論理ドライブの文字、「username」は端末がインストールされているOSのアカウント名、「instance_id」は端末がインストールされているディレクトリへのパスに基づいて生成される一意の識別子である。

これらのフォルダに素早くアクセスするために、ターミナルには「File」 メニューにある「データディレクトリを開く Open data directory」という特別なコマンドが用意されています。

  • ゲストモードでは、各Windowsアカウントは、変更された端末ファイルを保存するための異なるディレクトリを持つことになります。
  • ターミナルを強制的にメインモードで起動するには、コマンドラインから/portable スイッチを付けて起動します。
  • クライアント端末のファイル構成とその用途の詳細については、該当するセクションに 記載されています。

セキュリティ上の問題を回避したい場合は、/Program Files/ フォルダにターミナルをインストールしないでください。

記事も合わせてお読みくださいMQL5へのクイックダイブ


 
vgeny: 印刷前

k2 = NormalizeDouble(k2, 2);

ログブックには次のように書かれている。

0.07000000000000001

で、係数が0.07の時のみ

タイプ k2 double k2;

なんだろう

どうやら、この数字が正規化された後の姿らしい。NormalizeDouble()関数を 説明するノートのリファレンスをご覧ください 次の行は何を表示するのでしょうか?

Print("DoubleToString(a,8)=",DoubleToString(a,8)); // выведем с заданной точностью

Документация по MQL5: Преобразование данных / NormalizeDouble
Документация по MQL5: Преобразование данных / NormalizeDouble
  • www.mql5.com
Преобразование данных / NormalizeDouble - Документация по MQL5
 
vgeny: アクセス違反 0x000000001535C1D8 への書き込み

このスクリプトは、同じインジケータをループで呼び出し、パラメータだけを変えて、約300回呼び出した後に、このようなメッセージが表示されます。

ループの最初にハンドルを形成し、インジケータを呼び出し、各ループの終わりにIndicatorRelease(...)を置く。

インジケーターを取り外すために、何か別のものが必要なのかもしれない

ループの中でインジケータを連続的に呼び出す? 非常に難しい方法ですね。ここでは、冒頭を見つけ、慎重に全体のトピックを読んで:実際には、99%のケースでIndicatorReleaseの呼び出しは、プログラマの論理的なエラーです
 
vgeny:

ループ線になぜこのような現象が起こるのか、ご教示ください。

for(k2 = 0.01; k2 < 0.1; k2 += 0.01)

k2係数をプリントに送ります

Print(k2);

印刷前

k2 = NormalizeDouble(k2, 2)とする。

ジャーナルではこのように表示されます。

0.07000000000000001

で、係数が0.07の時のみ

タイプ k2 double k2;

なんだろう

この問題は、すでに何度も議論されてきました。

こちらで お読みください。

 
Yedelkin:
ループでインジケータを呼び続ける? それはとても難しい方法ですね。ここでは、先頭を見つけ、慎重に全体のトピックを読んでください:実際には、99%のケースで、IndicatorReleaseの呼び出しは、プログラマの論理的なエラー です。

OK 900ページ))

インジケーターラインを検査する別の方法を教えてください。10000種類のインジケーターパラメーターのバリエーション、それぞれの結果をスプレッドなどを検査し、結果を保存し、次のパラメーターを取るなど。

例えば、MA、10000期間を考慮した場合、どのようにこれを実装するのでしょうか?

 
alexvd:

この問題は、すでに何度も議論されてきた。

こちらで お読みください。

OK、ご理解ありがとうございます))))))))
 

vgeny:

イェデルキン
ループの中でインジケータを連続的に呼び出す? それはとてもハードな方法ですね。ここでは、先頭を見つけ、全体のトピックを注意深く読んでください:実際には、99%のケースで、IndicatorReleaseの呼び出しは、プログラマの論理的なエラー です。

OK 900ページ))

いいえ、900ページではありません。IndicatorRelease()の非効率的な使用に関するトピックは、このリンクの近辺では10ページ以上になりそうもないですね。だから、「初心に帰れ」とアドバイスしたのです。そのために総合ブランチの「エラー、バグ、質問」を読み直す必要はありません。

vgeny : インジケーターを調べる別の方法をアドバイスしますと、各パラメーターの結果を調べ、その結果を保存して次のパラメータを取る、というようにします。

つまり、分析に1万個のインジケータ(1つのインジケータを異なるパラメータで1万バージョン)が必要なのですか?この質問に対する答えはすでに出ていると思います。キーワードIndicatorReleaseでフォーラムのスレッドを検索してみてください。

vgeny :例えば、MA、10000周期を考えている場合、どのように実装するのでしょうか?

これだけ膨大な数のピリオド・パラメータを使う意味がわからないと、答えようがないですね。しかし、理論的には、1万個の標準インジケータ(パラメータが異なる1万個のバージョンの標準インジケータ)を使うことを放棄して、1万個の値を各ティックで再計算し、その他の派生パラメータも含めて独自のインジケータ(1個)を書こうと思います。また、インジケータ・バッファの数を最小限に抑えます。必要なのは計算されたデータであって、チャート上に反映されるものではありません。そして、そのようなハイブリッドが1ティック以内にすべての計算を行うかどうかを確認する必要があります。もし、あなたの分析が刻々と変化するのではなく、分単位で再計算することができるのであれば、1分以内に再計算します。

ここでは簡単な例として、ボリンジャーバンドを紹介します。ミドルライン用、アッパー用、ローワー用の3つのインジケータを使い分けることができます。あるいは、それらを1つのインジケータープログラムでエレガントに組み合わせることもできます。

理由: