記事"MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第23部): 基本取引クラス - パラメータ有効性の検証"についてのディスカッション - ページ 3

 
Alexander:
こんにちは!最新版のライブラリとExpert Part_23をダウンロードし、テスターでビジュアルモードとマーケットモードを設定しました。
ジャーナルに "2019.10.27 10:13:32.157 2019.09.23 10:00:02 failed sell stop limit 2.00 RTS-12.19 at 135750 (135800) sl: 135900 tp: 135600 [Invalid expiration].
取引所シンボル、ブローカーOtkritie、バージョン5.00ビルド2190。
また以前の記事で、私はパート14または15で、あなたはシンボルコレクションと一緒に仕事のためのクラスを作成することを約束したと思います。
ガラスと一緒に、しかし、何らかの理由で、あなたはそれらを作成していない、これらはシンボルとアカウントと一緒にライブラリの基本的なニーズであり、あなたはすでにすでに残している

図書館の改善(リソース、サウンドなど)には程遠く、基本的なタスクを見逃していると思います。

ありがとうございます。ライブラリーはとても必要とされています。

こんにちは。ガラスを使った作業は、トレードクラスの作成後に実装される予定です。

ライブラリの説明のこの部分に、正しい有効期限値を自動的に設定する可能性があると思います:

CTrading::SetCorrectTypeExpiration(const ENUM_ORDER_TYPE_TIME type=ORDER_TIME_GTC,const string symbol=NULL);
CTrading::SetCorrectTypeFilling(const ENUM_ORDER_TYPE_FILLING type=ORDER_FILLING_FOK,const string symbol=NULL);

もしあるのであれば(残念ながらこの部分については覚えていません)、OnInit()の中でこの2つのメソッドに値を指定して呼び出せば、使用されている各シンボルのすべてのトレード・オブジェクトに、fillとexpiryのタイプに正しい値が設定されるはずです。

もしここになければ、次の記事が出るのを待ってください。

 

Part23アドバイザーのOnInitで2行書きました。

engine.TradingSetCorrectTypeExpiration();

engine.TradingSetCorrectTypeFilling();

何も役に立たず、ログに同じことが書かれています。

 
Alexander:

Part23のアドバイザーのOnInitで、私は次の2行を書いた。

engine.TradingSetCorrectTypeExpiration();

engine.TradingSetCorrectTypeFilling();

何も役に立たず、ログに同じことが書き込まれます。

わかりました。ありがとう。

 
Alexander:

Part23のアドバイザーのOnInitで、私は次の2行を書いた。

engine.TradingSetCorrectTypeExpiration();

engine.TradingSetCorrectTypeFilling();

何も役に立たず、ログに同じことが書き込まれます。

これらの行はどこに挿入するのですか?

作業シンボルのリストを作成した 後、 OnInit() に挿入する必要があります:

//--- 使用記号の配列を埋める
   used_symbols=InpUsedSymbols;
   CreateUsedSymbolsArray((ENUM_SYMBOLS_MODE)used_symbols_mode,used_symbols,array_used_symbols);

//--- シンボルコレクションで使用するシンボルリストのタイプを設定する。
   engine.SetUsedSymbols(array_used_symbols);

//--- ここでは、すべてのシンボルの取引オブジェクトに、執行タイプと期限タイプを正しく設定する必要があります。

//--- Отображение выбранного режима работы с коллекцией объектов-символов
   Print(engine.ModeSymbolsListDescription(),TextByLanguage(".使用文字数: ",". The number of symbols used: "),engine.GetSymbolsCollectionTotal());
 
注文タイプが StopLimitであることに誰も気づかなかったのか?
 
Алексей Тарабанов:
注文タイプが StopLimitであることに誰も注意を払わなかったのですか?

ええ、気づきませんでした。他に何かありますか?要するに、逆指値注文は指値注文をトリガーする逆指値注文なんだ。この組み合わせの条件は、逆指値注文と指値注文を別々に使う場合と同じではないのですか?

 
Artyom Trishkin:

ああ、注意していなかったよ。他に何かありますか?基本的に、逆指値注文は指値注文をトリガーする逆指値注文です。この組み合わせの条件は、逆指値注文と指値注文を別々に使う場合と同じではないのですか?

リミットが違います。タイムアウトも。

 
Алексей Тарабанов:

リミットが違う。そしてタイムアウト。

これは文字仕様のどこにあるのか?必要なデータはどうやって調べればいいのですか?
 
どこにも。開発者にも、論理にも。
 
Alexander:

Part23のアドバイザーのOnInitで、私は次の2行を書いた。

engine.TradingSetCorrectTypeExpiration();

engine.TradingSetCorrectTypeFilling();

何も役に立たず、ログに同じことが書き込まれます。

一般的に、私はBinary.com-ServerでCFDをチェックしました。逆指値注文が発注されています:

Discoverで確認するにはどうしたらいいですか?口座を開設する必要がありますか?