Информация о типе транзакции содержится в поле type переменной trans. Типы торговых транзакций описываются в перечислении ENUM_TRADE_TRANSACTION_TYPE:
•TRADE_TRANSACTION_ORDER_ADD – добавление нового действующего ордера
•TRADE_TRANSACTION_ORDER_UPDATE – изменение действующего ордера
•TRADE_TRANSACTION_ORDER_DELETE – удаление ордера из списка действующих
•TRADE_TRANSACTION_DEAL_ADD – добавление сделки в историю
•TRADE_TRANSACTION_DEAL_UPDATE – изменение сделки в истории
•TRADE_TRANSACTION_DEAL_DELETE – удаление сделки из истории
•TRADE_TRANSACTION_HISTORY_ADD – добавление ордера в историю в результате исполнения или отмены
•TRADE_TRANSACTION_HISTORY_UPDATE – изменение ордера, находящегося в истории ордеров
•TRADE_TRANSACTION_HISTORY_DELETE – удаление ордера из истории ордеров
•TRADE_TRANSACTION_POSITION – изменение позиции, не связанное с исполнением сделки
•TRADE_TRANSACTION_REQUEST – уведомление о том, что торговый запрос обработан сервером и результат его обработки получен.
DF 016:03:13.543 Core 12018.08.0223:00:06 deal performed [#8571 sell 0.01 EURUSD at 1.15887]
PL 016:03:13.543 Core 12018.08.0223:00:06 order performed sell 0.01 at 1.15887 [#8571 sell 0.01 EURUSD at 1.15887]
OR 016:03:13.543 Core 12018.08.0223:00:06 CTrade::OrderSend: market sell 0.01 EURUSD tp: 1.15841 [done at 1.15887]
JM 016:03:13.543 Core 12018.08.0223:20:40take profit triggered#8571 sell 0.01 EURUSD 1.15887 tp: 1.15841 [#8572 buy 0.01 EURUSD at 1.15841]
CR 016:03:13.543 Core 12018.08.0223:20:40 deal #8572 buy 0.01 EURUSD at 1.15841 done (based on order #8572)
QM 016:03:13.543 Core 12018.08.0223:20:40 deal performed [#8572 buy 0.01 EURUSD at 1.15841]
MS 016:03:13.543 Core 12018.08.0223:20:40 order performed buy 0.01 at 1.15841 [#8572 buy 0.01 EURUSD at 1.15841]
FQ 016:03:13.543 Core 12018.08.0223:41:40take profit triggered#8570 sell 0.01 EURUSD 1.15868 tp: 1.15822 [#8573 buy 0.01 EURUSD at 1.15822]
CN 016:03:13.543 Core 12018.08.0223:41:40 deal #8573 buy 0.01 EURUSD at 1.15822 done (based on order #8573)
RQ 016:03:13.543 Core 12018.08.0223:41:40 deal performed [#8573 buy 0.01 EURUSD at 1.15822]
QG 016:03:13.543 Core 12018.08.0223:41:40 order performed buy 0.01 at 1.15822 [#8573 buy 0.01 EURUSD at 1.15822]
IF 016:03:13.543 Core 12018.08.0223:41:40 Закрыта позиция ---Тикет сделки--- 8573 --- записана в структуру ArrayDealOut ------------
ED 016:03:13.543 Core 12018.08.0223:59:59 position closed due end of test at 1.15858 [#8079 sell 0.01 EURUSD 1.15860 tp: 1.15814]
KJ 016:03:13.543 Core 12018.08.0223:59:59 deal #8574 buy 0.01 EURUSD at 1.15858 done (based on order #8574)
KD 016:03:13.543 Core 12018.08.0223:59:59 deal performed [#8574 buy 0.01 EURUSD at 1.15858]
OK 016:03:13.543 Core 12018.08.0223:59:59 order performed buy 0.01 at 1.15858 [#8574 buy 0.01 EURUSD at 1.15858]
EN 016:03:13.543 Core 12018.08.0223:59:59 position closed due end of test at 1.15858 [#7386 sell 0.01 EURUSD 1.15674 tp: 1.15628]
QD 016:03:13.543 Core 12018.08.0223:59:59 deal #8575 buy 0.01 EURUSD at 1.15858 done (based on order #8575)
JO 016:03:13.543 Core 12018.08.0223:59:59 deal performed [#8575 buy 0.01 EURUSD at 1.15858]
NQ 016:03:13.543 Core 12018.08.0223:59:59 order performed buy 0.01 at 1.15858 [#8575 buy 0.01 EURUSD at 1.15858]
NS 016:03:13.543 Core 12018.08.0223:59:59 position closed due end of test at 1.15858 [#7385 sell 0.01 EURUSD 1.15691 tp: 1.15645]
青いボタンを押して、デバッガで試してみてください。
あらかじめブレークポイントを設定し、値がどこにあるのか、どのような値が期待されていたのかを確認することでOK、エラーは見当たらないので、チェックし、結果的にポジションのオープンを書き、クローズまで長く待たないようにストップを調整する必要があります...。
いやはや、まだまだ初耳なのですが、ドットの原理は何なのでしょうか?とにかく...ありがとうございます、調べてみます。
また、開発元から何らかのポマゲを参照する方法はあるのでしょうか?そのようなサービスはあるのでしょうか?まあ、顔のわかりにくさ、取引の来なさ、条件付きで選ばれる部分と、条件付きで選ばれる部分とがあるわけですが......。まあ、ここではあまり知識も必要ないんですけどね。
いやはや、まだまだ初耳なのですが、ドットの原理は何なのでしょうか?とにかく...ありがとうございます、調べてみます。
開発元から何らかのポマージャーに連絡する方法はないのでしょうか?そのようなサービスはあるのでしょうか?まあ、顔のわかりにくさ、取引の来なさ、条件付きで選ばれる部分と、条件付きで選ばれる部分とがあるわけですが......。ここでは、あまり知識も必要ないのです
もちろん、開発者の誰にも聞くことはできません。簡単に説明すると、以下の通りです。
停止したい行にカーソルを置いてF9を押すと、行番号の上に青い点が表示される
がブレークポイント です。また、行番号をダブルタップすることでも設定できます。取り外すこともできますし、数個置くこともできます。その他、デバッグの詳細はすべてマニュアルに記載されています。
全く理解できないんです。以下は、私の作業用EAのコードの一部です。
そして、DebugBreak()で止まっていない。それは、すべてが問題なく動作していることを意味する。
どうやら注文は履歴に追加することで機能するようで、トレードチケットを待っているようです。
はっきり書いてありますね。DELIVERYを追加した、PRINTで この条件では惜しいくらいです。しかし、「トランザクションチケット」はこのPRINTでは提供しない、いや、してはいけない?
PRINTでこの条件でもスキップして、TRACTを追加したことが明確に書かれています。しかし、このPRINTの「取引券」では、提供されない、いや、してはいけない?
ここにはTRADE_TRANSACTION_HISTORY_ADDがあり、私の回答はまさにそれを意識してのものでした。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
募集職種をグループ分け
セルゲイ・ヴォイチェホフスキー さん 2020.04.12 13:20
最初からやってみます、もう頭がごちゃごちゃしてます。映画の名作にあったように、「こんなの誰が作るんだ......」と。
貿易取引はすでに行われているが、取引券はまだない。私は正しく理解しているのだろうか?
全く理解できないんです。以下は、私の作業用EAのコードの一部です。
で、DebugBreak()で止まることはありませんでした。これは、すべてが問題なく動作していることを意味します。
どうやら注文が履歴に追加され、トレードチケット待ちの状態になっているようです。
そこに間違いがあるようですが、もしかしたらそれが原因で「止まらなかった」のでしょうか?
全く理解できないんです。以下は、私の動作中のEAからのコードの一部です。
あなたのコードの一部をベースとして、それを少し変えたら、最初の結果が現れました。もちろん、結果的に目的のプリントの不安定な外観を呼び出すことができれば。現在では、TakeProfitのトリガーの半分以下しか動作しませんが、パターンを捕らえることができません。
そこでエラーが発生しているようですが、もしかしたらそれが原因で「インストールできない」のかもしれませんね。
実は、テストやデバッグのための私のコードでは、次のようなものでした。
そして、ここにコピーする前に、tailのコメントを解除し、コンパイルに失敗したときに間違った括弧を削除してしまったのです。それからコンパイルして、確認はしていません。
ご指摘ありがとうございます。このエラーを見つけるには、明日このコードを何回か実行する必要があります。
実際、私のコードでは、テストやデバッグのために、次のようなものでした。
そして、ここにコピーする前に、tailのコメントを解除し、コンパイルに失敗したときに、間違って余分な括弧を削除してしまいました。それからコンパイルして、確認はしていません。
ご指摘ありがとうございます。明日、このコードを何回か実行して、エラーを見つける必要があります。
お役に立ててうれしいです。
あなたのコードの一部をベースにして、少し変更し、最初の結果を得ました。必要なプリントの結果が不安定な外観と呼べる場合。今はTakeProfitのトリガーで一部、全てではなく半分以下が動作していますが、パターンがつかめません。
テイクアンドストップの目標がないんです。それにしても、憂慮すべきことです。今まで何の問題もありませんでした。そして今、ポジションの1つが閉じられると、まさにPrint() がある場所で、配列から1つのレコードが削除されます。クロージングが処理されず、レコードが削除されなかった場合、ログにエラーメッセージが表示されます。
もちろん、その理由は明らかではありませんが、ポジションを変更する方法によるトランザクションの違いは機能しません。彼ら全員
DEAL_ENTRY_IN