初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 979

 
Kolya32:
こんにちは。MQL5ですぐに使える関数のセットをご存じですか?例えば、 Igor Kim aka KimIVによる MQL4ライブラリ https://www.mql5.com/ru/forum/131859

MT4Ordersライブラリを使用すれば、これらの関数はすべてクロスプラットフォーム(MT4とMT5でコードを変更せずに同じように動作する)することができます。

 
fxsaber:

MT4Ordersライブラリを使用すれば、これらの機能はすべてクロスプラットフォーム(MT4とMT5で同じ動作をするようにコードを変更することなく)で使用することが可能です。

ありがとうございます。mql5でEAを作成 し、mql4のEAから全てをコピーし、ライブラリを接続しました。当初は、ライブラリなしが104個、ライブラリありは74個のエラーがありました。それは、ライブラリーの説明文に「オーダー システムのみを 対象として います」と書かれていることから、よく理解できます。そして、私のEAにはもっともっとたくさんのものがあるのですが...。
 
Kolya32:
mql5でEAを作成し、そこから全てをコピーしています。mql5でEAを作成 し、mql4から全てをコピーして、ライブラリを添付しました。当初は、ライブラリなしが104個、ライブラリありは74個のエラーがありました。それは、ライブラリーの説明文に「オーダー システムのみを 対象として います」と書かれていることから、よく理解できます。そして、私のEAにはもっともっとたくさんのものがあるのですが...。

この方法でEA化した例はたくさんあります。当初、私はあなたのEAについてではなく、キムの機能について話していました。

 
fxsaber:

この方法でEA化した例はたくさんあります。元々、これは御社のEAではなく、キムさんの機能に関するものです。

わかりました、ありがとうございます。そのようなライブラリがあることは頭に入れておきますが、やはりMQL5の 勉強が必要ですね。MQL5でリメイクできる既製品の関数の例をほとんど見たことがありません。
 
Kolya32:
了解です、ありがとうございました。そのようなライブラリがあることは頭に入れておきますが、やはりMQL5の 勉強が必要ですね。既製のMQL5関数をMQL5でリメイクする例はほとんどありません。
自分のために書く必要があるのです。1つの機能であらゆるシーンに対応するという考え方は間違っています。
MQL5で作りたい機能は何ですか?
 
Vladimir Karputov:
自分のために書く必要があるのです。1つの機能であらゆるシーンに対応するという考え方は間違っています。
MQL5で作りたい機能は何ですか?

パソコンの電源が切れている間、クオカードを切ることができる、万能なやつです。そして、できれば大きな額面で。eurynotesに書いてもいいよ ))))

 
Vladimir Karputov:
自分のために書かなければならないのです。1つの機能であらゆるシーンに対応するという考え方は間違っています。
MQL5で作りたい機能は何ですか?

MQL5 FUNCTION TO CHECK IF A TODAY'S ACCOUNTがどうしても必要なんです。イエスなら真、ノーなら偽(もちろんMagic付き)。MT4でこの機能を使っています。

bool isTradeToDay(string sy="", int op=-1) {
  int i, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (Magic<0 || OrderMagicNumber()==Magic) {
              if (TimeDay  (OrderOpenTime())==Day()
              &&  TimeMonth(OrderOpenTime())==Month()
              &&  TimeYear (OrderOpenTime())==Year()) return(True);
            }
          }
        }
      }
    }
  }
  k=OrdersTotal();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (Magic<0 || OrderMagicNumber()==Magic) {
              if (TimeDay  (OrderOpenTime())==Day()
              &&  TimeMonth(OrderOpenTime())==Month()
              &&  TimeYear (OrderOpenTime())==Year()) return(True);
            }
          }
        }
      }
    }
  }
  return(False);
}
 
Kolya32:

MQL5で、今日取引が行われたかどうかをチェックするFUNCTIONがどうしても必要なのです。Yesならtrue、Noならfalse(もちろんMagicを設定した場合)。MT4でこの機能を使っています。

まずはコードを 正しく挿入してみてください。プレーンテキストのあなたのシートは見たくない。
 
Vladimir Karputov:
まずはコードを 正しく挿入してみてください。プレーンテキストのあなたのシートを見る気はない。
修正済み)
 
Kolya32:

MQL5で、今日取引が行われたかどうかをチェックするFUNCTIONがどうしても必要なのです。Yesならtrue、Noならfalse(もちろんMagicを設定した場合)。MT4でこの機能を使っています。

MQL5に搭載されています

bool  HistorySelect(
   datetime  from_date,     // с даты
   datetime  to_date        // по дату
   );

戻り値

成功した場合はtrueを、そうでない場合はfalseを返す。

Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Функция HistorySelect() создает в mql5-программе список ордеров и список сделок для дальнейшего обращения к элементам списка посредством соответствующих функций. Размер списка сделок можно узнать с помощью функции HistoryDealsTotal(), размер списка ордеров в истории можно получить с HistoryOrdersTotal(). Перебор элементов списка ордеров лучше...
理由: