記事についてのディスカッション

 

新しい記事「DoEasyライブラリの時系列(第58部): 指標バッファデータの時系列」はパブリッシュされました:

時系列の操作に関するトピックのしめくくりとして、指標バッファに格納されているストレージ、検索、およびデータの並べ替えを整理します。これにより、プログラムでライブラリベースで作成される指標の値に基づいて分析をさらに実行できます。ライブラリのすべてのコレクションクラスの一般的な概念により、対応するコレクションで必要なデータを簡単に見つけることができます。それぞれ、今日作成されたクラスでも同じことが可能です。

EAをコンパイルし、現在の銘柄と時間枠のみを使用するように事前に設定されているチャートで起動します。チャートのコメントには、作成されたすべての指標の最初とゼロ(現在)バーのデータが表示されます。


より明確にするために、同じ設定の同じ指標がチャートにプロットされます。チャートのコメントとデータウィンドウ(Ctrl + D)の指標データは、現在のバーの更新の値と一致します。

作者: Artyom Trishkin

 
蒸気機関車が長い距離を走り、乗客が遅れているような感じだ。
 
蒸気機関車についてはそうだね。これまでやってきたことを踏まえれば、使い方のマニュアルが書けるような気がする。
使い方のマニュアルが書けそうな気がする。と思っていたんだ。
ライブラリーの現状を考えると、過去の一定期間の取引結果のデータを全部集めて
過去の一定期間の取引結果、例えば、何回取引して、どのシンボルで、どれだけの利益が出たか、
どのようなシンボルで、どのような利益で、など。
どうすればいいのか教えてください。

 
Alexander:
蒸気機関車についてはその通りだ。すでに行われたことを踏まえると、私にはそう思える。
使い方のマニュアルが書けそうだね。私はずっと
ライブラリーの現状を考えると、結果に関するすべてのデータを得るために
過去のある期間の取引結果、例えば合計で 何回取引が あったのか、
どのようなシンボルで、どのような利益を得たか、などです。
どうすればいいのか教えてください。

様々な問題を解決する方法を例示したガイドを、ライブラリが完全に完成した後に作成する予定です。

今のところ、各記事にはその記事で説明されている機能の使い方の例があります。

 

この作者には、1つのライブラリーのパート数の絶対記録でメダルを授与すべきだ:)

 
Aleksey Mavrin:

この作者には、1つのライブラリーのパート数の絶対記録でメダルを授与すべきだ:)

このメダルを自分で書いて取ることを妨げるものは何ですか?

 
例えば、プログラムを書き、それを常に改良しているプログラマー全員が、同じようなことを想像できますか?
Metaquotesは、プラットフォームとMQL言語に関するヘルプを書く前に、彼らが最初にプラットフォームをリリースしたときに皆に言いました。
MT4、MT5、SQLとの統合、Pitonとの統合をリリースする予定です。
すべてのヘルプを一度にリリースします。そして第二に、私はあなたの最新のリリースにEAを見つけられませんでした。
ToDoEasyPart56には、ヒストリカルオーダーの 操作に関する記述が一行もありません。
 
Alexander:
例えば、プログラムを書き、それを常に改良しているプログラマーが全員同じだとしたら、想像できるだろうか。
Metaquotesは、プラットフォームとMQL言語に関するヘルプを書く前に、彼らが最初にプラットフォームをリリースしたときに皆に言った。
MT4、MT5をリリースし、SQLと統合し、Pitonと統合します。
すべてのヘルプを一度にリリースします。そして第二に、私はあなたの最新リリースにEAを見つけられませんでした。
ToDoEasyPart56ヒストリカルオーダーの 操作については一行も書かれていません。
この一連の記事は、ライブラリを作成するプロセスについてです。最初の実装を改善することではなく、一貫した機能の作成についてです。もちろん、オーダーシステムでの作業の例は、このライブラリ機能の作成に特化した記事にあります。
 
Artyom Trishkin:
この連載は、ライブラリーを作るプロセスについて書いている。最初の実装を改善することではなく、一貫した機能の作成についてです。オーダーシステムでの作業の例は、もちろん、このライブラリ機能の作成に捧げられた記事の中にある。

問題は、その後の改良と一貫した機能性の創造である、

問題なのは、その後の改良と一貫した機能性の作成の後、この機能性に捧げられた記事で明らかに機能していた例が、次のバージョンでは

バージョンでは動作しないことです。それが、私があなたに助けを求めた理由です。

と思ったからです。

 
Alexander:

問題は、さらに改良を加え、一貫した機能を作り上げた後だ、

この機能に特化した記事の中で、以前は明らかに機能していた例が、今では次のような記事になっていることだ。

バージョンは、少なくとも私にとっては機能しません。それが、私があなたに助けを求めた理由です。

と思ったからです。

もちろん、ライブラリーは拡張し、何かが変わる。しかし、基本原則は変わりません。例はロジックを示しているのであって、明確な行動計画を示しているわけではない。
あなたのコードを見せて、何がうまくいっていないのか教えてください。
 
Artyom Trishkin:
当然、ライブラリーは拡大し、状況は変化する。しかし、基本原則は変わらない。例はロジックを示しているのであって、明確な行動計画を示しているわけではありません。
あなたのコードを見せて、何がうまくいっていないか教えてください。

TestDoEasyPart56 関数 void OnInitDoEasy() の一番最後に、次のコードを挿入しました。

2020.12.11 10:00'から現在までの過去の注文の コレクションを取得します。そして

注文はこのコードを取得しなかった。

CArrayObj* list_positions=engine.GetListHistoryOrders();
           // list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_SYMBOL,Symbol(),EQUAL);
            list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_TIME_CLOSE,D'2020.12.11 10:00',MORE);
            //--- Выбираем позиции с прибылью болше нуля
            list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_PROFIT_FULL,0,MORE);
            if(list_positions!=NULL)
              {Print("OK1");
               //--- Сортируем список по прибыли 
               //list_positions.Sort(SORT_BY_ORDER_PROFIT);
               list_positions.Total();
               Print(list_positions.Total());//                                здесь получаем 0
               //--- Получаем индекс позиции с наибольшей прибылью
               int index=CSelect::FindOrderMax(list_positions,ORDER_PROP_PROFIT);
               if(index>WRONG_VALUE)
                 {Print("index= ",index);
                  COrder* position=list_positions.At(index);
                  if(position!=NULL)
                    {
                     //--- Получаем тикет позиции с наибольшей прибылью и закрываем позицию по тикету
                     Print("OK");
                     Print(engine.GetListDeals());
                    }
                 }
              }

Print(list_positions.Total());を表示するところでは、"0 "が表示される。

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...