[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 381 1...374375376377378379380381382383384385386387388...631 新しいコメント ilunga 2012.09.13 09:42 #3801 moskitman:ヘルプからなのですが、NULLをシンボルとして、EAが動作している楽器だけを「ウォッチ」することは可能でしょうか?例えばこんな感じ。NULLは効かないようです。 しかし、Symbol() は動作します =)。 削除済み 2012.09.13 11:49 #3802 こんにちは。次のような疑問があります。 MQL4.communityにあるMQL4本の 「Simple MQL Programs 」に、以下の 内容のtradingexpert.mq4 の例があります(添付ファイルを ご参照ください)。外部変数extern double StopLoss =200 とextern double TakeProfit =39 がブロック1-2で宣言されています。ブロック8-9のNew_Stop(StopLoss) とNew_Stop(TakeProfit) 関数の呼び出しは、SLと TPの パラメータを計算するために使用されます。ブロック11-12に機能の説明があります。質問:New_Stop 関数の正式なパラメータは int 型(int Parametr)ですが、関数呼び出しで渡されるパラメータ New_Stop(StopLoss)(New_Stop(TakeProfit)) はdouble 型です。MQL4 ブック、「言語の基礎」セクション、「関数」サブセクションでは、「関数プロパティ」にこう書かれています。"関数呼び出しで渡されるパラメータの数、型、順序は、関数記述で渡される正式なパラメータの数、型、順序と一致しなければなりません(例外はデフォルトパラメータを持つ関数呼び出しです-「関数呼び出しと関数記述、戻り値演算子」を参照してください)。後者によると、StopLossと TakeProfitの 変数を宣言するとき、doubleではなく int 型を指定すべきでした(コンパイラはエラーを出しません) この矛盾をどう説明するのでしょうか?フォーラムを散らかさないためにも、回答よろしくお願いします。 ファイル: tradingexpert.mq4 13 kb faton 2012.09.13 12:20 #3803 こんにちは、ヒントをください・・・。インターネットを半分ほど検索してみたが、情報はさまざまである Expert Advisorの本質は、異なる商品のポジションを開くことです。"現実には、動作して現在の価格が表示されるのですが、履歴を追うことができない......。この関数はゼロを返します。 例えば、2つの通貨EURUSDとEURCHFの現在の気配値を表示したいのですが、どうすればいいですか? この関数で現在の気配値を呼び出しています(EURUSDチャートがアクティブな時の履歴を追っています)。 MarketInfo("EURUSD",MODE_BID)---> 現在の価格を取得する。 MarketInfo("EURCHF ",MODE_BID)---> ゼロを返す。 このフォーラムで、MarketInfoは履歴では動作しない、"iClose "を使えということを知りました。 しかし、quoteを呼び出すときに iClose("EURUSD",PERIOD_M1,0)---> 現在の価格を取得します。 iClose("EURCHF",PERIOD_M1,0)---> ゼロを返します。 ストラテジーテスターで、異なる商品の現在の相場を取得するには、他にどのような方法がありますか?ありがとうございました。 moskitman 2012.09.13 12:23 #3804 faton: MT4テスターは多通貨対応ではありません。つまり、単一通貨のEAしかテストできないのです。 faton 2012.09.13 12:50 #3805 moskitman: MT4テスターは多通貨対応ではありません。つまり、単一通貨のEAしかテストできないのです。 しゃい Victor Nikolaev 2012.09.13 14:46 #3806 faton: しゃい より正確には、1つのツールでテストすれば、他のツールで解析することができます。 Lowech 2012.09.13 15:09 #3807 sergeev: お世話になりました!)) Lowech 2012.09.13 15:11 #3808 DhP: という感じでしょうか。 ご感想ありがとうございます!!とても参考になりました。 Vladyslav Goshkov 2012.09.13 16:57 #3809 7777877:こんにちは。次のような疑問があります。 MQL4.communityにあるMQL4本の 「Simple MQL Programs 」に、以下の 内容のtradingexpert.mq4 の例があります(添付ファイルを ご参照ください)。外部変数extern double StopLoss =200 とextern double TakeProfit =39 がブロック1-2で宣言されています。ブロック8-9のNew_Stop(StopLoss) とNew_Stop(TakeProfit) 関数の呼び出しは、SLと TPの パラメータを計算するために使用されます。ブロック11-12には、機能の説明が記載されています。質問:New_Stop 関数の正式なパラメータはint 型(int Parametr)ですが、関数呼び出しで渡されるパラメータは New_Stop(StopLoss)(New_Stop(TakeProfit))double 型です。MQL4 ブック、「言語基礎」の章「関数」、サブセクション「関数プロパティ」では、次のように記載されています。"関数呼び出しで渡されるパラメータの数、型、順序は、関数記述で渡される正式なパラメータの数、型、順序と一致しなければなりません(例外はデフォルトパラメータを持つ関数呼び出しです-「関数呼び出しと関数記述、戻り値演算子」を参照してください)。後者によると、StopLossと TakeProfitの 変数を宣言するとき、doubleではなく int 型を宣言すべきでした(コンパイラはエラーを生成していません) この矛盾をどのように説明するのでしょうか?フォーラムを散らかさないように、回答よろしくお願いします。 外部パラメータ(extern double StopLoss =200; extern double TakeProfit =39;)は、原則として整数型(より正確には、著者の考えによれば、ポイント単位の値)であるべきです。関数を呼び出す際には、暗黙のうちに型変換が行われます。浮動小数点型は精度を落として 整数型に変換されます。この場合、それは問題ではありません:意図されたストップと利益のサイズはピップで設定されています - それは常に整数です。 IMHOは、サンプルコードの書き方が悪い。 定数の絶対値を使うのは、ニーモニックネームで、非常に悪い、間違ったスタイルです。 if (OrderType()>1) // Попался отложенный { 順序列挙の最悪の実装:これ以上「遅れた」ものは考えられません。特別に遅くなるようです:余分な計算、不必要な関数呼び出し - 時間的に最も高価な操作で、しかもループの各反復で。しかも、ループ内では注文数が変化していないにもかかわらず、です。 for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер { if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий { // Анализ ордеров: vitor 2012.09.13 17:48 #3810 すみませんが、以前はRumuseで仕事をしていて、今はMT4を勉強中です。私はここではまだ "Dummie "なんです。11 .09 .引用を開始できない。何が問題なのか、教えてください。喜んでお手伝いさせていただきます。 1...374375376377378379380381382383384385386387388...631 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ヘルプからなのですが、NULLをシンボルとして、EAが動作している楽器だけを「ウォッチ」することは可能でしょうか?
例えばこんな感じ。
NULLは効かないようです。
しかし、Symbol() は動作します =)。
こんにちは。次のような疑問があります。 MQL4.communityにあるMQL4本の 「Simple MQL Programs 」に、以下の 内容のtradingexpert.mq4 の例があります(添付ファイルを ご参照ください)。外部変数extern double StopLoss =200 とextern double TakeProfit =39 がブロック1-2で宣言されています。ブロック8-9のNew_Stop(StopLoss) とNew_Stop(TakeProfit) 関数の呼び出しは、SLと TPの パラメータを計算するために使用されます。ブロック11-12に機能の説明があります。
質問:New_Stop 関数の正式なパラメータは int 型(int Parametr)ですが、関数呼び出しで渡されるパラメータ New_Stop(StopLoss)(New_Stop(TakeProfit)) はdouble 型です。MQL4 ブック、「言語の基礎」セクション、「関数」サブセクションでは、「関数プロパティ」にこう書かれています。"関数呼び出しで渡されるパラメータの数、型、順序は、関数記述で渡される正式なパラメータの数、型、順序と一致しなければなりません(例外はデフォルトパラメータを持つ関数呼び出しです-「関数呼び出しと関数記述、戻り値演算子」を参照してください)。後者によると、StopLossと TakeProfitの 変数を宣言するとき、doubleではなく int 型を指定すべきでした(コンパイラはエラーを出しません) この矛盾をどう説明するのでしょうか?
フォーラムを散らかさないためにも、回答よろしくお願いします。
こんにちは、ヒントをください・・・。インターネットを半分ほど検索してみたが、情報はさまざまである
Expert Advisorの本質は、異なる商品のポジションを開くことです。"現実には、動作して現在の価格が表示されるのですが、履歴を追うことができない......。この関数はゼロを返します。
例えば、2つの通貨EURUSDとEURCHFの現在の気配値を表示したいのですが、どうすればいいですか?
この関数で現在の気配値を呼び出しています(EURUSDチャートがアクティブな時の履歴を追っています)。
MarketInfo("EURUSD",MODE_BID)---> 現在の価格を取得する。
MarketInfo("EURCHF ",MODE_BID)---> ゼロを返す。
このフォーラムで、MarketInfoは履歴では動作しない、"iClose "を使えということを知りました。
しかし、quoteを呼び出すときに
iClose("EURUSD",PERIOD_M1,0)---> 現在の価格を取得します。
iClose("EURCHF",PERIOD_M1,0)---> ゼロを返します。
ストラテジーテスターで、異なる商品の現在の相場を取得するには、他にどのような方法がありますか?ありがとうございました。
MT4テスターは多通貨対応ではありません。つまり、単一通貨のEAしかテストできないのです。
MT4テスターは多通貨対応ではありません。つまり、単一通貨のEAしかテストできないのです。
しゃい
しゃい
より正確には、1つのツールでテストすれば、他のツールで解析することができます。
という感じでしょうか。
こんにちは。次のような疑問があります。 MQL4.communityにあるMQL4本の 「Simple MQL Programs 」に、以下の 内容のtradingexpert.mq4 の例があります(添付ファイルを ご参照ください)。外部変数extern double StopLoss =200 とextern double TakeProfit =39 がブロック1-2で宣言されています。ブロック8-9のNew_Stop(StopLoss) とNew_Stop(TakeProfit) 関数の呼び出しは、SLと TPの パラメータを計算するために使用されます。ブロック11-12には、機能の説明が記載されています。
質問:New_Stop 関数の正式なパラメータはint 型(int Parametr)ですが、関数呼び出しで渡されるパラメータは New_Stop(StopLoss)(New_Stop(TakeProfit))double 型です。MQL4 ブック、「言語基礎」の章「関数」、サブセクション「関数プロパティ」では、次のように記載されています。"関数呼び出しで渡されるパラメータの数、型、順序は、関数記述で渡される正式なパラメータの数、型、順序と一致しなければなりません(例外はデフォルトパラメータを持つ関数呼び出しです-「関数呼び出しと関数記述、戻り値演算子」を参照してください)。後者によると、StopLossと TakeProfitの 変数を宣言するとき、doubleではなく int 型を宣言すべきでした(コンパイラはエラーを生成していません) この矛盾をどのように説明するのでしょうか?
フォーラムを散らかさないように、回答よろしくお願いします。
外部パラメータ(extern double StopLoss =200; extern double TakeProfit =39;)は、原則として整数型(より正確には、著者の考えによれば、ポイント単位の値)であるべきです。関数を呼び出す際には、暗黙のうちに型変換が行われます。浮動小数点型は精度を落として 整数型に変換されます。この場合、それは問題ではありません:意図されたストップと利益のサイズはピップで設定されています - それは常に整数です。
IMHOは、サンプルコードの書き方が悪い。
定数の絶対値を使うのは、ニーモニックネームで、非常に悪い、間違ったスタイルです。
順序列挙の最悪の実装:これ以上「遅れた」ものは考えられません。特別に遅くなるようです:余分な計算、不必要な関数呼び出し - 時間的に最も高価な操作で、しかもループの各反復で。しかも、ループ内では注文数が変化していないにもかかわらず、です。