Terminology
Can i protect 1 EA with multiple Indicators inside 1 Project?
If you have 1 EA with multiple Indicators, you will need 1+x accounts to protect them 100%. If you want to protect only the EA (where all indicators are collected) then you will need only 1 account where you willl protect the EA and keep indicators unprotected. The more you want to protect that many accounts you will need. Ideally every iCustom based (external) indicator needs 1 account. But you may just want to protect the main file. We recommend you to protect all files.
Vendor Panel is the administration panel of a project. You can change there many settings like: * Change Licence Type * Change Project Name * Change Product Url * Change/Remove Expiration Date * Manage Updates * Stop your Project * Reprocess your Project * View latest ML News * Download older or recent Revisions Vendor panel is only available for Remote licencing.
ML Engine is the power behind MQLLock concept. ML Engine is a complicated service which sits behind firewall and is taking care of converting your source code to ML Style. We hide ML Engine from world due to many reasons, especially not to get discovered by hackers. This gives your project additional security because ML Engine cannot be cracked, disassembled nor debugged. ML Engine has a Versioning inside it. Version of ML Engine is a.b.c style where c is incrementing by every update. If you have a project which has ML Engine 1.0.27 and we have updated ML Engine to 1.0.28, then you will get a button displayed inside Vendors Panel saying you, you may update now. Its up-to-you to update or not, but we recommend to update especially by bug fixes.
Revision is the internal version of your Project. Revision 0 is original source code from you, Revision 1 is first converted version of your code. Once ML Engine has new version you will see a Reprocess button displayed in your Vendors Panel. Reprocessing will cause increase of Revision by one. All older Revisions can still be downloaded and they are still backward-compatible!
Reprocessing a project means that you send it to ML Engine and convert it once again. Reprocessing is free for lifetime. In which situations you would need to Reprocess? In case we discovered a bug or security problem or even added new Features you will see a Reprocess option in your Vendor Panel, clicking this button will submit your Project source code to ML Engine and will Reprocess it. You see this button only if there is something to update. ML Engine has an increasing version number and our system is smart enough to detect ML Engine with which your Project has been processed and compares it with latest one. Reprocessing is great feature for you to keep your Project up2date. Fx1 Inc is working daily on new Features and Updates. Once Reprocessed your project will have a new Revision. Revision is compareable with Product Version. Everytime you reprocess it increases by one. All old Revisions you can still download using Downloads menu inside your Vendors Panel. (See also Revision, ML Engine in other FAQs)
User is end customer of a project. This is usually the person who bought or testing your product.
Vendor is maintainer of project. This is most of time coder and marketter in same person. If you have a project to distribute we call you Vendor.
A project is a product of you. A Project may contain many source files and include files in original. We do put them all together into one big project file and process them.
Payment
I have initiated a subscription and i see as expiration date todays or tomorrows date, whats wrong?
Due to subscription protocoll we do extend your expiration date after reviewing some facts. As soon you initiate a subscription we will give you 24h time for free to review your details and add the month after this verification time. You will see actual expiration date after >0 <24h after first subscription.
How do i subscribe for premium/professional membership?
Every client has to start a trial account using mqllock.com/start/ link and submit their source codes to our system. After this you have 14 days time to test MQLLOCK for free with full features. Make sure everything works for you then you can use Upgrade link inside your control panel to upgrade existing project. Your project will be upgraded as soon you start the membership automatically and you dont need to start new project anymore. Everything is automated.
Do you accept Liberty Reserve?
Unfortunetly no, you can use services to convert LR to Paypal using external services.
Do you offer discounts for me?
Unfortunetly there is no discount policy available.
Yes it is. You pay once, we host you lifetime, we support you lifetime, we update you lifetime. Price is based on 1 Project.
Which payment processors do you accept?
We do accept PayPal and Wire Transfer at the moment. Wire Transfer is only accepted for bigger orders from 10, everything else is not worth because of fees on both sides. Beside paypal we have started to accept google wallet payments. Google wallet makes it possible to charge common creditcards. If you want to pay using google wallet, first of all investigate if this payment option is available in your country. Google wallet payments are only accepted for 6 months minimum period. We cannot contact vendors every month to pay for next month, thats why we want wallet payments to be done for minimum 6 months to save time. If you want to cancel your membership prior this time we will refund you.
Support
Do i have to submit my source-code?
We do require your MQL source code to be able to convert your code to DLL and make a protection layer around it. Its same as you would send your code to some freelancer. We have an agreement with you to protect your rights. We tolerate your copyright. Please read this agreement carefully to understand our source-code policy. Your source-code can be deleted anytime from our servers just with one click. Your source-code will be only used in case of you have problems or you need updates (updates are done from ML Engine automatically). In normal cases not even our workers see any line of your source-code. Fx1 is fighting against decompilers since many years and will continue doing this. Thank you for trusting.
What can i when my Project does not act like original after converting to ML?
MQL is a complicated language if you try to simulate MQL functions in DLL and try to automate all the process. After many months of tests we have tried to make ML (The process converting MQL into DLL) very stable. But anyways we do expect bugs in ML. What you can do to help us: Every Project is unique and every programmer has own way how to code. Even if we have source code and target code, for us its very hard to determine where the problem may be. Even small bug like having a "." or not may decide how converted file runs. We think best way to debug such problematic cases is that we cooperate with author of project. We need detailed problem description instead of "not-working like original" please. Please help us also to find exact location of the bug, you as Author will know the problematic location more or less. We as someone who does not know the internal dynamics will have very hard time to find such problems. Another problematic is that a Project may act different on every Broker, Timezone and even act different with different Input Parameters. Author knows exactly what a parameter does and can tell us much more about what is not working and the location where to search. Please help us to focus to the problem instead of understanding your Source Code. This process may take many days for us but probably under 1 hour for you. Thank you for helping.
Your questions have higher priority in our tech then other questions. To save your and our time, please send us as much details as possible, in other case we must reply and ask you more details and this is waste of time in both ends.
Technical
MQLLock provides excellent protection for your Project inside DLL. We cannot tell you why we need this space but all this is part of our protection.
Does MQLLock collect any information?
No. We do only send your ComputerID to our servers beside your licence details. Thats everything we know about mqllock clients. MQLLock sometimes sends debug versions to vendors to test. Those versions are special designed to collect information about computer to find the reason of crashes. Those versions are clearly declerad as debug version from our staff and the lock symbol is different. If someone click to lock symbol we do allow to show the debug file. Beside this debug version expires within several weeks. Even debug version does not collect any personal information. It just collects technical details to determine the crash or to find out why something does not work.
What are minimum requirements?
Make sure your clients have latest MT4 Build and DLLs enabled in Options menu. Beside this ML also requires Internet Connection to authentificate. This is the minimum requirement we do have.
Yes its possible to close, closing an account will delete everything related with your account physically and its not possible to restore this step! If you have a running subscription please do not forget to cancel this subscription because we dont do this on our end. Deleting will take effect immediatly.
Is there a way that your product does NOT close the chart if the license is not accepted?
The reason why we close the chart is to protect your project. As you know MQLLock is very high talented software which tries to interact with existing Metatrader infrastructure without getting any help from Metaquotes. There is no API, no possibility to implement such features like ML has in native way. ML does everything for you to protect your source code. Due to technical issues there is no alternative way to unattach or deny EA/Indicator to have applied to chart without closing the chart. Closing the chart was not designed to anony you, its a feature we need to have. We know this may anony your clients but this is the price to pay to ensure security.
I do see my AUTH inside .mq4 comments, cant my clients see this?
Please understand one thing: you shall never give your clients .mq4 file. You must compile the mqllock locked .mq4 file and you will get an .ex4 file. This file is designed to be deployed to your clients. Technically compiling a .mq4 file does truncates all comments from .mq4 and it does not put them inside .ex4. So its safe to giving .ex4 files to your clients. Never never give any .mq4 files out.
Yes we do support it. You have two options to make this possible. Either you encrypt both parties: Expert Advisor and Indicator(s) or you protect Expert Advisor and keep the indicator unprotected. Both ways are ok for Mqllock. In case you want to protect both you will need to add new licence for every new indicator you have used. So for example if you have 1 EA with 2 iCustom indicators, you will need 3 licences if you want to protect whole package or alternatively you keep indicators unprotected and buy only 1 licence for Expert Advisor. Some of our clients also do combine indicators into one. If its technically possible you may try to combine multiple indicators into 1 indicator (this requires programming of course), you would save additional licence costs combining indicators.
I have problems to execute showmycid.exe on Windows Server 2008, how can i fix this?
You must install Microsoft Visual C++ 2008 Redistributable Package on your server in order to execute showmycid.exe. This requirement is not only from showmycid.exe, many available software require this library to be installed. On almost all operating systems this package is preinstalled by installation. By so-called "minimal" installations installer does not install everything, such minimal installations are especially done for server editions. This package has 2 versions, x86 and 64bit. You may install the correct version. Simply google for it and install it from microsoft.com homepage any not from anywhere else. Sometimes you may need to install x86 version even if you have 64bit version. If 64bit version does not solve your problem, try x86 version of redist package please.
Can i host MqlLock files myself?
Unfortunetly no, ML needs complex backend to be able to run. This backend is required to ensure security and integrity to protect you. Such a backend cannot be replaced with just a server or web hosting, you would need several servers to have same backend. ML is not made to be hosted on external servers also because of security. We dont want that possible-crackers know the things behind scenes. This is good for your security.
Why do i have to supply you include (*.mqh) files?
Include files are used in MQL Language to insert external modules to existing files. Typical external modules are stdlib.mqh and stderror.mqh. Of course you as developer can add new modules to your source code. Every include file is located in experts\include folder and has the *.mqh extention. MQLLock will ask you for all include files you have used in your source code to make it safe. On compile time all include files will be inserted into the original source code, thats why we must also convert all include files which has been used in your source code. MQLLock detects include files automatically while you upload and ask for them fully automatically. You dont need to supply any include file without beeing asked.
Replace function let all previous revisions expire, why?
If you use Replace button under Download section, you can replace your project with new MQL Code. This change may be small or big or you may even replace project with completly new project, even you can change from EA to Indicator. Imagine you have A.mq4 project as Rev1 and after a while you replace it by B.mq4 and you get Rev2: our system automatically expire all previous revisions (in our example Rev1 only) within 2 weeks. This is because we dont want that our clients have different projects under different Revisions. Theoretically this function can be used to maintain multiple projects under same ProjectID to avoid subscription fees, that is exactly why all previous revisions expire within 2 weeks. We give you 2 Weeks time to update all your existing clients. Feel free to use Update notification function to notify them fully automatically, you dont need to send them any email.
Why is backtest slower then original one?
This is because your EA is protected it gets slower then original. This just lets you feel slow in backtest but in forward test its fast enough to execute even high-frequency-trades. MQLLock team improves the speed every week to make it faster. Thank you for understanding.
This file belongs to MQLLock Library. This file is optional and complementary from ML to you. See this link
Do i have to update my Project everytime ML has new Version?
We dont force noone to go with all new Updates. Updating means that you Reprocess your Project using Reprocess button (this button gets visible only when there is new ML Version), after Reprocessing you get a new Revision which is newer then previous one. We recommend to distribute latest Revision to your clients of course or even notify your existing clients to update to new revision. We do have tons of Projects hosting at our servers, updated ML Engine may mean some small bug fix to bigger Feature updates. Use News menu inside Vendors Panel to keep informed about newest Updates and decide yourself to Update or not to update. Normally our motto is Never touch a running system. After update all your Clients with previous Revision will keep working. Theoretically you can even have 10 different Revisions among your Client base. ML Allows all these without any problem. So its your decission what todo.
How can i delete my Licence Details such as Password, Receipt from my PC?
ML Stores them inside local Registry. Please see HKEY_CURRENT_USER\Software\Fx1\ML Key. If you want to remove any licence (most likely for debug reasons) simple remove the corresponding sub key inside HKEY_CURRENT_USER\Software\Fx1\ML will do this job.
Can i delete my original source code?
Yes you can do this inside Vendors Panel Downloads area. Important: We of course do allow deleting your source code since its your property, but as soon you delete it you will stop getting new Updates since we dont have source code anymore stored in backend. This process is not reversable, once you have deleted it your clients and everything will keep working but no updates, no reprocess will be possible anymore.
Am i allowed to change my MQL Source Code behind a project?
Yes, you can replace your sourcecode anytime you wish using vendor panel. Click to Downloads menu, then pick "Replace" command next to your source code.
How can i change the url behind the lock symbol on Chart?
Clicking this  lock symbol opens an URL to User. This URL can be changed using vendor panel. For demo and beta users this URL is fx1.net or mqllock.com but if you buy full licence you will see new field in your administration panel to change it.
Licencing
Why do i get "licensing server unavailable" message?
The reason may vary. This message indicates that ML was not able to reach our Licencing servers. What may be the reason? Internet traffic goes through dozenz of routers/ips from source to target. We do host 5 different licencing servers on 2 different continents and 3 different Cities and 3 different brokers. ML tries to reach one of 5 upon one server fails. To get the "licencing server unavailable" message, your computer, your router or your isp was not able to reach 5 different locations in 3 continents. Why we are hosting 5 different locations? Sometimes one of the locations/servers may fail. But the possibility that all 5 servers fail on 3 different cities and 2 continents is nearly zero unless local computer has an issue with internet. So we can almost exclude a failure from our side. We must push all responsibility to local computer/router/wifi/isp. Please check your firewall, isp, wifi, consult your isp or administrator to eliminate this error. Please note: trying all those 5 servers make take several seconds only. If your internet,firewall,wifi,isp had a problem while checking the servers, this will result to this message. Please try to restart Metatrader in order to continue. We cannot do more then having 5 servers to reduce the risk on 1 particular location. If you see this error, its local error and can only be fixed locally.
Can i bulk load my existing clients to MQLLock somehow?
Currently we are working on possibility doing this but there is one way for professional clients. We do offer API connectivity for professional licences. You may write small php script to insert all your clients from given .csv to MQLLock backend easily.
Can a user have more then one licence?
Yes, you may add same client multiple times, ML supports unlimited number of clients, so its possible to add x accounts to any client.
Can i mix different licence types?
Unfortunetly no, you have to decide for one of the licencing options, you can change your preference anytime. The changes are getting effective after 60 seconds processing time. So please do not try immediatly after changing, give the system time to take changes place.
When does ML check Expiration, Hold checks?
We do those checks on every restart of Terminal, restart of EA/Indicator or on change of parameters. We have the power to check them live but this will be big problem because you and your clients are dealing with money. We dont want to interrupt the project while you or your clients have trades open. So Update Checks, Hold Checks, Expiration Checks will only be performed on restart EA, Indicator, Terminal. Yes its theoretically possible that someone never restarts the Terminal but this is not practicable because most of time brokers need to update, clients have to install new software or change parameters in projects. So practically the expirations,holds are still very effective, they are just performed deferred to make sure people not loose money.
Can i automate complete process using MQLLock?
Yes you can do this by using API functionality. We provide ML API for all our professional licenced clients and higher. API access is described here in detail.
What happens with my project if monthly subscription is interrupted?
Monthly fee is essential in order to continue ML business because of heavy resource costs. ML contains a professional team which responds any support issue very rapidly, beside this we also fix every bug or security issues immediatly. New security technologies, operating system updates will be applied immediatly. Moreover this ML needs a complicated backend in order to work. It requires special services for licencing issues. Even if you define 'Open licencing' we do need to check Update Notifications, Hold Notifications, Expirations, Product Urls and much much more. Due to this heavy load on ML we require monthly subscription model. If your subscription is interruped, we have to stop your project with all your clients to stop resource usage. In case you really want to interrupt the service we recommend this: update notify your clients at least 2 weeks before you want to interrupt and send them an url where they can download unprotected version of your files, this will give you and them enough time before interruption.
Can i upgrade/downgrade from/to Premium / Professional anytime?
Yes its possible. Whenever you upgrade from Premium to Professional, you will get all remaining Premium days as Professional and you will save. Unfortunetly Opposite is same, whenever you downgrade your left Professional days will be considered as Premium. In order to initiate a down- or upgrade, please cancel your subscription using your paypal account. Logout from your project, wait around 5 minutes, in these 5 minutes paypal will contact us and notify us about your cancellation. After 5 minutes you can login again and you will see link to start a new subscription you want.
Can i convert multiple indicators under same Project?
No this is technically not possible, every indicator and every Expert Advisor is standalone project. We do fully support #import and #include statements from Indicators and Expert Advisors. The reason why every indicator is standalone is very easy to explain: every standalone .ex4 file (such as EA or Indicator) can be sold or used without any dependency to eachother. So you may use 3 indicators in your EA using iCustom() but still those 3 indicators are standalone .ex4 and can be still used as standalone indicators or even sold as seperate projects. Thats the reason why we require seperate licence for every indicator & EA. Sometimes it may be worth to port external indicators into EAs body. This can be done in almost all cases. You may want to let port external dependencies into your EA body. This would solve the problem with multiple licences because you will have an EA without dependencies. This will save you money with mqllock.
Can i allow one specific computer to use my Project?
Yes, if you take CID Licencing and add the CID from your client to allowed list then only this computer (Regardless its dedicated server or vps) will be allowed to run your Project. Another alternative is Account# Licencing but this would allow multiple computers with same account# to use your Project.
RemoteVars
How often RemoteVar Variables updated?
They are updated on Apply of EA, Indicator or/and at relogin or/and at restart of mt4 or/and user change any input parameters (by pressing F7). RV Vars are not live but we think its near live. Making them live would kill every system. Every client has to restart mt4 or change parameter or even restart server in reasonable intervals.
API Access
First of all we dont allow managing more then 1000 clients using the API1. This is because of resources. 99.9% of our clients dont manage that many clients at same time anyways. Its very important to read API Description in detail. Update: API2 allows unlimited number of clients. We recommend our clients to update all code to API2. You can read about API2 here
Auto Update
What are requirements for AutoUpdate?
Most important facts are described here https://mqllock.com/autoupdate-feature/. We recommend you to read this section very carefully in order to offer AutoUpdate feature. You as vendor, need to know all facts about it before beeing able to offer it.
Yes you can also downgrade project versions. We do not recommend you to downgrade but sometimes it may be required. Please make sure you test new project before you release to AU.
Does Autoupdate block trading?
No it does not, AutoUpdate notification and management dialog appears as Dialog seperate to running EA/Indicator. Your clients can manage their Project while setting up AutoUpdate
Where do you take "Contact Support" button email address?
We take support email address from your Profile. You can keep this email address valid in order to offer best possible support.
What does "Skip update" button do?
This button will postpone the update to 12h later. Next time project has been started client will see Update notification but only if last start was 12h ago or longer. Once update has been skipped your clients needs to wait minimum 12hours to see another notification. (Advanced users:) If you want to skip these 12h, you may remove the proper key inside HKEY_CURRENT_USER\Software\Fx1\ML. The key is 4 or 5 digit number which corresponds to your projectid. You can safely remove this subkey, e.g. HKEY_CURRENT_USER\Software\Fx1\ML\3980 manually with Regedit tool from Windows.
Who can use AutoUpdate Feature?
AutoUpdate (AU) is available for everyone, even for Trial clients (to try). There is no limitation about it.