I don't think it is good time,
the main role in calculating are (different for any of the non-forex, cocoa, barrels, bushels etc.) :
1.) Default Lot Size (all have different)
2.) Leverage (different for any type, broker, account - often hidden, must be get from broker additionally,)
3.) Margin percent required (some require different % from the account - some fixed portion)
The rest are common like point and price, for calculations. Often 1 / Price can give near value, if You do need exact.
@edddim: Thank you for your reply. Are you saying that it is not possible to automate lot size calculation on MT4?
Surely, it can be made possible by providing inputs so the broker can set up each instrument as required for correct calculation. With appropriate settings for TickSize and TickValue it should be possible to set up any instrument to give an accurate lot size calculation(?). Lot Size calculation is the single most difficult and absolutely critical task that traders much do, or they could be risking more than they expect. I made this mistake once, when I thought I had 100 GBP risk on Gold, but actually I had 10,000 GBP risk! ... I was lucky and closed my trade without taking a loss ;=).
This problem needs to be addressed one way or another. One cannot enter a trade without selecting a lot size, so I would say this is absolutely the most important problem needing a solution right now. Trading is hard, but entering a trade with the correct lot size is nearly impossible without a lot of knowledge and info from broker and spreadsheets! Even then, mistakes can be made. This is not an acceptable solution to many.
In my examples I used not one, but two different methods for lot size calculation, and neither produces consistently accurate results! I don't know of any other way that this can be done on MT4 :=(.
How to enter a trade on MT4...
1. Visit broker's website to find details of the instrument you wish to trade ... you will need tick size, pip location, lot size, quote currency, etc.
2. On MT4 decide on the price you wish to enter on, also your risk and stoploss.
3. Go to your spreadsheet, which you created with the help of your broker and lots of hard work, then enter the details you need to calculate the lot size (volume) for your order on MT4.
4. Open up a new order window on MT4 and enter the required order details.
5. Cross fingers and hope you got the details correct.
6. Thats it!
A better way...
1. On MT4, open up a new order window.
2. Enter your entry price, stoploss and risk amount.
3. Thats it!
This last method I could easily do myself, in code, if only the data was good!
True, entering stoploss and automatic regulation of lots with % amount of the total would be ideal, since I know some who have that option, I've seen it and it is great, it is making the trading possible, and without taking time to do basic what is need for trade and having time for spare additional tasks, by terms now it is approximately, exactly as you said for the Gold, guessing. On other hand it is possible to be made script and to get the amount in replacement of excel or web-site calculator, but that is not built in function like on press button window "New Order" for trade and make the inputs there in 2-3 seconds or presets for even just one push of button. I was thinking these days about making (finding) better solution for me, meaning easier since I have some from before but are complicated, but if I make some simpler I will post it here with reply as idea or 'probable' solution. Somehow I think for my old solutions are unreliable. But any of these are just adapting, and it will mean script/indicator on the chart with showing lots as (%) daily range risk - just example, of course "Buy-Sell" buttons on the chart with % adjustable and sl-points is better, but lets try the basic things first =). True, you are totally correct. I'll get back to you if I do something these days, since I have some 'city' jobs few days.
Have a pleasant work.
@edddim: I look forward to your solution. I should mention that your suggestion with "Buy-Sell" buttons on the chart with % adjustable and sl-points is totally doable now, but will only work correctly on Forex. Like many traders, I wish to diversify what I trade, but a solution for trading non-forex is not currently reliable due to issues with how brokers set up these instruments.
A fix for this really needs MetaQuotes to step up and tackle the issues mentioned. I know of brokers that are very reluctant to offer MT4 to clients simply because it is too difficult for most 'normal' people to use, mainly due to lot size calculation and difficult interface. This is one reason why spreadbetting is popular ... you just need to enter price, stoploss, and risk_per_pip ... risk is very easy to calculate (risk_per_pip = risk_amount/stoploss_pips). I like many things about MT4, but this lot size order entry is enough to make me pull out my hair. This is why I learned MQL ... to write tools to simplify MT4 order entry for myself, but it appears I've hit a dead end :=(.
Another difficulty ... when trading stocks from London Stock Exchange LSE (e.g. ARM.L, HL.L, PFC.L, etc.) these are quoted in 'pence' and not 'pounds' (100 pence = 1 GBP), so my lot size calculations won't work with those ... you would need to divide the calculated lot size by 100 for those stocks. This is another hidden trap for traders that is not obvious on MT4 ... I only found this out from my broker! Mistakes like this should not be possible with a modern trading platform.
My email to MetaQuotes ... unfortunately, they are not interested in changing their product, but I am posting this here in case others want to add their views.
I have a suggestion for you to consider ... it isn't as complicated as you may think, so please bear with me.
Firstly, I understand that MT4/5 isn't the only trading platform that forces traders into completing obscure lot size calculations before they can open an order ticket. This lot size thing may be how markets work, but all retail traders (your users) are speculators looking to make a return on their capital. We do not expect a delivery truck to turn up on our doorstep to offload 400 bushels of wheat, or 30 barrels of oil just because we traded that commodity. As speculators we are only interested in entry price, stoploss and risk amount (usually as % of account equity). We do not care about lots!
The problem with the current platform is that it forces traders to conform to the way it works, rather than it conforming to the way we want to work. Software should be making things easier not more difficult.
I tried to write my own code to hide all these issues and simplify my order entry, but hit a brick wall ... the data coming from my broker (and likely all brokers) is incorrect for many non-forex instruments and my broker is unwilling to change it. I tested another broker and found issues with them also. The data I am refering to is Point, TickSize, TickValue and LotSize. This tells me that even brokers find this very difficult to set up, and they have no visibility on what this means when calculating LotSize (volume) using code on MT4. They can't see it, so they can't fix it. They use spreadsheets to manually grind through their trade entry calculations. This is time consuming, slow, error prone, and relies on knowledge and information not available on MT4. A small mistake can result in complete loss of your account ... all too easy if you get your numbers wrong, or are unaware of the correct values needed for your lot size calculation. These issues also have a significant impact for users of EAs purchased via the marketplace, which may be risking much more than expected due to the programmer being unaware of the broker data issues on some instruments.
Here is how we fix it on MT4/5 with no impact to how things work for existing users that like the current way of working (are there any?).
1. Add a new 'simple' order entry helper screen to MT4 that the user can choose as an option. The details entered here will be converted into the format required in the existing order entry screen, but user doesn't need to know this. The order entry should allow trade entry for buy/sell using entry price, stoploss, and risk amount in account currency. You can validate the details based on required lotsize, lotstep, minlots, etc. and auto correct or inform the user if they need to make changes. Also, display the risk amount on the entry ticket details.
2. You modify the MT4 back office system to enable brokers to correctly set up new instruments, and check calculated lot sizes are correct based on their settings. They need a way to test and get feedback on their settings, so that it is impossible to mess it up. They need to check the effect of Point, TickSize and TickValue setting on the lot size calculation.
Please don't underestimate how much this will benefit your users and especially those new to trading. It will save us a lot of time and stress each day, on every order entry, and it means we can be certain of how much we are risking on any trade. This will go a long way to making MT4/5 user friendly and safe.