OrderCloseTime

こんにちは、みんな

注文がクローズされると、EAはクローズされた注文を分析し、電子メールを送信し、いくつかの注文情報をファイル.csvに書き込みます。

注文情報は、OpenTime、OpenPrice、CloseTime、ClosePriceです。 3値は大丈夫ですが、OrderCloseTimeは大丈夫ではありません(私はいつも1970.01.01を持っています)。

OrderCloseTime 関数の前にスリープを設定してリフレッシュしようとしましたが、値は常に1970.01.01です。

コマンドは、ストリングDataOraChiusOrdin = TimeToStr(OrderCloseTime()、TIME_DATE | TIME_SECONDS)です。

OrderOpenTime(正常に動作し、正しい値が設定されています)のコマンドは、ストリングDataOraAperOrdin = TimeToStr(OrderOpenTime()、TIME_DATE | TIME_SECONDS)です。

どうすればこれを解決できますか?

ありがとう


あなたは最初に注文を選択していますか?

ここでは気にしない読者は、コードを投稿する

RefreshRates();
スリープ(3000)
DataOraAperOrdin = TimeToStr(OrderOpenTime()、TIME_DATE | TIME_SECONDS);
DataOraChiusOrdin = TimeToStr(OrderCloseTime()、TIME_DATE | TIME_SECONDS);
CorpoEmail = StringConcatenate( "Chiuso ordine numero"、NumeroOrdine、 "。Tipo ordine(0 buy、1 sell)"、OrderType()、 "Data \ ora di apertura"、DataOraAperOrdin、 "、prezzo di apertura"、OrderOpenPrice()、 "、数値、" OrderLots()、 "Data \ ora di chiusura"、 "DataOraChiusOrd in"、 "、preCho di chiusura"、 "。StopLoss"、OrderStopLoss()、 "。Takeprofit"、OrderTakeProfit()、 " "。Swap"、OrderSwap()、 "。Spread"、Spread、 "。利益相反スワップとコミッション"、OrderProfit());
SendMail(OggettoEmail、CorpoEmail);

ScritturaFile = FileOpen(FileStorico、FILE_CSV | FILE_READ | FILE_WRITE、 ";");
FileSeek(ScritturaFile、0、 SEEK_END )。
FileWrite(ScritturaFile、NumeroOrdine、Symbol()、OggettoEmail、OrderType()、DataOraAperOrdin、OrderOpenPrice()、OrderLots()、DataOraChiusOrdin、OrderClosePrice()、OrderStopLoss()、OrderTakeProfit()、OrderPw()、Or derSw() ;
FileClose(ScritturaFile);


fxcourtの質問に注意を払ってください


今私は最初に注文を選択し、それはすべて大丈夫です。
順序を閉じる順序を選択し、閉じた後でファイル書き込みの順序を選択します。
私はそれが十分にuse refresrateコマンドであると思いました、しかしそれは間違っています。

どうもありがとうございました!


注文をクローズしたら、履歴プールから注文を選択する必要があります(OrderSelect()関数のpool = MODE_HISTORY – > docs.mql4.com/trading/OrderSelect)。




5354: https://www.mql5.com/en/forum/124313


Originally posted 2019-08-04 04:04:30.

Translate »