MetaTrader 4 Build 529 ベータ版リリース、新コンパイラー搭載 - ページ 37 1...303132333435363738394041424344...161 新しいコメント Igor Semyonov 2013.11.09 10:47 #361 Renat: つまり、あなた個人はソフトウェアの操作性に問題がなく、一般的な質問をしているのです。 質問を何度か読み返しましたが、理解できません。ここでは、具体的な内容を議論しているのです。 コンパイルに問題はありません。操作性に問題があり、私の理解では、MQL5のロジックとMQL4のロジックを混ぜることに関係があるようです。しかし、ここで取り上げた問題だけでは、あらゆる場面で対応できるわけではありません。全ては特別なケースです。ルールは必要です。MQL5の機能とルールのMQL4への翻訳について、予備的なガイドかプレビューを公開していただければ、私たちだけでなく、あなたが発生する問題を理解する上でも助けになると思います。そして想像してみてください、500ページ以上になるのです。どうすれば再読できるのでしょうか? Vladimir Gomonov 2013.11.09 10:55 #362 ForexMoneyMaker: コンパイルに問題はありません。操作性に問題があり、私の理解では、MQL5のロジックとMQL4のロジックを混ぜることに関係があるようです。しかし、ここで取り上げた問題だけでは、あらゆる場面で対応できるわけではありません。全ては特別なケースです。ルールは必要です。 MQL5の機能とルールのMQL4への翻訳について、予備的なガイドかプレビューを公開していただければ、私たちだけでなく、あなたが発生する問題を理解する上でも助けになると思います。そして想像してみてください、500ページ以上になるのです。どうやったら全部読めるんだ? 第一に、他の何かが変わるかもしれない(互換性に影響するものも含めて)。第二に、今度はすべての「記述資源」がヘルプの準備に費やされる。すでにフル稼働しているシステムになぜ負担をかけるのか? Igor Semyonov 2013.11.09 12:17 #363 MT4ビルド536、MEビルド872。 次の入力パラメータは、別ウィンドウのインジケータで使用されます: extern string Currency_Name = "EURUSD "です。 入力パラメータを変更せずに起動すると、インジケータが描画され、エラーなく動作します。しかし、最初の実行後にシンボルを変更するとすぐに、例えば「GBPUSD」のように、インジケータは新しいシンボル名を受け付けません。インジケーターのShort_Nameに同じ名前がありますが、インジケーターは全く描画されません(空のフィールド)。初回呼び出し時にシンボル名を変更した場合、インジケータはプログラム中に書かれた初期名で描画されます。 インジケーターの初期データの数値変更については、全てのケースで変更され、エラーなく描画されます。 Eugeni Neumoin 2013.11.09 16:42 #364 Renat:プログラム中に何百ものグローバル変数があるのは良くないことです。OOPとクラスは、スコープを隠蔽し、データへのアクセスを保護することによって、この問題を完全に、そして劇的に解決します。 おそらく、それではダメなのでしょう。でも、なぜそうなのか、そこに書きました。MT4とは異なる意図のものを実装することは不可能だった。グラフィックでは他にないことでした。外部変数を通してのみ、グラフィック要素の スタイルを設定することができます。さまざまなグラフィック要素があれば、外部変数がたくさん出てきます。スタイルとは別に、グラフィックアイテムには膨大な数のプロパティがあり、それらもEXTERNAL VARIABLESによってのみ変更することができます。グラフィックはensignで問題ないです。しかし、MT4では、それは本当の混乱です。そのため、何百もの外部変数が存在するのです。MT4の新バージョンでどうなるかは、まだわかりません。見ていきます。 Renat Fatkhullin 2013.11.09 20:09 #365 nen: 十分とは言えないかもしれません。でも、なぜそうなのか、そこに書きました。 MT4とは異なる意図のものを実装することは不可能だった。グラフィックでは他にないことでした。 グラフィックアイテムのスタイルは、外部変数を通してのみ設定できます。 グラフィックアイテムがたくさんあれば、外部変数もたくさんあります。 スタイル以外にも、グラフィックアイテムのプロパティは、外部変数を通してのみ変更できます。 ensignのグラフィックは、問題なく表示されています。しかし、MT4では、それは本当の混乱です。そのため、何百もの外部変数が存在します。 MT4の新バージョンでどうなるかは不明です。見ていきます。つまり、グラフィックの話ではなく、変数の話です。それに、MT5はグラフィックが素晴らしいので、コンピューターゲームまで何でもできます。Mt4もそろそろステップアップです。 どのようなプログラムでも、ユーザーがいつでも自分で変更しなければならない100ものパラメータをどうやって伝えることができるのでしょうか?入力パラメータの表がある場合のみ。プログラムの種類に依存しない。 とにかく、何百ものパラメータは、プログラマーにとって、どこにも行けない道なのです。インテリジェントな自動制御手法で、パラメーターの数を10分の1にする必要があります。考え始めると、すぐに解決策が見えてくる。 Andrey Khatimlianskii 2013.11.09 20:32 #366 nen: インジケータに数百の外部変数があり、インストール時に数十を変更する必要がある場合、... 再インストールする前に、前回のインジケーターのインストール時に変更された値から、どの変数を保存する必要があるかを覚えておく必要があります。 100個のパラメータを取り除くことの不可能性については言及せず......。 すでに変更された内容を覚えておく必要がないように、「リセット」ボタンが用意されています。 また、新しい動作(再コンパイル後に入力された変数の値を保存する)により、作業がより便利になりました - インジケータの何かを変更した場合、すべてのコピーを再設定する必要がありません。 Vladimir Gomonov 2013.11.10 01:28 #367 レナット、ストリンゴ、ユニコードは永久に 残るのか? Alexander Puzanov 2013.11.10 03:00 #368 input datetime Date_From = D'08.10.2013'; // Начало периода input datetime Date_To = D'08.11.2013'; // Окончание периода input bool Column_Headers = true; // Создавать заголовки колонок? これはスクリプトで、起動時に Date_From フィールドは常に現在のローカルな日付/時刻になり、Date_To フィールドは問題ないです。設定の順番を変更しました。datetime型の 変数がリストの最初でない場合、この不具合は存在しません。 --- ヘルプでは、PRICE_CLOSEはENUM_APPLIED_PRICEという型を持っていますが、コンパイラは知りません - 'ENUM_APPLIED_PRICE' - 型のない宣言です。ヘルプやコンパイラで直るのでしょうか? --- そして、このエディター/コンパイラーに感謝します。 Artyom Trishkin 2013.11.10 04:22 #369 通貨ペアのチャート上にある、すでにコンパイルされたインジケータに変更を加えるのです。再コンパイルしています。変更を有効にするためには、端末全体を再起動する必要があります。チャートからインジケータを削除して再起動してもダメ、タイムフレームを変えてもダメ。端末自体を再起動することで、変更された内容を確認することができます。 修正お願いします。 削除済み 2013.11.10 07:15 #370 ObjectSetInteger(0,"Name",OBJPROP_CORNER,CORNER_RIGHT_LOWER); ObjectSetInteger(0,"Name",OBJPROP_ANCHOR,ANCHOR_RIGHT_LOWER); CORNER_RIGHT_LOWER と ANCHOR_RIGHT_LOWER は検出されません。 Mqh-fileで、ログに"undeclared identifier"エラーが表示される。 StringConcatenateの 動作がおかしい このように動作します StringConcatenate("Text 1 ","Text 2"); StringConcatenate("Text 1 ",10); StringConcatenate(10," Text 2"); StringConcatenate(10,11); StringConcatenate("Copyright ",CharToString(169)); しかし、このように動作しません("©"のみが表示される)。 StringConcatenate(CharToString(169)," Copyright"); 1...303132333435363738394041424344...161 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
つまり、あなた個人はソフトウェアの操作性に問題がなく、一般的な質問をしているのです。
質問を何度か読み返しましたが、理解できません。ここでは、具体的な内容を議論しているのです。
コンパイルに問題はありません。操作性に問題があり、私の理解では、MQL5のロジックとMQL4のロジックを混ぜることに関係があるようです。しかし、ここで取り上げた問題だけでは、あらゆる場面で対応できるわけではありません。全ては特別なケースです。ルールは必要です。MQL5の機能とルールのMQL4への翻訳について、予備的なガイドかプレビューを公開していただければ、私たちだけでなく、あなたが発生する問題を理解する上でも助けになると思います。そして想像してみてください、500ページ以上になるのです。どうすれば再読できるのでしょうか?
コンパイルに問題はありません。操作性に問題があり、私の理解では、MQL5のロジックとMQL4のロジックを混ぜることに関係があるようです。しかし、ここで取り上げた問題だけでは、あらゆる場面で対応できるわけではありません。全ては特別なケースです。ルールは必要です。 MQL5の機能とルールのMQL4への翻訳について、予備的なガイドかプレビューを公開していただければ、私たちだけでなく、あなたが発生する問題を理解する上でも助けになると思います。そして想像してみてください、500ページ以上になるのです。どうやったら全部読めるんだ?
MT4ビルド536、MEビルド872。
次の入力パラメータは、別ウィンドウのインジケータで使用されます: extern string Currency_Name = "EURUSD "です。
入力パラメータを変更せずに起動すると、インジケータが描画され、エラーなく動作します。しかし、最初の実行後にシンボルを変更するとすぐに、例えば「GBPUSD」のように、インジケータは新しいシンボル名を受け付けません。インジケーターのShort_Nameに同じ名前がありますが、インジケーターは全く描画されません(空のフィールド)。初回呼び出し時にシンボル名を変更した場合、インジケータはプログラム中に書かれた初期名で描画されます。
インジケーターの初期データの数値変更については、全てのケースで変更され、エラーなく描画されます。
プログラム中に何百ものグローバル変数があるのは良くないことです。
OOPとクラスは、スコープを隠蔽し、データへのアクセスを保護することによって、この問題を完全に、そして劇的に解決します。
十分とは言えないかもしれません。でも、なぜそうなのか、そこに書きました。 MT4とは異なる意図のものを実装することは不可能だった。グラフィックでは他にないことでした。 グラフィックアイテムのスタイルは、外部変数を通してのみ設定できます。 グラフィックアイテムがたくさんあれば、外部変数もたくさんあります。 スタイル以外にも、グラフィックアイテムのプロパティは、外部変数を通してのみ変更できます。 ensignのグラフィックは、問題なく表示されています。しかし、MT4では、それは本当の混乱です。そのため、何百もの外部変数が存在します。 MT4の新バージョンでどうなるかは不明です。見ていきます。
つまり、グラフィックの話ではなく、変数の話です。それに、MT5はグラフィックが素晴らしいので、コンピューターゲームまで何でもできます。Mt4もそろそろステップアップです。
どのようなプログラムでも、ユーザーがいつでも自分で変更しなければならない100ものパラメータをどうやって伝えることができるのでしょうか?入力パラメータの表がある場合のみ。プログラムの種類に依存しない。
とにかく、何百ものパラメータは、プログラマーにとって、どこにも行けない道なのです。インテリジェントな自動制御手法で、パラメーターの数を10分の1にする必要があります。考え始めると、すぐに解決策が見えてくる。
インジケータに数百の外部変数があり、インストール時に数十を変更する必要がある場合、...
再インストールする前に、前回のインジケーターのインストール時に変更された値から、どの変数を保存する必要があるかを覚えておく必要があります。
100個のパラメータを取り除くことの不可能性については言及せず......。
すでに変更された内容を覚えておく必要がないように、「リセット」ボタンが用意されています。
また、新しい動作(再コンパイル後に入力された変数の値を保存する)により、作業がより便利になりました - インジケータの何かを変更した場合、すべてのコピーを再設定する必要がありません。
レナット、ストリンゴ、ユニコードは永久に 残るのか?
これはスクリプトで、起動時に Date_From フィールドは常に現在のローカルな日付/時刻になり、Date_To フィールドは問題ないです。設定の順番を変更しました。datetime型の 変数がリストの最初でない場合、この不具合は存在しません。
---
ヘルプでは、PRICE_CLOSEはENUM_APPLIED_PRICEという型を持っていますが、コンパイラは知りません - 'ENUM_APPLIED_PRICE' - 型のない宣言です。ヘルプやコンパイラで直るのでしょうか?
---
そして、このエディター/コンパイラーに感謝します。
通貨ペアのチャート上にある、すでにコンパイルされたインジケータに変更を加えるのです。再コンパイルしています。変更を有効にするためには、端末全体を再起動する必要があります。チャートからインジケータを削除して再起動してもダメ、タイムフレームを変えてもダメ。端末自体を再起動することで、変更された内容を確認することができます。
修正お願いします。
CORNER_RIGHT_LOWER と ANCHOR_RIGHT_LOWER は検出されません。
Mqh-fileで、ログに"undeclared identifier"エラーが表示される。
StringConcatenateの 動作がおかしい
このように動作します
しかし、このように動作しません("©"のみが表示される)。