MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 717

 
Vladimir Pastushak:

ありがとうございます。親クラスのメソッドを呼び出すのに苦労しています。

私の記憶では、parent :: メソッドを介して行われます。

メソッド自体が親にボディを持つか?

 
Artyom Trishkin:

親のメソッド自体にボディがあるか?

はい、そうです。

以下は、そのコードですが、何か間違っているのでしょうか?

//+------------------------------------------------------------------+

class A

  {

public:

   virtual int Test_A()

     {

      return 100;

     }

  };

//+------------------------------------------------------------------+

class B :public A

  {

public:

   virtual int Test_A()

     {

      return 200;

     }

  };


B b;

//+------------------------------------------------------------------+

void OnStart()

  {

   Comment (A::b.Test_A());

  }

//+------------------------------------------------------------------+


 
ジグザグのインジケーターで、極限の価格値を表示するものがあります。極限から未来(翌日)に 向かってトレンドラインを 引く必要がありますが、2点目の座標と1点目の時間値がわからない状態で、どのようにすればいいでしょうか?
 
Vladimir Pastushak:

以下は、そのコードですが、何か間違っているのでしょうか?

そうはイカない

B クラスに test() 本体を書くことで、古い Test() 関数を閉じました。これで、このクラスのインスタンスを宣言して Test() メソッドを呼び出すと、常に B::Test() が実行されますが、もし B::Test() を書かなかった場合は、常に A::Test() が実行されます。

以下はその一例です。

//+------------------------------------------------------------------+
class A
  {
public:
   virtual int Test_A()  { Print(__FUNCSIG__); return 100;  }
  };

//+------------------------------------------------------------------+
class B :public A
  {
public:
   virtual int Test_A()  { Print(__FUNCSIG__," = ", A::Test_A()); return 200;   }
  };

B b;

//+------------------------------------------------------------------+

void OnStart()

  {
   Print (__FUNCSIG__," = ",b.Test_A());
  }
//+-------------------------------------------------------------
 
こんにちは。序数計算の方法を教えてください。つまり、最初にSELLの代わりに1、次に2...となるわけです。...注文がないときにリフレッシュされるまで。ヒントがある!
        if((fMarketOrderss(OP_SELL)>=1)) { 
       if( ((Bid-Opens)/ma+Times/1440) > SELL ) {
if(OrderSend(Symbol(),OP_SELL,0.01,Bid,3,0,0,NULL,321,0,1)>0){} }}
 
うーん、不思議、誰も出ない。
 
Rustam Bikbulatov:
うーん、不思議、誰も返信してくれない。

あなたの投稿を理解している人はいないと思います :)


 

こんにちは、どのようにEAは、外部変数に応じて両方のポジションの単一の注文の指定されたボリュームでポジションを開く ようにするには、例えば、次のとおりです。

1つの注文の数量は1.35ロット、オープンポジションの合計数量は500ロットです。 EAは1.35ロットの買い注文を開き、その後、1.35ロットの売り注文を開きます。

を繰り返し、500ロットの買いと500ロットの売りが開かれるまで、ロット数が1.35の倍数ではないので、最後の注文は1.35未満でなければなりません。

 

ごあいさつ

注文が利益ポイント「ベズビトク」に達すると、注文開始レベルに移動して注文を修正する機能を作りました。正常に動作しているように見えますが、テスト中(そしてすべてのティックにおいて)10~20回ごとにログにエラー 1が送信されます。

エラーは発生しないが、結果は不明

void Bezubitok(){
   for (int i=OrdersTotal()-1; i>=0; i--){
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == magic){
            if(OrderType()==OP_BUY){
               if (OrderStopLoss()!=OrderOpenPrice() && Ask-OrderOpenPrice()>bezubitok*Point){
                  double sl1 = OrderOpenPrice();
                  if(OrderModify(OrderTicket(), OrderOpenPrice(), sl1, OrderTakeProfit(), 0, Indigo)) {}
                  }
               }
            if(OrderType()==OP_SELL){
               if (OrderStopLoss()!=OrderOpenPrice() && OrderOpenPrice()-Bid>bezubitok*Point){
                  double sl1 = OrderOpenPrice();
                  if(OrderModify(OrderTicket(), OrderOpenPrice(), sl1, OrderTakeProfit(), 0, DeepPink)) {}
                  }
               }
            }   
         }
      }
   }

その理由と対策は?

 
Andrey Sokolov:

ごあいさつ

注文が利益ポイント「ベズビトク」に達すると、注文開始レベルに移動して注文を修正する機能を作りました。正しく動作しているように見えますが、テスト中(そしてすべてのティックにおいて)10-20回ごとにエラー 1がログに書き込まれます。

その理由と解決方法を教えてください。

エラー1はエラーにならないが、結果は不明。ポイントは、ストップをすでにある価格と同じに修正しようとしていることです。修正する前に、ストップの価格と設定したい価格を比較してください。すでにその価格になっている場合は、何も修正する必要はありません。