エラー、バグ、質問 - ページ 1513 1...150615071508150915101511151215131514151515161517151815191520...3185 新しいコメント 削除済み 2016.02.19 09:09 #15121 こんな感じで、性能的にはどっちがいいんだろう。 template <typename T> void SetProperty( const int id, const T Value, const int Modifier = 0 ) const { const string sType = typename(T); if (sType == "double") ::ObjectSetDouble(this.Chart, this.Name, id, Modifier, (double)Value); else if (sType == "string") ::ObjectSetString(this.Chart, this.Name, id, Modifier, (string)Value); else ::ObjectSetInteger(this.Chart, this.Name, id, Modifier, (long)Value); return; }それとも、メソッドをオーバーロード することによって? coderex 2016.02.19 09:24 #15122 zaskok3:こんな感じで、性能的にはどっちがいいんだろう。それとも、メソッドをオーバーロード することによって? 性能面では、どちらのソリューションにも違いはありません。) 削除済み 2016.02.19 10:17 #15123 coderex: どちらのソリューションにも適材適所があります。)ありがとうございました。もうひとつ質問です。構造体のconstフィールドのポイントは何ですか?そのような構造体は、渡すことさえできない(コンパイラの悪態やスタックのオーバーフロー)?#property strict struct STRUCT { const int Num; STRUCT( const int iNum = 0 ) : Num(iNum) // Если затереть " = 0", то будет ошибка компиляции: 'STRUCT' - wrong parameters count { } /* // Так получается обойти ошибки компиляции, но на этапе выполнения: Stack overflow STRUCT operator = ( STRUCT &Struct ) { STRUCT Res(Struct.Num); return(Res); } */ }; const STRUCT GetStruct( const int Num = 0 ) { STRUCT Struct(Num); return(Struct); // 'return' - not allowed for objects with protected members or inheritance } void OnStart( void ) { Print(GetStruct(1).Num); return; } 構造体の代入演算子をオーバーロードする ことは、実際には不可能です(無限再帰のため、意味はあります)。では、なぜ構造体の中にフィールドがあるのでしょうか? Ivan 2016.02.19 10:55 #15124 Karputov Vladimir: Windows 10 x64では、1241ビルドでこのエラーに遭遇したことはありません。Unfold」コマンドを実行すると、グラフィックウィンドウが穴のない状態で完全に展開されます。おそらく、OSの内部で何らかの設定が変更されているのでしょう(OSのデフォルトを切り詰めたり、レジストリを掃除したりするのが趣味なのかもしれませんが・・・)。マウスでガラスをドラッグする場合は、この時点で「Shift」または「Ctrl」「Alt」のいずれかを押してください。私の最善のアドバイスは、詳細な説明、独自のコード(目盛りを表示する)、スクリーンショットを添えて、serviceDeskに書き込むことです。>> おそらく、オペレーティングシステムの内部で何らかの設定を変更したのでしょう(オペレーティングシステムの標準機能、またはレジストリクリーニングなどをカットすることに熱心なのかもしれません)。私はそういうことに興味はない、システムはクリーンだ>> ここで私は、ServiceDeskへのアプリケーションを 作るために、詳細な説明、あなたのコード(チックを示す)、スクリーンショットであなたに助言することができます。で、これはどこかというと、この支店がサーヴァーじゃないですか。 削除済み 2016.02.19 11:46 #15125 同様の内容を含むmqh-fileを#includeでインジケータに含めると。int GetIndicatorBuffers( void ) { return(indicator_buffers); // 'indicator_buffers' - undeclared identifier }指標自体のコンパイルの段階でエラーがないこと。しかし、mqhとは別に発生する(上記参照)。コンパイラがプラグインされたmqhで複数回文句を言わないように、MT4でこのプロパティのインジケータの値を見つけるにはどうしたらいいですか? Igor Volodin 2016.02.19 15:57 #15126 MQL5とMQL4で同じようにアプリケーションが動作するようにしようとしています。 MQL4でsinput 変数を導入する際に、関数ParameterSetRange()とParameterGetRange()を言語に追加し忘れたのではないでしょうか?MQL4のドキュメントでは、ParameterSetRange()およびParameterGetInput() として登場しています-https://docs.mql4.com/basis/variables/inputvariables#sinputが、コンパイラはそれを受け入れない。残念ながら、これらの関数がないと、sinput変数の面白さはすべて失われてしまいます。 Input Variables - MQL4 Documentation docs.mql4.com Input Variables - MQL4 Documentation - MQL4 Documentation 削除済み 2016.02.19 16:49 #15127 zaskok3:ありがとうございました。もうひとつ質問です。構造体のconstフィールドのポイントは何ですか?そのような構造体は、渡すことさえできない(コンパイラの悪態やスタックのオーバーフロー)? 構造体の代入演算子をオーバーロードする ことは事実上不可能です(無限再帰のため、意味はあります)。では、なぜ構造体の中にフィールドがあるのでしょうか?お楽しみください。#property strict struct STRUCT { const int Num; STRUCT( const int iNum ) : Num( iNum ) { } STRUCT( const STRUCT& Struct ) : Num( Struct.Num ) { } }; const STRUCT GetStruct( const int Num = 0 ) { STRUCT Struct( Num ); return Struct; } //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { Print( GetStruct(1).Num ); } //+------------------------------------------------------------------+ 削除済み 2016.02.19 17:23 #15128 Koldun Zloy:お楽しみください。 本題に入るのはいいことです!ありがとうございました。コンストラクタをオーバーロードする前になぜ自分で気づかず、代入演算子に入って しまったのか、今でも不思議でなりません。結局のところ、解決策は明らかなのです 削除済み 2016.02.20 19:22 #15129 MT4端末のフォルダを別ドライブに移動しました。以前はポータブルキーで動かしていました。今回も同じことをしました。端末が一斉にサーバーに接続された。以前は、端末のフォルダを 移動すると、パスワードが保存されず、再入力しなければなりませんでした。今(ビルド950)はそれがないんです。これは普通(私だけ)なのでしょうか? TheXpert 2016.02.20 19:32 #15130 zaskok3:性能面から見て、これ以上の方法はないでしょう。 もちろんオーバーロード。 1...150615071508150915101511151215131514151515161517151815191520...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんな感じで、性能的にはどっちがいいんだろう。
それとも、メソッドをオーバーロード することによって?
こんな感じで、性能的にはどっちがいいんだろう。
それとも、メソッドをオーバーロード することによって?
どちらのソリューションにも適材適所があります。)
ありがとうございました。もうひとつ質問です。
構造体のconstフィールドのポイントは何ですか?そのような構造体は、渡すことさえできない(コンパイラの悪態やスタックのオーバーフロー)?
構造体の代入演算子をオーバーロードする ことは、実際には不可能です(無限再帰のため、意味はあります)。では、なぜ構造体の中にフィールドがあるのでしょうか?
Windows 10 x64では、1241ビルドでこのエラーに遭遇したことはありません。Unfold」コマンドを実行すると、グラフィックウィンドウが穴のない状態で完全に展開されます。
おそらく、OSの内部で何らかの設定が変更されているのでしょう(OSのデフォルトを切り詰めたり、レジストリを掃除したりするのが趣味なのかもしれませんが・・・)。
マウスでガラスをドラッグする場合は、この時点で「Shift」または「Ctrl」「Alt」のいずれかを押してください。
私の最善のアドバイスは、詳細な説明、独自のコード(目盛りを表示する)、スクリーンショットを添えて、serviceDeskに書き込むことです。
>> おそらく、オペレーティングシステムの内部で何らかの設定を変更したのでしょう(オペレーティングシステムの標準機能、またはレジストリクリーニングなどをカットすることに熱心なのかもしれません)。
私はそういうことに興味はない、システムはクリーンだ
>> ここで私は、ServiceDeskへのアプリケーションを 作るために、詳細な説明、あなたのコード(チックを示す)、スクリーンショットであなたに助言することができます。
で、これはどこかというと、この支店がサーヴァーじゃないですか。
同様の内容を含むmqh-fileを#includeでインジケータに含めると。
指標自体のコンパイルの段階でエラーがないこと。しかし、mqhとは別に発生する(上記参照)。
コンパイラがプラグインされたmqhで複数回文句を言わないように、MT4でこのプロパティのインジケータの値を見つけるにはどうしたらいいですか?
MQL5とMQL4で同じようにアプリケーションが動作するようにしようとしています。
MQL4でsinput 変数を導入する際に、関数ParameterSetRange()とParameterGetRange()を言語に追加し忘れたのではないでしょうか?
MQL4のドキュメントでは、ParameterSetRange()およびParameterGetInput() として登場しています-https://docs.mql4.com/basis/variables/inputvariables#sinput
が、コンパイラはそれを受け入れない。
残念ながら、これらの関数がないと、sinput変数の面白さはすべて失われてしまいます。
ありがとうございました。もうひとつ質問です。
構造体のconstフィールドのポイントは何ですか?そのような構造体は、渡すことさえできない(コンパイラの悪態やスタックのオーバーフロー)?
構造体の代入演算子をオーバーロードする ことは事実上不可能です(無限再帰のため、意味はあります)。では、なぜ構造体の中にフィールドがあるのでしょうか?
お楽しみください。
お楽しみください。
MT4端末のフォルダを別ドライブに移動しました。以前はポータブルキーで動かしていました。今回も同じことをしました。
端末が一斉にサーバーに接続された。以前は、端末のフォルダを 移動すると、パスワードが保存されず、再入力しなければなりませんでした。今(ビルド950)はそれがないんです。
これは普通(私だけ)なのでしょうか?
性能面から見て、これ以上の方法はないでしょう。