"ダミー "からの質問 - ページ 181 1...174175176177178179180181182183184185186187188...277 新しいコメント Igor Maslov 2012.09.05 14:09 #1801 助けて!どこにも情報がないんです。数回取引した後のポジションの加重平均 始値を調べるにはどうしたらいいですか?CPositionInfo のPriceOpen() は最初の取引の価格を表示しますが、数回の取引の後に得られた現在の価格が必要です。 Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы www.mql5.com Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5 削除済み 2012.09.05 14:10 #1802 class Parent1 { public: virtual void Fn() {} }; template <typename type> class Parent2 // Какой-то библиотечный класс. { public: void Fn() {} // Эту функцию хочу вызвать в Parent 1. }; class Derived : public Parent2<type>, public Parent1 { }; Parent1 *p = new Derived(); p->Fn(); つまり、欲しい機能を持つクラス(リンクリストParent2)があるとします。このクラスは、他の階層に接続したい(多重継承を使用する)。そして、この階層の基底クラスで、これらのライブラリ関数を呼び出すための同名(ライブラリクラスと同じ)の仮想関数を 定義する。ライブラリクラスはテンプレートなので、結果的に、(多重継承後の)出力型がわからない(たくさんあって、それぞれ違う)。しかし、それはすべて実現不可能なことのように思えます。 削除済み 2012.09.05 14:11 #1803 sergeev:興味本位C++で Q3を作る方法: public Q1, public Q2 と同時に、コンパイラに何を期待されているかを理解させることができます。 このノートのどこが悪いんだ?多重継承と呼ばれるものです。 Mykola Demko 2012.09.05 14:18 #1804 220Volt: この記事の何が問題なのか?これを多重継承といいます。そうですね、ただ、プロトタイプが同じ機能を持つのであれば、カスケード継承を行う方が論理的です。仮想関数や 明示的関数のセットが異なる場合、多重継承が必要であり、すべての仮想関数や明示的関数が子孫で利用可能でなければならない。特に重要なのは、すでに一定の階層があるにもかかわらず、一部の仮想化が不足している場合、確立したクラスを書き換えるのではなく、複数の継承を行い、不足している仮想化を並列ブランチで仮想化することである。 削除済み 2012.09.05 14:25 #1805 Urain:そうですね、ただ、プロトタイプが同じ機能を持つのであれば、カスケード継承を行う方が論理的です。仮想関数や 明示的関数のセットが異なる場合、多重継承が必要であり、すべての仮想関数や明示的関数が子孫で利用可能でなければならない。特に、既にある階層があり、その中に仮想的なものが欠けている場合、確立したクラスを書き換えることを避けるために多重継承を行い、欠けている仮想的なものを並列分岐で仮想化することが重要である。 私の理解では、多重継承はいくつかのライブラリ機能を接続するのに適しており、テンプレートがなければすべてがうまくいくはずです。 --- 2012.09.05 14:29 #1806 220Volt: このエントリーの何が問題なのか?多重継承と呼ばれるものです。と呼びたいのですが、コンパイラと交渉する必要があります。で、Q2でFnを定義するのが唯一の合意事項のようです。 Nauris Zukas 2012.09.05 14:46 #1807 こんにちは。 全シンボルのオープンポジションの数量を一度に選択するにはどうすればよいですか? if(PositionSelect(Symbol_)) open_volume = PositionGetDouble(POSITION_VOLUME) - この関数は、各シンボルの結果のみを個別に出力します。 削除済み 2012.09.05 15:53 #1808 abeiks: こんにちは。 全シンボルのオープンポジションの数量を一度に選択するにはどうすればよいですか? if(PositionSelect(Symbol_)) open_volume = PositionGetDouble(POSITION_VOLUME) - この関数は、各シンボルの結果のみを個別に出力します。 すべてのシンボルをループして、まとめるのです。おおよそこのような感じです。double volume = 0; for(int counter = PositionsTotal(); counter > 0; counter --) { if( PositionSelect(PositionGetSymbol(counter)) ) volume += PositionGetDouble(POSITION_VOLUME); } 正しさを確認しなかった(全くコンパイルしなかった)。 Nauris Zukas 2012.09.05 17:09 #1809 220Volt:全キャラクターをループさせて、要約するんです。こんな感じ。 正しさの確認はしていません(全くコンパイルしていません)。AccountInfoDouble(ACCOUNT_BALANCE)のように、オープンポジションのみ で、何かありそうだと思ったのですが。でも、全キャラクターをループさせないといけないんですね。ありがとうございます。 Иван 2012.09.06 09:15 #1810 Print関数が 40ではなく0をプリント する理由がわからないのですが?//+------------------------------------------------------------------+ //| test_deviation.mq5 | //| Copyright 2012, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2012, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #include <Trade\Trade.mqh> //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- CTrade trade; trade.SetDeviationInPoints(40); Print(trade.RequestDeviation()); } //+------------------------------------------------------------------+ 1...174175176177178179180181182183184185186187188...277 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
助けて!どこにも情報がないんです。
数回取引した後のポジションの加重平均 始値を調べるにはどうしたらいいですか?CPositionInfo のPriceOpen() は最初の取引の価格を表示しますが、数回の取引の後に得られた現在の価格が必要です。
興味本位
C++で Q3を作る方法: public Q1, public Q2
と同時に、コンパイラに何を期待されているかを理解させることができます。
この記事の何が問題なのか?これを多重継承といいます。
そうですね、ただ、プロトタイプが同じ機能を持つのであれば、カスケード継承を行う方が論理的です。
仮想関数や 明示的関数のセットが異なる場合、多重継承が必要であり、すべての仮想関数や明示的関数が子孫で利用可能でなければならない。
特に重要なのは、すでに一定の階層があるにもかかわらず、一部の仮想化が不足している場合、確立したクラスを書き換えるのではなく、複数の継承を行い、不足している仮想化を並列ブランチで仮想化することである。
そうですね、ただ、プロトタイプが同じ機能を持つのであれば、カスケード継承を行う方が論理的です。
仮想関数や 明示的関数のセットが異なる場合、多重継承が必要であり、すべての仮想関数や明示的関数が子孫で利用可能でなければならない。
特に、既にある階層があり、その中に仮想的なものが欠けている場合、確立したクラスを書き換えることを避けるために多重継承を行い、欠けている仮想的なものを並列分岐で仮想化することが重要である。
このエントリーの何が問題なのか?多重継承と呼ばれるものです。
と呼びたいのですが、コンパイラと交渉する必要があります。
で、Q2でFnを定義するのが唯一の合意事項のようです。
こんにちは。
全シンボルのオープンポジションの数量を一度に選択するにはどうすればよいですか?
if(PositionSelect(Symbol_)) open_volume = PositionGetDouble(POSITION_VOLUME) - この関数は、各シンボルの結果のみを個別に出力します。
こんにちは。
全シンボルのオープンポジションの数量を一度に選択するにはどうすればよいですか?
if(PositionSelect(Symbol_)) open_volume = PositionGetDouble(POSITION_VOLUME) - この関数は、各シンボルの結果のみを個別に出力します。
すべてのシンボルをループして、まとめるのです。おおよそこのような感じです。
正しさを確認しなかった(全くコンパイルしなかった)。全キャラクターをループさせて、要約するんです。こんな感じ。
正しさの確認はしていません(全くコンパイルしていません)。AccountInfoDouble(ACCOUNT_BALANCE)のように、オープンポジションのみ で、何かありそうだと思ったのですが。でも、全キャラクターをループさせないといけないんですね。ありがとうございます。
Print関数が 40ではなく0をプリント する理由がわからないのですが?