エラー、バグ、質問 - ページ 1695

 
Rashid Umarov:
ORDER_TYPE_BUYとは 何ですか?プリントアウトして0であることを確認すればよい。つまり、そこに秩序はないのである。

I.e. MqlTradeTransaction構造でポジションを開いた後、order_typeはちょうど利用できないのでしょうか?それとも関係なく0なのでしょうか?

ラシード、もしよろしければ、もっと簡単な答えを教えていただけませんか?まあ、プリントアウトすれば0になるんだけど、どう理解すればいいんだろう?


まあ...私がタイピングしている間に、ウラジミールが包括的な答えを出してくれました。ありがとうございます、わかりました。いつものように、ドキュメントを読まずに...。

 
Karputov Vladimir:

異なるタイプの取引では、MqlTradeTransaction 構造体の異なるフィールドに入力されます。

ご覧の通り、TRADE_TRANSACTION_DEAL_ADDについては.order_type が未入力です。

ちなみに、誤解を招くこともあります。なぜ、値が記入されていないと、例えばWRONG_VALUEと指定できないのでしょうか?
 
Alexey Viktorov:


ラシードさん、差し支えなければ、もっと簡単な答えを教えてください。で、プリントアウトすると0になるんだけど、どう理解すればいいんだろう?

この場合、注文の種類を 確認する必要はなく、単に存在しません。
 
Alexey Kozitsyn:
ちなみに、これは誤解を招くこともあるのですが...。値が記入されていない場合など、WRONG_VALUEとして指定できないのはなぜですか?
この熊手を自分で踏んでわからない )
 
Rashid Umarov:
私もこの熊手を踏んでしまったことがあります。言えない )
WRONG_VALUEは、どの列挙型にも暗黙のうちにキャストされるってことですよね?そうでしょう))
 
Rashid Umarov:
この場合、注文の種類を 見る必要はありません。

なんてタイピングが遅いんだ・・・。記事を編集中...

アレクセイ・ヴィクトロフ

追加されました。

まあ...タイピングをしながら、ウラジミールが総合的な答えを出してくれた。ありがとうございました。いつものようにドキュメントを読んでいないのですが・・・。

ありがとうございます。

 

インジケーターでチャート上の自分のハンドルを知るにはどうしたらいいですか?ChartIndicatorNameは短い名前を返すので、適切では ありません。また、同じ名前のインジケータが、異なる入力パラメータで既に実行されている可能性があります。

チャートとその計算からインジケータを削除できるようにしてほしい。

 
fxsaber:

インジケーターでチャート上の自分のハンドルを知るにはどうしたらいいですか?ChartIndicatorNameは短い名前を返すので、適切では ありません。また、同じ名前のインジケータが、異なる入力パラメータで既に実行されている可能性があります。

チャートとその計算からインジケータを削除できるようにしてほしい。

作成時にショートネームを変更した場合はどうなりますか?
 

私の例は、親クラスからメソッドを継承/取得してはいけないのでしょうか?派生クラス で親のメソッドを取得し、後で使用する方法。

親クラスはメソッド「1、2、3」を持っているので、子孫クラスではメソッド「2、3」のみを使用し、メソッド「1」を表示しないようにし、さらに「2、3」は後で使用できるようにしたい。

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class test
  {
public:

   int rezult(void)
     {
      static int t=0;
      t++;
      return t;
     }
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class test_end : public test
  {
public:
   virtual int       rezult(void);
  };

test_end go;
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   go.rezult();
// 'rezult' - function must have a body TEst.mq4        42      7
  }
//+------------------------------------------------------------------+
 
Vladimir Pastushak:

私の例は、親クラスからメソッドを継承/取得してはいけないのでしょうか?派生クラス で親のメソッドを取得し、後で使用する方法。

親クラスはメソッド「1、2、3」を持っているので、子孫クラスではメソッド「2、3」のみを使用し、メソッド「1」を表示しないようにし、さらに「2、3」を使用できるようにしたいのです。

まず、メソッドをvirtualとして宣言する試みがなされたかどうかが不明である。virtualでなければならないのであれば、派生クラスではなく基底クラスにvirtualと書く(そうしないと、派生クラスのインスタンスを入れても基底メソッドへのポインタが再販されるから)。

派生クラスでメソッドをオーバーライドしたくない場合は、一切言及せず、オーバーライドする場合は、ボディを付けてオーバーライドする必要があります。

最後に、派生クラスからこのメソッドを隠すには、中間クラスを導入して、このメソッドをプライヴェート領域に移すか、ベースクラスでプライヴェートにする必要があります(でも、それならなぜヴァーチャルにするのでしょうか)。