MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1579

 
MakarFX:

わからない、確認してみないと。

何を確認するのか......?履歴の中に同じ終値の取引が複数あるとすると、それらを順次処理する必要があります。OnTradeTransaction ハンドラはまさにその役割(取引イベントの処理)を担っており、「車輪」を発明する必要はない。

 
Mihail Matkovskij:

何を確認するのか...?履歴の中に同じ終値の取引が複数あると仮定すると、それらを順次処理していく必要があります。OnTradeTransaction ハンドラは、まさにそれ(取引イベントの処理)を行うものであり、「車輪」を発明する必要はないのです。

総利益に代わるものとして

profit+=HistoryDealGetDouble(ticket,DEAL_PROFIT); 
 
MakarFX:

トータルプロフィットのオプションとして

いや、そんな選択肢はない!

 
Mihail Matkovskij:

いや、そんな選択肢はない!

なぜダメなのか?
 
Eugen8519:

また、端末でトレードアラートを有効にすると、サーバーからモバイルアプリhttps://www.metatrader5.com/ru/releasenotes に送信されることも可能です。

Что нового в MetaTrader 5?
Что нового в MetaTrader 5?
  • www.metatrader5.com
Всего поддерживаются три типа уведомлений: об ордерах, о сделках и о балансовых операциях. При включении опции доступные виды уведомлений будут выведены в журнал терминала:
 
Mihail Matkovskij:

また、端末でトレードアラートを有効にすると、サーバーからモバイルアプリhttps://www.metatrader5.com/ru/releasenotes に送信されることも可能です。

最良の選択と思われる)
 
MakarFX:
なぜ?

トレードはスキップできないからです。2つの取引がTPで決済され、1つだけ通知を送ったと想像してください。あるいは、(あなたが提案したように)彼らの総利益。それは、ユーザーに何を伝えようとしているのか...?はっきりしない...:)

さらにわかりやすく説明しましょう。通知回数は常に取引回数に 対応する必要があります。

さらに、SendNotificationには、通知の送信頻度に制限があります。そこで、アプリケーションが1秒間に2回以上、1分間に10回以上、関数を呼び出さないようにする必要があります。通知のキューを作成し、ドキュメントで指定された頻度以下で送信します。

Документация по MQL5: Сетевые функции / SendNotification
Документация по MQL5: Сетевые функции / SendNotification
  • www.mql5.com
SendNotification - Сетевые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Mihail Matkovskij:

トレードはスキップできないからです。2つの取引がTPで決済され、1つだけ通知を送ったと想像してください。あるいは、(あなたが提案したように)彼らの総利益。それは、ユーザーに何を伝えようとしているのか...?はっきりしない...:)

彼のEAを見たことがないんですね。

私が理解した限りでは、注文の開始と終了の通知が欲しいのであって、理由は何でもいいと言ったはずです。

男はEAが何かしているのをスマホで確認したいのです。

 
MakarFX:

彼のEAを見たことがないんですね。

私が理解した限りでは、彼は注文の開始と終了に関する通知が欲しいのであって、理由は問わないということです。

男はEAが何かしているのをスマホで確認したいのです。

前の投稿を編集しました。

いいえ、彼はSLとTPでクロージングを追跡したいのです。

トレーディング、自動売買システム、ストラテジーテストのためのフォーラムです。

MQL4、MQL5の初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。

オイゲン8519 さん 2021.08.07 12:20



機能を正しく配置するために

SendNotification ("текст");




ここでポジションに入ることを報告するために挿入します。

void OPENORDER(string ord)

  {
  
  double priceL=m_symbol.Ask();
   if(ord=="Sell")      
    SendNotification ("текст");

        //--- check for free money
            if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_BUY,my_lot,priceL)<0.0)
               printf("We have no money. Free Margin = %f",m_account.FreeMargin());
            else
      if(!m_trade.Sell(my_lot,Symbol(),m_symbol.Bid(),my_SL,my_TP,""))
         Print("BUY_STOP -> false. Result Retcode: ",m_trade.ResultRetcode(),
               ", description of Retcode: ",m_trade.ResultRetcodeDescription(),
               ", ticket of order: ",m_trade.ResultOrder());                     // Если sell, то не открываемся
     double priceS=m_symbol.Bid();
   if(ord=="Buy")
    SendNotification ("текст");
 //--- check for free money
            if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_SELL,my_lot,priceS)<0.0)
               printf("We have no money. Free Margin = %f",m_account.FreeMargin());
            else
      if(!m_trade.Buy(my_lot,Symbol(),m_symbol.Ask(),my_SL,my_TP,""))
 
         Print("Buy -> false. Result Retcode: ",m_trade.ResultRetcode(),
               ", description of result: ",m_trade.ResultRetcodeDescription(),
               ", ticket of deal: ",m_trade.ResultDeal());
   return;
 }

そして、すでにスマートフォンで通知を受けることに成功しています。




しかし、どこにどのように挿入するのか

SendNotification

ストップロスやテイクプロフィットに 到達したときにメッセージを受け取るには?


 
Mihail Matkovskij:

前のメッセージを編集しました。

いいえ、彼がしなければならないのは、SLとTPのクローズを追跡することです。

なるほど、その通りですね。間違えました。