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

 
ulong  HistoryDealGetTicket(
   int  index      // номер сделки
   );

トランザクション番号とは何ですか?

最後の取引はどのように選択するのですか?インデックス0?

オープンポジションと 取引履歴のある口座を持っています。最後の取引を選択したい。

#include <Trade\DealInfo.mqh>  

CDealInfo deal;  

   for(int n=20;n>=0;n--)
     {
      deal.SelectByIndex(n);
      Print("Тикет сделки=",deal.Ticket()," n=",n);
     }


全てのティックが0...
 
tor4en:
ulong  HistoryDealGetTicket(
   int  index      // номер сделки
   );

トランザクション番号とは何ですか?

HistoryDealGetTicket()関数の 説明を参照してください。また、案件のリストと連動する例もあります。
 
Yedelkin:
HistoryDealGetTicket()関数の 説明を参照してください。また、案件のリストを使った作業例もあります。
標準ライブラリの SelectByIndex() 関数をどのように扱えばよいのかがわからない。
 
tor4en標準ライブラリの SelectByIndex() 関数の扱いがよくわからない。
トランザクション番号とは何ですか」という質問に対する答えを提案してみました。この質問には、対応したと考えていいのでしょうか?
 
Yedelkin:
トランザクション番号とは何ですか」という質問に対して、答えを提案してみました。この質問には、対応したと考えていいのでしょうか?
どうぞ、ありがとうございます。案件を調べて時間やそのチケットを比較することなく、ポジションの最後の案件を選択することが可能かどうか教えてください。
 
tor4en: ポジションの最後の取引を、取引を経ずに、時間やティックを比較しながら選択することが可能かどうかご存知ですか?

1.残念ながら、私はStandard Libraryを使わないようにしているので、SelectByIndex()メソッドの扱い方について適切なアドバイスをすることはできません。CDealInfoクラス自体が、トランザクションのプロパティを扱うためのクラスという位置づけで、つまりトランザクションのリストを取得するための問題が抜け落ちているように見えることだけは注意が必要です。

2.ご存知のように、SelectByIndex()メソッドは、HistoryDealGetTicket()関数を 使用するだけです。この関数の説明から、取引にアクセスする前に、すべての取引のリストを取得 する必要があることがわかる。特に。

//--- запросим историр ю сделок в указанном интервале
   HistorySelect(from_date,to_date);
//--- общее количество в списке сделок
   int deals=HistoryDealsTotal();
//--- теперь обработаем каждую сделку
   for(int i=0;i<deals;i++)
     {
      deal_ticket=HistoryDealGetTicket(i);
      ...
     }

1年ほど前、フォーラムで「リストの最後の案件は常にHistoryDealsTotal()- 1のインデックスを持っていると考えることは可能か」と質問しましたが、回答はありませんでした(あるいは気づいていなかった、可能性は低いですが)科学的証明の方法を用いても、この論文に対する反論は見つかっていない。したがって、論理的には、拠点端末で受信した新しい案件の情報をもとに、案件リストを1つずつ増やしていけばよく、それぞれ案件リスト中のインデックスを昇順に割り当てていけばよい。現実にはどうなのか、それはわからない。

3.MetaTrader 5のOrders, Positions and TradesとExpert Advisorを書くときに標準ライブラリのトレードクラスを 使用する方法(自分は読んでいない)を読むことをお勧めします。

以上です :)

 
HistoryDealsTotal()-1
これはいいアイデアだと思う。もし、特定のポジションで案件を探すのであれば、HistorySelectByPosition(position_ID)を使用するのがよいでしょう。ありがとうございます。
Документация по MQL5: Торговые функции / HistorySelectByPosition
Документация по MQL5: Торговые функции / HistorySelectByPosition
  • www.mql5.com
Торговые функции / HistorySelectByPosition - Документация по MQL5
 
tor4en: 特定のポジションの取引を探す場合は、HistorySelectByPosition() を使用するのがよいでしょう。
まさにその通りです :)
 
こんにちは!!!

専門家 ヘルプ、 お願いします いわば相乗効果を狙って2つのEAを作ったのですが、単純なものは繋がるようですが、こちらは前作と同様に全て正しく行っているにも関わらず、コンパイルができません。以下は、その内容です。

'Supervisor' -関数は グローバルスコープでのみ宣言可能です 20_200_pips_MQL5_v1.mq5 360 18

'Perceptron' - 関数はグローバルスコープでのみ宣言可能です 20_200_pips_MQL5_v1.mq5 418 8

'basicTradingSystem' - 関数はグローバルスコープでのみ宣言可能です 20_200_pips_MQL5_v1.mq5 434 6

この関数はグローバルスコープでのみ宣言できる

グローバルスコープがどこにあるのか、本当に混乱しています。

 
chipo: 相乗効果を狙って2つのEAを接続したところ、単純なものは接続できるようですが、このEAは前作と同様に全て正しく行っているにもかかわらず、コンパイルできません。このようなものが出てきます。

'Supervisor' - 関数はグローバルスコープでのみ宣言可能です 20_200_pips_MQL5_v1.mq5 360 18

'Perceptron' - 関数はグローバルスコープでのみ宣言可能です 20_200_pips_MQL5_v1.mq5 418 8

'basicTradingSystem' - 関数はグローバルスコープでのみ宣言可能です 20_200_pips_MQL5_v1.mq5 434 6

この関数はグローバルスコープでのみ宣言できる

グローバルスコープがどこにあるのか、本当に混乱しています。

このようなメッセージは、例えば、ある関数が別の関数の内部で宣言されている場合などに表示されます。コードにこのようなものがあるかどうか確認してください。

func_1()
   {
    void  func_2()...
   }
理由: