エラー、バグ、質問 - ページ 1768 1...176117621763176417651766176717681769177017711772177317741775...3185 新しいコメント pavlick_ 2016.12.21 15:05 #17671 fxsaber: これはダムコンパイラでないとできないことです。自分でもわかっているはずです。 C++コンパイラは、あなたのためにそれを考えてはくれません。#include <iostream>using namespace std;struct S{ S operator +(const S&) {cout << "operator +\n"; return S{};}}; S operator ""_s(const char*, size_t) {cout << "literal operator\n"; return S{};}int main(){ cout << "___literal concatenation example___\n"; S s = "sd"_s "sf"_s; cout << "___operator+ example___\n"; S s2 = "sd"_s + "sf"_s;} 出力されます。 リテラル連結の例 直交演算子 オペレーター+α 直交演算子 直交演算子演算子+α ご覧のように、2番目のケースではoperator+がconcatenationに置き換わっていません(リテラル用に作成され、その後の実行時に追加されます)。プログラマが可能性を持ちすぎているため、コンパイラが単純にカットすることができず、最適化の幅が大きく狭まってしまうのです。もちろんこれはMKLではないので、違うかもしれませんが、「普通のコンパイラが全部やってくれる」という発言そのものが間違いです。 Errors, bugs, questions CURLを使用した HTML の解析 Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する fxsaber 2016.12.21 16:12 #17672 pavlick_: もちろんこれはMQLではないので、違うかもしれませんが、「普通のコンパイラが全部やってくれる」というのは誤りです。 まあ、MQLにはそのような演算子はないので、それに関連する機能はないのが道理です。私は全くプログラマーではないので、コンパイラについて議論するつもりはない。MQLは少ししか知らない。 Artem Ponyavin 2016.12.22 09:19 #17673 時間とお金の浪費にうんざり:オプティマイザーは最後のパスでハングアップします。エージェントは何もしない、全てはオーソライズドステージにある。ログには沈黙がある。エージェントの有効化/無効化は意味がなく、最適化が再開さ れるとすべてがゼロから始まります。この問題に直面したことがある人はいますか?どう戦うか? ファイル: opt1.png 44 kb opt2.png 96 kb opt3.png 88 kb A100 2016.12.23 23:08 #17674 マジックライン画面解像度1024x768でのMetaEditorの操作シーケンス。添付ファイルを開く水平スクロールスライダーを右いっぱいに移動する(写真のように)3行目で /*12345*/ をクリックします。 その他の設定:サービス/設定/一般/集計 4文字 ファイル: Test.mq5 2 kb 削除済み 2016.12.24 12:25 #17675 StringToInteger()で文字列を 数値に変換しようとしたとき、文字列に数値が含まれていない場合は、エラーにならずに0を返します(GetLastError() = 0)。入力パラメータに文字列が含まれていて、ユーザーがその値を間違って指定した場合、この関数は不正確な値を返しますが、エラーは表示されません。これはヤバい。さらに,文字列の中に(50ではなく)5oのような不正確な数値表現があった場合,この関数はエラーを発生させることなく値5を返します.0でないだけでなく、この関数は文字列を5と分解してしまうので、これも不正確です。開発者の皆さん、エラーコードを追加するか、文字列を解析できない場合はLONG_MAX値+エラーを返すなどして、何が問題なのかを判断できるような関数に改善してください。今は無理です。スクリプトのコードを確認する。#property version "1.00"#property script_show_inputs//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+input string value="05";//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+void OnStart() { const long iValue=StringToInteger(value); Print("iValue = ",iValue,", lastError = ",GetLastError()); }//+------------------------------------------------------------------+ Errors, bugs, questions CGraphicのテスト - 質問と提案 初心者の方からの質問 MQL5 MT5 MetaTrader Renat Fatkhullin 2016.12.24 12:38 #17676 10分もかからずに、この機能を実装してください。システム機能の挙動を変えることはありません。 削除済み 2016.12.24 12:48 #17677 Renat Fatkhullin:10分もかからずに、この機能を実装してください。システム機能の挙動を変えることはありません。では、機能、特に明らかに嘘をつくことができる機能を洗練させる必要はないとお考えですか?エラーコードを 追加するだけでもOkなのに、車輪の再発明をしろというのか。もちろん複雑なものでなく、自転車です。 Renat Fatkhullin 2016.12.24 12:49 #17678 Alexey Kozitsyn:では、機能、特に明らかに嘘をつくことができる機能の洗練は必要ないとお考えですか?エラーコードを 追加するだけでもいいのですが、今度は車輪の再発明を提案しているのですね。もちろん複雑なものでなく、自転車です。 精製する必要はなく、wtoi/atoiの完全なアナログである。質問は終了しました。 A100 2016.12.24 14:26 #17679 コンパイルエラー#include <Math\Stat\Math.mqh>struct S {}; Slat 2016.12.24 18:39 #17680 こんにちは、メタトレーダーで「期間セパレーター」を設定することが可能かどうか教えてください。 m5で15、30、1時間のローソク足がどこで終わるかを確認できるようにしたいのですが、常に時間を見る必要がないようにするには、どうすればいいでしょうか? 1...176117621763176417651766176717681769177017711772177317741775...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
これはダムコンパイラでないとできないことです。自分でもわかっているはずです。
using namespace std;
struct S
{
S operator +(const S&) {cout << "operator +\n"; return S{};}
};
S operator ""_s(const char*, size_t) {cout << "literal operator\n"; return S{};}
int main()
{
cout << "___literal concatenation example___\n";
S s = "sd"_s "sf"_s;
cout << "___operator+ example___\n";
S s2 = "sd"_s + "sf"_s;
}
リテラル連結の例
直交演算子
オペレーター+α
直交演算子
直交演算子
演算子+α
ご覧のように、2番目のケースではoperator+がconcatenationに置き換わっていません(リテラル用に作成され、その後の実行時に追加されます)。プログラマが可能性を持ちすぎているため、コンパイラが単純にカットすることができず、最適化の幅が大きく狭まってしまうのです。もちろんこれはMKLではないので、違うかもしれませんが、「普通のコンパイラが全部やってくれる」という発言そのものが間違いです。もちろんこれはMQLではないので、違うかもしれませんが、「普通のコンパイラが全部やってくれる」というのは誤りです。
時間とお金の浪費にうんざり:オプティマイザーは最後のパスでハングアップします。エージェントは何もしない、全てはオーソライズドステージにある。ログには沈黙がある。エージェントの有効化/無効化は意味がなく、最適化が再開さ れるとすべてがゼロから始まります。
この問題に直面したことがある人はいますか?どう戦うか?
マジックライン
画面解像度1024x768でのMetaEditorの操作シーケンス。
- 添付ファイルを開く
- 水平スクロールスライダーを右いっぱいに移動する(写真のように)
- 3行目で /*12345*/ をクリックします。
その他の設定:サービス/設定/一般/集計 4文字StringToInteger()で文字列を 数値に変換しようとしたとき、文字列に数値が含まれていない場合は、エラーにならずに0を返します(GetLastError() = 0)。入力パラメータに文字列が含まれていて、ユーザーがその値を間違って指定した場合、この関数は不正確な値を返しますが、エラーは表示されません。これはヤバい。
さらに,文字列の中に(50ではなく)5oのような不正確な数値表現があった場合,この関数はエラーを発生させることなく値5を返します.0でないだけでなく、この関数は文字列を5と分解してしまうので、これも不正確です。
開発者の皆さん、エラーコードを追加するか、文字列を解析できない場合はLONG_MAX値+エラーを返すなどして、何が問題なのかを判断できるような関数に改善してください。今は無理です。
スクリプトのコードを確認する。
#property script_show_inputs
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
input string value="05";
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
const long iValue=StringToInteger(value);
Print("iValue = ",iValue,", lastError = ",GetLastError());
}
//+------------------------------------------------------------------+
10分もかからずに、この機能を実装してください。
システム機能の挙動を変えることはありません。
10分もかからずに、この機能を実装してください。
システム機能の挙動を変えることはありません。
では、機能、特に明らかに嘘をつくことができる機能を洗練させる必要はないとお考えですか?
エラーコードを 追加するだけでもOkなのに、車輪の再発明をしろというのか。もちろん複雑なものでなく、自転車です。
では、機能、特に明らかに嘘をつくことができる機能の洗練は必要ないとお考えですか?
エラーコードを 追加するだけでもいいのですが、今度は車輪の再発明を提案しているのですね。もちろん複雑なものでなく、自転車です。
コンパイルエラー
struct S {};