How to get a value from Custom Indicator with zmq?

How to get a value from Custom Indicator with zmq?

Manage alerts

Loading saved threads...

Agam Theos · External communityPost link
External question — Stack Overflow Stack Exchange Author: Agam Theos Original post: https://stackoverflow.com/questions/70610659 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. I have an MQL4 Custom Indicators and I make the EA ( an Expert Advisor ) to get data into MetaTrader Terminal 4 ( mt4 ). But, how can I import my custom indicators EA to client zmq to get the value ?
Quote
Report
user3666197 · External communityPost link
External answer — Stack Overflow Stack Exchange Author: user3666197 Original post: https://stackoverflow.com/a/70612029 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. Q : But, how can I import my custom indicators EA to client zmq to get the value ? Your MQL4 -side ExpertAdvisor code or Script ( not the CustomIndicator one) has to import a DLL first. Then your EA code becomes capable to either zmq_bind() and receive a remote python-code .connect() -s, or ( reciprocally ) zmq_connect() to a remote python-code .bind() -exposed ZeroMQ's AccessPoint address ( via any feasible transport-class { tcp:// | pgm:// | epgm:// | vmci:// | ... } ( depends on ZeroMQ API-version implemented in DLL-wrapper ( 've been using a v2.11 one ) and on the selected ZeroMQ Scalable Formal Communications Pattern Archetype(s) ) Having done any form or shape of this above sketched interconnect meta-plane, your code can zmq_send() / zmq_receive() data in whatever scenario you opt to implement. Just serialise / deserialise data and zmq_send() them. extern string ZMQ_transport_protocol = "tcp"; extern string ZMQ_address = "192.168.0.386"; extern string ZMQ_outbound_port = "1985"; // Include the libzmq.dll abstration wrapper. #include <mql4zmq.mqh> ... //+------------------------------------------------------------------+ int init() { int major[1], minor[1], patch[1]; zmq_version( major, minor, patch ); Print( "Using ZeroMQ version " + major[0] + "." + minor[0] + "." + patch[0] ); Print( ping( "Hello World" ) ); Print( "NOTE: to use the precompiled libraries you will need to have the Microsoft Visual C++ 2010 Redistributable Package installed. To Download: http://www.microsoft.com/download/en/details.aspx?id=5555" ); context = zmq_init( 1 ); speaker = zmq_socket( context, ZMQ_PUB ); outbound_connection_string = ZMQ_transport_protocol + "://" + ZMQ_server_address + ":" + ZMQ_outbound_port; if ( zmq_connect( speaker, outbound_connection_string ) == -1 ) { Print( "Error connecting the speaker to the listener's address:port!" ); return( -1 ); } return( 0 ); } //+------------------------------------------------------------------+ //| Script start function -OR- re-use as an Expert Advisor int OnTick(...){...} template //+------------------------------------------------------------------+ int start() { ... // Publish current tick value + any iCustom(...) data string current_tick = "tick|" + AccountName() + " " + Symbol() + " " + Bid + " " + Ask + " " + Time[0]; if ( s_send( speaker, current_tick ) == -1 ) Print( "Error sending message: " + current_tick ); else Print( "Published message: " + current_tick ); return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { Comment( "Going to tidy-up..." ); // Protect against memory leaks on shutdown. zmq_close( speaker ); zmq_term( context ); return(0); }
Quote
Report

Post Reply

Quoted from Forex.com.bd-Editorial External question — Stack Overflow Stack Exchange Author: Agam Theos Source score (net votes, not local likes): 1 Original post: https://stackoverflow.com/questions/70610659 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. I have an MQL4 Custom Indicators and I make the EA ( an Expert Advisor ) to get data into MetaTrader Terminal 4 ( mt4 ). But, how can I import my custom indicators EA to client zmq to get the value ?

Cancel quote

Checking account access…