ライブラリ: MQL5でのソケット操作 - ページ 2

 
avoitenko:

MT4はオートメーションサーバーであるため、DDE経由でMT4が行うような気配値の転送はまだ行っていません。MT5はクライアントであり、current_pricesを知りたい場合は、リクエストを送信して結果を取得します。これは、マーケットビューウィンドウでアクティブになっているすべての通貨ペアで機能します。

このプロジェクトでは、すべての気配値を一括して送信することもできます。例えば、Expert Advisorで、1秒ごとにタイマーでデータを受信し、送信前に新しいデータが各通貨ペアのすでに送信されたデータと類似していないかチェックします。

タイマーは不適切で、負荷が大きすぎる!

"...新しいデータが既に送信されたデータと類似しないように"。

時々、気配値が前のものと同じになることがあり、市場の動きを決定します。

 
gisip:

タイマーでは適していない、あまりにも多くの負荷が大きくなります!

どうやら、この問題を解決するには、OnBookEventの 価格 変更イベントでデータを受信し、サーバーに送信する必要があるようです。

 
avoitenko:

どうやら、あなたのタスクを解決するには、OnBookEventの 価格タンブラー 変更イベントで データを受信し、サーバーに送信する必要があるようです。

OnBookEvent price glassを 使用する例はありますか?
削除済み  
gisip:
ガラス価格の OnBookEventを 使用する方法の例はありますか?
ガラスを取得するのか、TCで使用するのか?
 
Interesting:
グラスを手に入れるか、TCで使うか?
哀れでなければ何でもいい!
削除済み  
gisip:
無価値でなければ何でもいい!

アルパリではメガネを使った方がいい(ここではメガネに問題がある)。

ここで 例を見ることができます
 

こんにちは!

mql5.dllはEA mq4で動作しますか?

あなたは例を持っていますか?

 
DLLを使用せずにソケットを使用するMLQ4の例を ご覧ください。
 

ありがとう!

しかし、x64版ではmy_rand()のルーチンを変更する必要があります。

//--------------------------------------------------------------------------//
unsigned long long rand64()
//--------------------------------------------------------------------------//
{
        return ( static_cast<unsigned long long>( rand() ) << 32 ) | rand();
}

をこのように変更する必要があります。

 
Однако, непосредственная работа с функциями этой библиотеки невозможна из-за отсутствия в MQL5 механизма работы с указателями и передачи сложных типов данных в качестве параметров в вызываемые функции DLL.

すべてが可能です!MQL5は通常、DLL関数内で構造体やそのポインタを受け渡しする。