MetaTrader 4 Build 529 ベータ版リリース、新コンパイラー搭載 - ページ 125 1...118119120121122123124125126127128129130131132...161 新しいコメント Ilya Severskiy 2013.12.13 06:37 #1241 stringo: 入力変数を変更することはできません externの代わりにキーワードinputを使用すると、コンパイラはこのようなことをさせません。 昔の4分割の機能を維持するために、どうするか。 PS 話題にしていただき、ありがとうございます。 だから、変えようという狙いはなかったんです さらなる計算のために使われるだけです。これ以上ないくらいにね。 なるほど、原理的には、余分な変数を導入することでこの問題を解決していたんですね。 extern int TakeProfit_= 10; int TakeProfit; ...... int dig = (int)MarketInfo(Symbol(), MODE_DIGITS); if (dig == 5 || dig == 3) { TakeProfit = TakeProfit_* 10; ..... 削除済み 2013.12.13 06:49 #1242 Night63: だから、変える意味がなかったんですこれらは単に計算のために使われるだけである。それ以上はダメです! まあ、原理的には、追加の変数を導入することでこの問題を解決しているのですが。 それはそうなんですが...。しかし、なぜわざわざ不変の定数をtick 毎にチェックするのでしょうか?init()の中で一度だけ定義すれば十分です。 TarasBY 2013.12.13 07:02 #1243 stringo: 入力変数を変更することはできません 外部変数の値(一部の変数)をデフォルト値として使用し、同じパラメータの残りのデータをiniファイルから読み込んでいます。 エキスパートアドバイザーは、独自の入力パラメータを持つ複数のストラテジーと同時に動作します。例 extern int TF = 15; int gia_TF[5]; void start() { for (int li_TF = 0; li_TF < ArraySize (gia_TF); li_TF++) { TF = gia_TF[li_TF]; } } はい - この問題は、追加の変数を入力することで解決できますが、なぜですか?この機能は、新しいMTでは奪われるのでしょうか? Vadim Zhunko 2013.12.13 07:14 #1244 TarasBY: 外部変数の値(一部の変数)をデフォルト値として使用し、同じパラメータに対する他のデータをini-fileから読み込んでいます。 アドバイザーは、独自の入力パラメータを持つ複数の戦略を同時に使用します。例 はい - 問題は、追加の変数を入力することによって解決できますが、なぜですか?この機能は、新しいMTでは奪われるのでしょうか? だから言ったでしょ?:-)) これは余計なお世話です。つまり、外部変数を外部変数としたインラインは不要である。externを削除することができます。その違いに気づくことはないでしょう。とにかくINIファイルから初期化するのです。 Slava 2013.12.13 07:22 #1245 TarasBY: 外部変数の値(一部の変数)をデフォルト値として使い、同じパラメータの残りのデータをini-fileから読み込んでいます。 アドバイザーは、独自の入力パラメータを持つ複数の戦略を同時に使用します。例 そうです。この問題は、追加の変数を導入することで解決できるのですが、なぜでしょうか!この機能は、新しいMTでは奪われるのでしょうか? いいえ、奪われることはありません。 すべてが旧4と同じになる。長く書いたコードは(新しいコンパイラで再コンパイルしても)以前と同じように動作します。 TarasBY 2013.12.13 07:24 #1246 Zhunko: だから言ったでしょ...:-)) 冗長なんです。外部変数として外部変数との包含が不要であることを意味する。externを省略してもよい。その違いに気づくことはないでしょう。とにかくINIファイルから初期化することです。 ヴァディム!普遍性と多変量性の闘士は誰だ!:) TarasBY 2013.12.13 07:26 #1247 stringo: いいえ、そうではありません。 全ては旧クワッドと同じになります。長く書いたコードは(新しいコンパイラで再コンパイルしても)以前と同じように動作します。 ありがとうございます。OKです。 Ilya Severskiy 2013.12.13 07:53 #1248 avtomat: それはそうなんですが...。しかし、なぜわざわざ不変の定数をtick毎にチェックするのでしょうか?init()の中で一度だけ定義すれば十分です。 確かに、最初はそうでしたね。問題解決の段階で、いろいろと試してみただけです。 さて、initに戻りますが、欠陥のご指摘ありがとうございます Andrey Barinov 2013.12.13 09:26 #1249 stringo: コードの物理的な意味を説明してもらえますか? このExpert Advisorが動作するチャートが開かれている場合、シンボルは既に選択されています。 すでに選択されている記号は、再選択できません。チャートが開いているシンボルを隠すことができません。 物理的なポイントは、EAの入力パラメータに文字列として入力されているシンボルが取引可能であるかどうかを確認することです。MT5で同じコードが動作します。 引用したコードはあくまで一例です。そこは少し違いますが、意味は変わりません。 P.S. テスターのエラー138は? コード void OnTick() { if(OrdersTotal()==0) { string SYMBOL=Symbol(); int digits=(int)SymbolInfoInteger(SYMBOL,SYMBOL_DIGITS); MqlTick lasttick={0}; if(!SymbolInfoTick(SYMBOL,lasttick)) return; double ask=lasttick.ask; double bid=lasttick.bid; OrderSend(SYMBOL,OP_BUY,0.1,NormalizeDouble(ask,digits),1000,0,0,"Test",0,0,CLR_NONE); } } 結果 Ahmad Mehdiyev 2013.12.13 11:15 #1250 グラフィカルなオブジェクトを使ったトリビアをいくつか紹介します。 今回はOBJ_EDIT です。 1) データ入力ができない。OBJ_EDIT内をクリックしても何も起こらないし、フィールドのデータもハイライトされない(以前は「ENTER」キー以外ではフィールドを抜けることができなかったが、現在は入力できない)。 2) OBJPROP_ANCHOR が動作しない。 3) OBJ_EDITを選択すると、オブジェクトを移動させるポイントが左上に表示されますが、座標がチャートのどのコーナー(OBJPROP_CORNER)からカウントされるかによって、非常に小さいながらも一定のオフセットがあります。 その他、描画やグラフィックオブジェクトの移動に問題はありません。訂正ありがとうございます。 1...118119120121122123124125126127128129130131132...161 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
入力変数を変更することはできません
externの代わりにキーワードinputを使用すると、コンパイラはこのようなことをさせません。
昔の4分割の機能を維持するために、どうするか。
PS 話題にしていただき、ありがとうございます。
だから、変えようという狙いはなかったんです
さらなる計算のために使われるだけです。これ以上ないくらいにね。
なるほど、原理的には、余分な変数を導入することでこの問題を解決していたんですね。
だから、変える意味がなかったんです
これらは単に計算のために使われるだけである。それ以上はダメです!
まあ、原理的には、追加の変数を導入することでこの問題を解決しているのですが。
それはそうなんですが...。しかし、なぜわざわざ不変の定数をtick 毎にチェックするのでしょうか?init()の中で一度だけ定義すれば十分です。
入力変数を変更することはできません
エキスパートアドバイザーは、独自の入力パラメータを持つ複数のストラテジーと同時に動作します。例
はい - この問題は、追加の変数を入力することで解決できますが、なぜですか?この機能は、新しいMTでは奪われるのでしょうか?
外部変数の値(一部の変数)をデフォルト値として使用し、同じパラメータに対する他のデータをini-fileから読み込んでいます。
アドバイザーは、独自の入力パラメータを持つ複数の戦略を同時に使用します。例
はい - 問題は、追加の変数を入力することによって解決できますが、なぜですか?この機能は、新しいMTでは奪われるのでしょうか?
だから言ったでしょ?:-))
これは余計なお世話です。つまり、外部変数を外部変数としたインラインは不要である。externを削除することができます。その違いに気づくことはないでしょう。とにかくINIファイルから初期化するのです。
外部変数の値(一部の変数)をデフォルト値として使い、同じパラメータの残りのデータをini-fileから読み込んでいます。
アドバイザーは、独自の入力パラメータを持つ複数の戦略を同時に使用します。例
そうです。この問題は、追加の変数を導入することで解決できるのですが、なぜでしょうか!この機能は、新しいMTでは奪われるのでしょうか?
いいえ、奪われることはありません。
すべてが旧4と同じになる。長く書いたコードは(新しいコンパイラで再コンパイルしても)以前と同じように動作します。
だから言ったでしょ...:-))
冗長なんです。外部変数として外部変数との包含が不要であることを意味する。externを省略してもよい。その違いに気づくことはないでしょう。とにかくINIファイルから初期化することです。
いいえ、そうではありません。
全ては旧クワッドと同じになります。長く書いたコードは(新しいコンパイラで再コンパイルしても)以前と同じように動作します。
それはそうなんですが...。しかし、なぜわざわざ不変の定数をtick毎にチェックするのでしょうか?init()の中で一度だけ定義すれば十分です。
確かに、最初はそうでしたね。問題解決の段階で、いろいろと試してみただけです。
さて、initに戻りますが、欠陥のご指摘ありがとうございます
コードの物理的な意味を説明してもらえますか?
このExpert Advisorが動作するチャートが開かれている場合、シンボルは既に選択されています。
すでに選択されている記号は、再選択できません。チャートが開いているシンボルを隠すことができません。
物理的なポイントは、EAの入力パラメータに文字列として入力されているシンボルが取引可能であるかどうかを確認することです。MT5で同じコードが動作します。
引用したコードはあくまで一例です。そこは少し違いますが、意味は変わりません。
P.S. テスターのエラー138は?
コード
結果
今回はOBJ_EDIT です。
1) データ入力ができない。OBJ_EDIT内をクリックしても何も起こらないし、フィールドのデータもハイライトされない(以前は「ENTER」キー以外ではフィールドを抜けることができなかったが、現在は入力できない)。
3) OBJ_EDITを選択すると、オブジェクトを移動させるポイントが左上に表示されますが、座標がチャートのどのコーナー(OBJPROP_CORNER)からカウントされるかによって、非常に小さいながらも一定のオフセットがあります。