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

 
Igor Makanu:

もし、新規注文のロットサイズを、すでに開いている注文の最大ロットサイズと比較して大きくすることが問題であれば、注文を数える際に、注文の最大ロットサイズを覚えておいてください。

このように

ロットを数えてもらった。ステップも取引ごとに増やしてほしい。係数による

 
Carcass77:

ロットをカウントしています。トレードするたびにピッチが上がるようにしてほしい。係数で。

魔法のステップ」について書かれるのは2回目ですが、そのステップが何であるかを推測する必要があるのです)))

もし、「極端な」注文の始値について話していて、これらの注文の始値に対して新しい注文を出したい場合、原理は同じで、注文を再計算するときに、注文の種類ごとに最大/最小の 始値を探す、大体そんな感じです。

int NumberOfOrders(int magic_,double &openpricemaxbuy_,double &openpriceminsell_)
  {
   int i,ot,buy_=0,sell_=0,k=OrdersTotal();
   openpricemaxbuy_=0.0; openpriceminsell_=0.0;
   for(i=0; i<k; i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         ot=OrderType();
         if((OrderMagicNumber()==magic_) && (OrderSymbol()==_Symbol))
           {
            if(ot==OP_BUY) { buy_++;  openpricemaxbuy_  = fmax(openpricemaxbuy_,OrderOpenPrice());  }
            if(ot==OP_SELL){ sell_++; openpriceminsell_ = fmin(openpriceminsell_,OrderOpenPrice()); }
           }
        }
     }
   return(buy_+sell_);
  }



ZZY:クローズド・オーダーの場合、コードは異なり、オーダーの列挙の原則も若干異なります。

 

皆さん、こんにちは。インジケータで印刷 機能が動作しない理由を教えてください。

//+------------------------------------------------------------------+
//|                                                        test3.mq4 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
       Print("Hello");
       Print("---- First indicator -----");

   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Alexander Mikryukov:

皆さん、こんにちは。インジケータで印刷 機能が動作しない理由を教えてください。

動かないわけがない、メッセージは専門家の日誌をご覧ください

 
Igor Makanu:

働かざるもの食うべからず、専門家の日誌を見よ、あなたのメッセージを。

ああ、バカだな。ありがとうございます。

 
おやすみなさい!1つのスクリプトで複数のアカウントを管理することが可能かどうか教えてください。ありがとうございました。
 
Maxim Voronin:
おやすみなさい!1つのスクリプトで複数のアカウントを管理することが可能かどうか教えてください。ありがとうございました。

できるけど、台本じゃなくて、アドバイザーがいる。アカウントは別々の端末で運用しなければならない...。

 
Vladimir Pastushak:

できるけど、台本じゃなくて、アドバイザーがいる。アカウントは異なる端末で実行する必要があります...

気になる方はこちらへ
 
Maxim Voronin:
差し支えなければ続けてください

他の端末と通信できるEAを書くわけですが、コピー機はその一例です。

単純に、あるEAが何かを送信して、それを別の端末で受信する...。

 

init_parameters_incorrect

プログラマーに入力パラメータのセットが正しくないことを示すように設計されており、このリターンコードを持つ結果文字列は、一般的な最適化テーブルで赤色にハイライトさ れます。

Expert Advisorのこのパラメータセットでは、テストは実行されません。



何かが赤くハイライトされていない。

誰にとってもそうなのでしょうか?


これはOnInitのコードです。
int OnInit()
{

if (Koef2<=Koef) return(INIT_PARAMETERS_INCORRECT); 

return(INIT_SUCCEEDED);


そして、ログには次のようなエラーが書かれている。