初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 937

 

こんにちは。

ポジションをオープンして、MqlTradeResultの 内容をこのように表示したい。


   //--- declare and initialize the trade request and result of trade request
        MqlTradeRequest request={0};
        MqlTradeResult  result={0};
        //--- parameters of request
        request.action   = TRADE_ACTION_DEAL;    // type of trade operation
        request.symbol   = Pair1;                // symbol
        request.volume   = lots;                 // volume of lot
        request.type     = oper;                 // order type
        request.price    = priceOpen;            // price for opening
        request.deviation= Slippage;             // allowed deviation from the price
        request.magic    = magic;   
 //============================================================     
        if(OrderSend(request,result))       
        Print ("result.retcode = " + result.retcode + "; ");        
        Print ("deal = " + result.deal + "; ");
        Print ("order = " + result.order + "; "); 
        Print ("volume = " + result.volume + "; ");  
        Print ("price = " + result.price + "; ");

result.retcodeでは、orderとvolumeは出力されますが、dealとpriceは常に0になります。
何が間違っているのか、教えていただけませんか?

 
Algotrader18:

こんにちは。

ポジションをオープンして、MqlTradeResultの 内容をこのように表示したい。


result.retcodeでは、orderとvolumeは出力されますが、dealとpriceは常に0になります。
お願いです、私は何が間違っているのでしょうか?

記事モスクワ取引所MOEXの取引ロボットを作成する場合、どこから始めれば よいのでしょうか。TradeTransactionListener "リスナーの一例です。

ロボットを使った取引は簡単

MQL5言語は、MetaTrader 5プラットフォームのすべての取引機能をサポートしており、注文、ポジション、取引依頼を操作するための多数の取引機能を 備えています。先物、株式、オプションなど、どのような市場で取引しているかは関係ありません。

MQL5ツールを使って、取引リクエストを 作成し、OrderSend() またはOrderSendAsync() 関数を使ってサーバーに送信し、その実行 結果を取得し、取引履歴を表示し、商品の契約仕様を 見つけ、取引イベントを 処理し、その他多くの必要な情報を得ることができるのです。

取引ロボットの開発者にとって、一つの重要な事実を理解することが重要です。ポジションを開く、StopLossやTakeProfitを設定する、反対売買でポジションを閉じるなど、すべての取引操作は、常にMetaTrader 5サーバーとモスクワ取引所で行われる多数の取引で構成されています。これがどのように起こるかを見るには、単純にTradeTransaction イベントをリッスンし、それらの概要を表示するアカウント上のTradeTransactionListener.mql5 Expert Advisorを実行することができます。

//+------------------------------------------------------------------+
//|                                     TradeTransactionListener.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+


 
mt5にログインできない、問題 - 無効な証明書という問題に遭遇された方はいらっしゃいますか?
 
Impulsive87:
mt5にログインできない、問題 - 無効な証明書という問題に遭遇された方はいらっしゃいますか?
Windowsは本物か(ひょっとしてエミュレータではないのか)?証明書を発行した証券会社に接続するのか、それとも通常の証券会社に接続するのか?
 

最適化テーブルを新規に作成するのではなく更新された状態で、同じキャッシュでテストを継続するための条件は何でしょうか。

1 変更されていないコンパイル済みEAファイルex5

2 テスト条件は変更しない(バランスまたはバランス+収益性を除く)。

3 ?

 
Impulsive87:
mt5にログインできない、問題は無効な証明書?
昔、この問題に遭遇しました。証明書ストアとプログラムフォルダで正しい証明書を確認してください。
 
Vladimir Karputov:

記事モスクワ取引所MOEXの取引ロボットを作成する場合、どこから始めれば よいのでしょうか。TradeTransactionListener のリスナーの例です。

ありがとうございます、しかし、それは全く同じではありません - それは履歴で動作し、私はポジションを開いた直後にMqlTradeResultからデータを取得する必要があります。あるパラメータは出力されるのに、他のパラメータは出力されない、つまり何か間違ったことをしているようで、不思議な感じです。この特殊な状況の真相に迫りたい...。
 
Algotrader18:

こんにちは。

ポジションをオープンして、MqlTradeResultの 内容をこのように表示したい。


result.retcodeでは、orderとvolumeは出力されますが、dealとpriceは常に0になります。
何が間違っているのか、教えていただけませんか?

印刷する前に電話をかけてみてください

//+------------------------------------------------------------------+
//| Get the result structure                                         |
//+------------------------------------------------------------------+
void CTrade::Result(MqlTradeResult &result) const
  {
   result.retcode   =m_result.retcode;
   result.deal      =m_result.deal;
   result.order     =m_result.order;
   result.volume    =m_result.volume;
   result.price     =m_result.price;
   result.bid       =m_result.bid;
   result.ask       =m_result.ask;
   result.comment   =m_result.comment;
   result.request_id=m_result.request_id;
   result.retcode_external=m_result.retcode_external;
  }
CTradeクラスから
 
Alexey Viktorov:

呼び出してみてください

CTradeクラスから
ありがとうございます、CTrade なしでやりたいと思います。
 
Algotrader18:
ありがとうございます!CTradeなしでやってみたいと思います。

そこで、必要な機能をクラスから引き出して、自分自身に書き込むのです。

理由: