I would need tool for news trading that works for currency pairs type of financial instruments only. Two version of same developed tool are needed: one for MT4 and one for MT5. The tool must NOT require from me to open multiple charts (or any exact chart that would be required by the tool in order for it to correctly operate. I must be able to choose my own Magic Number (slippage too!) which is defined per one single MT terminal. This means I may be running this same identical tool on multiple MT terminals at the same time on either same or different computers. In one terminal (e.g. terminal1) where tool is being opened, the Magic Number may be all the time the same. Another terminal (e.g. terminal2) will have its own Magic Number, different than terminal1. If third terminal is used at the same time (e.g. terminal3) then it will also have its own Magic Number. Different than terminal1 and different than terminal2 too. Once Magic Number is saved and next time I run the tool it should be saved (so i don't need to type it again!) per terminal and NOT per computer. If it was saved per computer (per hard drive) then Magic Number would be the same regardless in which terminal I am opening and running the tool. So make sure it will be saved per terminal. Trading positions should be opened in the same terminal from where the tool being requested is run (open) but I would like to particularly emphasize again that I must be able to have the tool running on multiple terminals at the same time. Even on multiple computers at the same time. I must never be required to open chart manually in order to have fully operating tool. This obviously doesn't mean I won't want to open it. Also tool must NOT be opening chart(s) automatically. The tool must directly use ALL available currency pairs symbols in the main MT symbols list. This is the only guaranteed way that nothing will be skipped. Two notes to mention: note1: same main MT symbols list include other type of financial instruments too and not just currency pairs. So the tool must be able to ''work with'' currency pairs only out of those entire list that includes other instruments too. note2: different brokers offer different collection of currency pairs to trade with. So even if using the tool I am requesting in multiple terminals at the same time, the tool should NOT be anyhow ''interrupted'' in case if one symbol is missing in one terminal but is available in the other. In case if any new symbol is being offered by the broker and/or in case if any previous/older symbol is removed (broker wouldn't offer it anymore) then tool must automatically recognize this change in the main MT symbols list. The main ''task'' of entire tool is to open pending Stop Buy and Stop Sell trading positions. Never must be opened market type of position. Always only pending ones (Stop ONLY). To explain, I will use nonexisting example of currency pair as ABCDEF, alternatively ABC/DEF or some brokers may add additional characters (letter[s] or digit[s] or symbol[s]) such as ''ABCDEF.'' so the tool must work in all such cases. ABC = left part of currency pair DEF = right part of currency pair The first subject the tool must ask me for is ONE SINGLE currency, which can be either on the left or on the right part. I repeat: ONE single currency and NOT currency pair. I could type in anything I want, e.g. ''HRK'' for Croatian kuna or ''ZAR'' for South African Rand or ''FJD'' for Fijian Dollar or ''ETB'' for Ethiopian Birr and many many many more. Those are to be typed without the quotes. I never said one of only those four currencies would be typed. I could type just about anything. Those were four examples only. Once I type the single currency (NOT currency pair!) in, the tool must then show me inside the tool (without opening any chart) all currency pairs containing that typed single currency either on the left part (as ABC) or on the right part (as DEF) of currency pair. So currency pairs (full symbol title, therefore both sides exactly as given in main MT symbols list) must be shown in the tool. Example: If I type ''PGK'' without the quoted for Papua New Guinean Kina then the tool must show me from MT symbols list each and every available currency pair trading symbol, offered by broker, containing either on the left or right side ''PGK'', e.g.: GBPPGK PGKGBP VNDPGK PGKVND USDPGK and so on. Whatever contains PGK either on the left or on the right side of symbol. Note that tool must NOT have any problems operating in situations when particular single currency is being offered by the broker either on the left or right side but NOT in two different symbols on both sides. Example: cases when symbol is available: JPYPGK (so in this case PGK is on the right side) but symbol PGKJPY (so the opposite) would NOT be offered for trading by particular broker within particular MT terminal. In such situations tool simply provides where wanted single currency is found so it should list JPYPGK. In case if particular single currency is not being offered by particular broker, neither on the right side nor on the left side of any currency pair symbol then tool, upon clicking OK button (next to the field where i type wanted single currency), should just show the message without the quotes ''Currency Pair symbol containing XYZ single currency is NOT available.'' where ''XYZ'' is whatever i typed in the field. Obviously searching for symbols is done only inside the same MT terminal comparing to where tool is being run. In this exact terminal are Stop PENDING positions (only this type!) of both Buy and Sell orders being automatically opened too. But there are few conditions when positions should be opened. This is described below. I would like to mention again, as I already did, that broker could begin to offer or stop to offer for trading any new/old symbol. So make sure this symbol (if new) will be visible when searching. Also make sure that old symbol (if not being offered by broker anymore) WON'T be shown. It musn't be since its not anymore on MT main symbols list. When tool lists all currency symbols, as previously requested according to single currency position i type in, each listed currency pair should include checkbox where I can tick and/or untick particular listed currency pair (symbol). Tick means enabling (activating) it. Untick means disabling (deactivating) it. All symbols should be listed without ticks inside the checkboxes. There should be additional ''Tick All'' without the quoted button and if i click it all listed symbols should be ticked/enabled automatically. If I don't click ''Tick All'' button then I want to enable/tick wanted symbols on my own manually. Sometimes all, sometimes one, sometimes two, whatever I choose. Whichever symbol's checkbox contains tick, this means it is enabled and this means its BOTH Stop Buy and Stop Sell PENDING positions should be opened but only after I click ''Open Trades'' button without the quotes. But after ticking wanted symbols and before clicking ''Open Trades'' button there is more work to be done. The following fields are required (all of them without the quotes): ''Lots (for each new trade)'': here i type investment in one single position so quantity of lots. There are two important subjects to mention. Each pending (stop sell and stop buy) position has THE SAME investment. So every pending position must be opened with the investment (quantity of lots) defined here. Second important subject to mention is: stop sell is one trading position, stop buy is another trading position. Even if both are opened based on same identical symbol, those are still two different positions. Each of those two positions, just like each of any other ticked symbol's two positions, should get this investment (quantity of lots) as defined in this field. I had to say this so you wouldn't accidentally put this investment and split it between both positions (stop sell, stop buy) of same symbol. Example: lets say ticked symbol is ABCDEF and ''Lots (for each new trade)'' field is 0.50. This means stop buy pending position will be opened (being on hold/pending) with investment 0.50 lots AND also stop sell of this same symbol will also have same investment 0.50 lots. "Target Profit": The tool must recognize the currency on my trading account used in the MT terminal where this tool is being opened. This currency is the unit of ''Target Profit'' field. I must have possibility to define using decimal point (not comma) decimals too if i want. Immediately when PROFIT of active position(s) EITHER REACHES OR BYPASSES WITHOUT REACHING DEFINED VALUE (CONDITION), the one single trading position, wherever this happened, must get automatically closed. It is EXTREMELY IMPORTANT that the tool will for sure automatically close this exact, particular, position where said condition happened. So it would NOT accidentally (e.g. problem/bug in your development code) close all positions opened by this tool (as pending orders) just because previously said condition happened on one active position. Always must be automatically closed only particular single position where said condition happened. It is possible that said condition will happen on more than one active position at the same time. In this case both/all will get automatically closed. Next to name of the field ''Target Profit'' without the quotes should be empty space (the space bar on keyboard) and then in the brackets should be the symbol (i repeat: symbol and not abbreviation) of currency on trading account on terminal where tool is being run. This way i will instantly see in which unit do I have to type the value in this field. Example: in case if my trading account is in USD currency then the title of the field should be Target Profit ($) ''Target Loss'': Almost the same as above but for current LOSS on active position instead of current profit. So therefore, immediately when LOSS (negative profit) of active position(s) EITHER REACHESS OR BYPASSED WITHOUT REACHING DEFINED VALUE (CONDITION), the one single trading position, wherever this happened, must get automatically closed. Everything i said for target profit is relevant for target loss too. ''Trailing Stop (points)'': Here the unit of value is always in points, never in pips. The title/name of the field is therefore permanent and won't change so i mentioned it (in the brackets) already at the beginning of this paragraph. Condition to get one single trading position, wherever this happened, automatically closed by the tool is according to that value defined in points unit. Be extremely careful that the tool would NOT close all positions that got opened (as pending) by this exact tool. Always only single position where opposite trend (the main logic of Trailing functionality) according to the Trailing in stop happened. It is possible that it will happen on multiple positions at the same time. In this case both/all will be automatically closed. Regarding ''Lots (for each new trade)'' field: In case if broker's minimum required investment (per one position) is MORE than my typed value in said field OR in case if broker's maximum allowed investment (per one position) is LESS than my typed value in said field, such position(s) must NOT be opened (as pending stop buy, stop sell). Even for the symbols being ticked in checkboxes and even after clicking button ''Open Trades''. I repeat again: if my defined (typed) value in said field is NOT within the range between minimum and maximum allowed/required investment, defined by broker (note: if it is exactly on the minimum or exactly on the maximum then this is fine and pending positions can be opened for ticked only symbols), then position must NOT be opened! It doesn't matter if i ticked the symbol in checkbox (or via ''tick all''). In this paragraph I am using the word ''broker'' multiple times. I am obviously referring to the broker to whom my trading account is assigned under in MT terminal where tool is currently opened. This is very important in case if having multiple terminals opened and some of them contain my trading accounts from multiple brokers (different brokers may have different investment min or max limitations). The comparison between my value in said field and broker's min/max must be done per each symbol separately. Please do NOT assume the following: At the beginning of the project description I clearly said the tool must work with only one type of financial instruments (currency pairs) and surely one broker have the same min/max limitation for entire collection of said instrument type. Please don't assume this. Do the comparison for each symbol separately. Regarding ''Trailing Stop (points)'': In case if my defined value is LESS than broker's minimum then tool must automatically change my defined value to broker's minimum value (quantity of points). In case if my defined value is MORE than broker's maximum then tool must automatically change my defined value to broker's maximum value (quantity of points). Comparison must be done with each ticked symbol separately because surely all currency pairs don't have the same minimum or maximum quantity of points (Trailing). When i said ''broker'' this is broker on the current MT terminal where tool is running (where i have trading account opened). In case if I run at the same time the tool on different terminals that have different currency on trading account then this obviously mean the names (i am NOT talking about the values but about actual title of the fields) of Target Profit and Target Loss fields won't be the same. Content inside the brackets will be different. I repeat again: ALL active positions (being converted from opened as pending to active) should have THE SAME values as defined here in above mentioned fields. Exception is what i said in paragraph starting with ''Regarding Trailing Stop (points)''. Target Profit, Target Loss, Trailing Stop values are the same for any activated positions that gets activated (''converted'') from being opened as Pending (stop buy, stop sell). However at any time WHILE tool is operating, I must be able to change either of said values or even ''Lots (for each new trade)'' value and the change must have immediate effect. The change must be respected only per entire MT terminal where change was done. Not any other terminals IF tool is running anywhere else (either on the same computer or different computers) at the same time. In case if I don't want to define any value for Target Profit and/or Target Loss, I WON'T leave the field empty but I will type there ''0.00'' without the quotes. If I don't define then this obviously means that whatever is 0.00, won't have profit or loss to close position defined. So if Profit then this could theoretically mean that profit can be endless if it is nonstop increasing - position will never be AUTOMATICALLY closed by the tool i am requesting because target profit is not defined. Same for Loss: if it is 0.00 then it could theoretically mean that loss can be endless (risk of burning entire trading account) if this loss is nonstop increasing - position will never be AUTOMATICALLY closed (the target loss is not defined). In case if I don't want to define any value for Trailing Stop, I WON'T leave the field empty but i will type there ''0'' without the quotes. If i don't define it then trailing stop won't be activated. Neither Target Profit NOR Target must NOT include Swap value (regardless if positive or negative), not even value, if any, in Commission column. Tool, if required depending on Target Profit and/or Target Loss and/or Trailing Stop values, can automatically close strictly only position which was opened as a pending one (stop buy, stop sell) by this identical tool I am requesting. It must NEVER close any other position which wasn't opened by this exact tool regardless of its direction (uptrend or downtrend). So the tool must completely ignore each and every position, regardless of type of order, that was opened either by me manually or by any other tool. *** (for now ignore those symbols "***", I will need them later in this description when i will have to make a connection to this paragraph). Once I click on ''Open Trades'' button, the tool must require from me information WHEN pending Stop (stop buy, stop sell) positions should be opened (of ticked symbols only!). Either right now or on particular date and time. The tool must contain clearly visible information about the timezone: whether Windows OS timezone is used or broker's time (Metatrader time). This must be defined in the tool. A few words content of information message is enough. I would prefer that Windows OS timezone is used. If I choose particular date and time, instead of ''right now'' then it is my own responsibility to remember to have MT terminal opened at that time. If MT terminal won't be running on my defined date and time then pending positions (probably) cannot be opened. It is very important to WHERE pending positions can be placed and this depends on broker's requirements. Such value is changing all the time and on the following link is shown what I will be talking about in the remaining text (most of it) of this description (note: click on the image to zoom it): https://imgur.com/a/R6vUj1D Note: I found completely random screenshot online and the type of order has nothing to do with this project. As you are aware of, in this project are stop sell and stop buy pending orders. So the order type shown on screenshot has NOTHING to do with this project. Ignore it. I am showing image file just because of the message at the bottom (see arrow) and numerical value in this message (see arrow also). In mt5 the message may be little different. Of course it is important to which market price must be pending positions (stop buy, stop sell) placed. How far away from current market price. Here is I believe the most complicated part of the tool. Why? Because different brokers have different limitations for different instruments how far or how near stop position can be to the current market price. Even different limitations for different symbols of the same instrument type but, as i said at the beginning of project description, this tool is for Currency Pair instrument only. Different brokers may even have different limitations even for same identical symbol and this value (minimum limitation) may be changing all the time (usually before News events). Even same broker may have different limitation for same symbol at different times. The message that usually occurs is similar to ''Open Price You Set Must Differ From Current Market Price For At Least X points'' (X = number). This message occurs in the New Order window after you choose type of order either stop buy or stop sell. So I am talking about this exact message and the dynamic value in it. One broker require that either stop buy or stop sell position cannot be closer to current market price than X quantity of points, another is requiring that it cannot be closer than Y quantity of points and so on. I don't know if there is any situation (broker) that shows ''pips'' instead of ''points'' in this message. This tool should work for points. MT5 may have little different message than MT4 (i need tool for both MT versions). Be sure that different minimum limitations (quantity of points) by different brokers in different terminals, at least how far pending stop buy and stop sell positions can be placed, won't cause any problems in tool operation. Anyway, remember the following: When it comes to my choice WHERE (how far from market price) must be both pending stop buy and pending stop sell orders places, the tool must always require from me to define one of the following two choices (sometimes i will choose one, sometimes another but obviously both can never be chosen at the same time) and those choices define TO WHERE (which price) MUST BE PENDING STOP BUY AND PENDING STOP SELL ORDERS PLACED: choice1: tool must use exact minimum value as required by broker (current terminal where i am logged in to the trading account). This means pending stop buy and pending stop sell positions will be placed maximum NEAR current market price. So the value which is shown in the message in New Order window (message occurs after choosing stop sell or stop buy type of order). Example (note: in this example i am going to use number 60 completely randomly for the purpose of explanation only, this number means nothing in your development work): if i choose choice1 and if the message in New Order window is ''Open Price You Set Must Differ From Current Market Price For At Least 60 points" then the MINIMUM requirement set by broker how far (unit: points) must be particular pending stop buy or pending stop sell order from current market price for particular symbol is 60 points. Of course those minimum values are different for different symbols. Also different for different brokers, even for the same symbol. For one symbol, that minimum maybe 60 points, for another 72 points, for another 5 points only, for another 190 points or whatever is the minimum. So if i choose choice1, the tool must never ask me for any value but instead, it must automatically use, for each ticked (checkboxes) symbol, for pending stop buy and pending stop sell positions, that particular MINIMUM value. This means all opened orders, by the tool, will automatically be maximum near market price (cannot be more near because of requirement set by broker) because the message in New Order window (which should NOT be copied to the tool but only value as i already requested in this description) always contain minimum value (minimum requirement by broker) how far MINIMUM from current market price can be pending stop buy, pending stop sell orders placed. So if i choose choice1, i will always have all stop buy, stop sell pending positions automatically placed, for all ticked symbols, on minimum quantity of points away from current market price (maximum NEAR it, due to requirement by broker it cannot get more near). choice2: tool must request me to define numerical value. This numerical value is extended/increased total DISTANCE: minimum defined by broker PLUS the quantity of points in my defined numerical value. Example (for the purpose of explanation, i will use same random number as in choice1): if minimum value is 60 points meaning that pending stop sell, pending stop buy orders can be placed for at least 60 points from current market price, and if my defined numerical value in choice2 is 50 points (the number 50 is random for explanation only) then this means both pending stop buy and pending stop sell orders will be placed 110 points from current market price. So in choice2 is always minimum quantity defined by broker PLUS my defined numerical value (always in points unit, never in pips!). This sum is the total distance to where pending stop sell and pending stop buy positions of each ticked (checkboxes) symbol should be opened. note that my user input, either choice1 OR choice2, are the same for both pending orders: stop buy and stop sell of the same symbol. The value in choice2 (if i choose choice2 instead of choice1) is also the same for both said pending orders. Both values, choice1 or choice2, MUST BE RESPECTED even if i choose in the tool that i want pending stop buy and pending stop sell positions to be opened on particular time/day (date)/timezone (see the paragraph above which starts with '' *** ''). This means at that chosen time/day/timezone, the tool must check the minimum value (obviously i am referring to the one from choice1, choice2) defined by broker. This value may be changing all the time so keep in mind that the same value for same trading symbol on same broker may be different at the time when i wil be choosing if i want to have pending positions opened right now or at chosen time/day/timezone, comparing to at the time when pending positions will be opened. So it is extremely important that tool, regardless if choosing choice1 or choice2, checks this minimum value which i have been talking about for a while, at correct time. So before trading positions gets opened. This means even if having them opened on chosen time/day/timezone (instead of right now but i may want to set right now instead of on defined time/day/timezone), the minimum value must be checked by the tool for each ticked symbol JUST BEFORE (less than a second before) pending positions get opened by the tool i am requesting. Definitely NOT when i define time/day/timezone because here the minimum value may be different comparing to the one (for same symbol on same broker) when pending positions get opened. However I need three possibilities to be added to the tool: possibility1: both/all ticked symbols should be effected on my same choice1 or choice2 including value in choice2. So whichever symbol i tick, it will operate according to my COMMON user input for both/all ticked symbols. possibility2: for EACH ticked symbols, i must be able to define SEPARATELY choice1 or choice2. But if i choose choice2 then choice2's value will be the same for every ticked symbol where i defined choice2. possibility3: for EACH ticked symbols, i must be able to define SEPARATELY choice1 or choice2. But if i choose choice2 then for each ticked symbol, i must be able to define choice2's value SEPARATELY. This means different symbols having choice2 in the same terminal may have different choice2's value at the same time before clicking ''Open Trades'' button. Whichever possibility i choose and whichever value in choice2 i choose (if choice2 is chosen), both pending orders of the same symbol will always have the same inputs. So my user input is always for both orders. In different terminals i may define different user inputs and tick different symbols at the same time. I said that pending stop sell, stop buy positions get opened only for symbols that i manually tick in the checkboxes. If i don't tick anything but still click on button Open Trades then message should occur saying that nothing is chosen so pending positions cannot be opened. There should be no max or min limitation how many symbols can i tick. The tool should request me to confirm the opening of positions after i click on ''Open Trades'' button, e.g. ''Do you really want to open both pending Stop Sell and pending Stop Buy positions for each ticked symbol?'' with buttons YES or NO. This is protection that i didn't click ''Open Trades'' accidentally. Of course the request about time and timezone from paragraph starting with " *** " (above in this description) is still very important. That confirmation message (YES/NO) should occur after i already define what is requested in paragraph starting with " *** ". Note which is relevant for both choice1 and choice2: it is very important that you are aware of that brokers may change this minimum value for any symbol at any time. This can happen right at the same microsecond comparing to the moment when i click on ''Open Trades'' button. If this happens, so if minimum value gets changed at this exact moment (possibility that this happens is lower than possibility of winning jackpot on the lottery) then tool must automatically use new minimum value so whichever is new (updated) one. Please make sure that this will work correctly too. Before I release the payment, i will be particularly careful in my test on this request also. Near each occurred (after a type single currency to be searched) symbol, I would also like to have actual value (minimum quantity of points, defined by broker, how far minimum from current market price must be stop buy, stop sell orders) visible. So first occurs checkbox where i may or may not (whatever i want) tick. With the ''tick'' in checkbox i will obviously define that pending positions (stop sell, stop buy) will be opened. Then near checkbox should be symbol name and in the same line also value information about minimum quantity of points. If value is different for stop sell comparing to stop buy (or vice versa) then value must be shown for both of those two type of orders separately but still in the same line. Clearly given information is needed which value is for stop buy and which for stop sell. Tool must NEVER open pending positions of any symbol that i didn't manually tick. PENDING Stop Buy AND Stop Sell positions of all ticked symbols must be opened. In the same terminal comparing to the one where tool is being run. This means each ticked symbol will get opened two pending positions. Always only Stop pending type of orders. One pending position is stop buy, another is stop sell. As soon as one pending position either stop sell or stop buy gets executed (previously i was using the term ''executed'' as ''activated'' too, its the same) to active order, the OPPOSITE order which is still pending of the SAME IDENTICAL SYMBOL must get IMMEDIATELY, in less than microsecond, cancelled (deleted). It is extremely important that opposite order (pending) from the executed activated one, of strictly only the SAME symbol will be cancelled. If stop sell will be executed/activated to market sell (as you are surely aware of, when pendings gets executed they are converted to market ask/bid prices) then pending stop BUY, which is the opposite order, of the same identical symbol, will be automatically cancelled. If stop buy will be executed/activated to market buy, then pending stop SELL, which is the opposite order, of the same identical symbol, will be automatically cancelled. Automated cancelling of opposite positions (from the ones getting executed/activated) of same IDENTICAL symbol that remains being pending is the MAIN GOAL of entire project. This is the main reason why I am requesting this tool. I would like to particularly emphasize that cancelling/deleting position that remains being pending (and not executed/activated as the opposite one of the SAME symbol) MUST happen IMMEDIATELY! When i will be testing your tool, I will particularly be careful that deleting of position, that remained pending, is really done in even less than microsecond after the opposite one (same symbol) gets executed/activated. Timing is very important here. Of course multiple pending positions of multiple symbols may get executed/activated at the same time too. This obviously means all the pending position that were NOT executed/activated (instead they remained being pending) must, all of them, get IMMEDIATELY cancelled (deleted). So kindly make sure that when tool will have to cancel multiple orders (or even doing this on same computer in different terminals at the same time!) there won't be any delay. End of description.