Last updated 9 November 2026. This English text is the version that governs; translations are provided for convenience.
uBotDesign is operated by Somkiat Somsanitungkul (สมเกียรติ สมสนิทอังกูร), a sole proprietor, at 246/23 Soi On Nut 46, On Nut, Suan Luang, Bangkok 10250, Thailand ·support@ubotdesign.com
uBotDesign ("we", "us") is a custom software development service. You describe the rules of a trading system, or what an indicator should draw on a chart; our automated factory writes a program that implements what you described, compiles it for MetaTrader 5, tests it, and makes the compiled file available for you to download. An indicator draws on the chart and never places a trade. We deliver software and nothing else.
A trading system may instead be built for cTrader, chosen when you start it. It is written in C#, and the compiled file you download is a .algo file for cTrader. An indicator is built for MetaTrader 5 only.
A trading system may also be built for Webull (US stocks), chosen when you start it. It is written in Python, and the file you download is a .pyz program that runs on your own computer, in a window of its own, and sends its orders to your own Webull Thailand account. The App Key it uses is one you obtain from Webull and enter in that window; it is kept on your computer and never passes through this service, which has no place to enter it. The program buys US stocks and ETFs when your rules say so and sells what it bought, in the regular US trading session; each buy has its stop order placed at Webull, and the program watches the target while it runs. An indicator is built for MetaTrader 5 only.
The service also includes the Lab, where you can set up the rules of a trading system and test them on past prices with our simulator before you order a build, either yourself or with the help of the Lab's assistant. Its AI Optimize has the assistant try changes to a system in rounds: it chooses with a Backtest on the first part of the test period, runs its pick once as a Forward test on the last part, which it never saw, and never changes the size of the trades. The simulator cannot place an order and never touches a trading account. A Lab result is an estimate worked out from price bars with a fixed spread; it is not the result of the program the factory builds, and it is not a forecast. The Lab tests on MetaTrader 5 price data, and a setup you hand from the Lab to the factory becomes a written summary that you order, and that is priced, charged and refunded, as a build for MetaTrader 5 under section 5.
MetaTrader and MQL5 are trademarks of MetaQuotes Ltd. We name them only to say which platform our programs run on; uBotDesign is not affiliated with, sponsored by or endorsed by MetaQuotes. We name cTrader for the same reason only, and uBotDesign is not affiliated with, sponsored by or endorsed by its maker either. We name Webull for the same reason only, and uBotDesign is not affiliated with, sponsored by or endorsed by its owners either.
We write software to your specification. The rules in every program are the ones you gave us; we do not choose what you trade or when, we give no investment advice, and we never hold or manage a customer's account. Your money stays with your broker, and nothing in this service can touch it.
Automated trading can lose money. A back-test is a record of the past, not a forecast. Whether and how to run a program we deliver is your decision, made under the laws that apply to you.
You sign in with an email address you control. You are responsible for what is done from your account and for keeping your devices secure. You may end any signed-in session from your account page at any time.
A plan is paid once, in advance, for one year and includes a number of credits. Credits are spent on builds; on unlocking the source code of a version; on a back-test run you order yourself, or an analysis of your live results, for a program built for MetaTrader 5, beyond the number your plan includes each calendar month; on starting a fresh conversation allowance without ordering a build; and on packs of more tests, AI Optimize runs or assistant answers in the Lab. The cost of each is shown before you confirm it. In the Lab, each of those three comes with a free allowance every day (by UTC); past it, one credit buys a pack of more of the same kind, and a pack does not expire at the end of the day but lasts until it is used. A Lab run that fails on our side, or a question the assistant does not answer, uses nothing. While your plan is running you may add credits, five or more at a time. When you order a build and your credits do not cover it, you may instead pay for just the credits that build is missing, at the top-up price per credit, without a plan; they are added to your balance like a top-up, and the build you saw is then ordered. You may instead round that payment up to whole blocks of five credits and receive one credit free for each block. After your first build is delivered, the next build you order within two weeks of that delivery costs one credit less, once per account; the price shown before you confirm already includes it. Every credit, whether it came with a plan, a top-up or the welcome credits, is valid for one year from the day it was added; credits that are unused at the end of that year are removed, and the credits that expire soonest are always spent first. A plan runs for one year from the day it is bought, and buying a plan again starts a new year. Every account receives 3 free welcome credits once, which can be spent on anything credits buy. Our assistant may also add a few credits to your account by itself, as goodwill, when something went wrong on our side that the automatic refunds did not make right; these credits are given, not bought, and last one year like every credit. Plans do not renew automatically; we never charge you without a new order from you. Prices are stated in US dollars and in Thai baht; you choose which currency you pay in before you pay, and PromptPay is offered for payments in Thai baht. The credits a plan or a top-up carries are the same in either currency.
Before you order a build you receive a written summary of the rules. Ordering freezes that summary for that version; it is the record of what you asked for. Each condition in a summary is rated ordinary (1) or complex (2) by the factory's published rubric; a build costs twice the rating of its heaviest condition plus half the combined rating of the other conditions, rounded up once, and never more than sixteen credits; one build covers at most thirteen conditions, and a longer summary is built as more than one version. The price, and the conditions it counts, are shown before you confirm; that price is reserved when you order and is exactly what is charged, however much work the build takes. A build the factory refuses is not charged at all. The credit is spent only when a compiled file is made available to you. Before that, the factory tests a program built for MetaTrader 5 on historical prices: a trading system is back-tested; an indicator, which places no trades, is run over past prices and what it drew is checked. If the factory's own checks refuse the result, or a build fails for any reason on our side, the reserved credit is returned automatically. A refused build may simply be ordered again.
A trading system built for cTrader is ordered, priced, charged and refunded under this section in the same way. The factory checks it against every rule in its summary before the .algo file is made available to you; trying it out in cTrader before you trade with it is yours to do.
A trading system built for Webull is ordered, priced, charged and refunded under this section in the same way. The factory checks it against every rule in its summary before the .pyz file is made available to you; trying it out in its test mode, which places no orders, before you let it trade is yours to do.
If a delivered program does not do what its frozen summary says, we correct it at no charge. Any change to the rules themselves is a new version, which is a new build with its own summary and its own cost.
You confirm that the rules you describe are yours to use and are lawful where you trade. If you attach a compiled .ex5 file of your own for your program to read, you confirm that you have the right to use it this way, built into a program made for you; we are responsible only for the program we write, not for that file or what it does. If you run a program built for Webull, the App Key it uses is yours, obtained from Webull under Webull's own terms, and every order it sends is sent from your account, in the rules you gave us and under the limits you set in its window; we never hold or see the key, and we are responsible only for the program we write, not for your account, the key, or Webull's service. We may refuse to build a system that we judge to be unlawful, deceptive, or intended to harm others, and any reserved credit is returned if we do.
You may run a delivered compiled program on trading accounts you own or are authorised to trade, without limit on the number of terminals. You may also supply the compiled program to your own customers, as part of your own product or service, and restrict it to their accounts if you choose: they are your customers, and supporting them is your side of that arrangement. The source code of a version, an .mq5 file written in MQL5, is a separate purchase; when you buy it, you receive the source of that version for your own use and modification, and you may include it in what you supply to your own customers. What you may not do, without our written agreement, is publish that source where anyone can take it, present yourself as uBotDesign, or resell this service itself, meaning taking orders for programs and having us build them in your name. For a program built for cTrader, the compiled program is a .algo file and its source is a .cs file written in C#; everything in this section applies to them in the same way. For a program built for Webull, the program is a .pyz file and its source is a .py file written in Python; everything in this section applies to them in the same way. The fixed part it runs on, which talks to Webull, is our own open-source runner, published under the Apache License 2.0, and that licence travels with it.
To the fullest extent the law allows, we are not liable for trading losses, lost profits, or any indirect or consequential loss arising from the use of a program we delivered or from the service. Our total liability to you for any claim is limited to the amount you paid us in the twelve months before the claim. Nothing here limits liability that cannot be limited by law.
We may change these terms; the date at the top says when. Material changes are announced on this page before they take effect. We may close an account that breaks these terms. Files already delivered to you remain yours to keep.
These terms are governed by the laws of Thailand. If you are a consumer, you keep any protection that the law of your own country gives you and that cannot be waived by agreement.
The agent program is by invitation only: we choose who becomes an agent. Each agent receives a personal link. An account created in a browser that opened that link is recorded as referred by that agent, once, when it is created. An existing account comes under an agent only at its owner's request: we place it there ourselves, or, if it is under another agent, its owner confirms through a link we email to the account's address. The previous agent then stops seeing the account and earns nothing on its later purchases; what they already earned stays theirs. The agent earns a share of the full list price of every plan and every top-up those accounts buy, for as long as the account exists and the agent's link is open. The share is always counted on the list price in Thai baht, whichever currency the account paid in, and agents are paid in Thai baht. An agent may pass part of their own share to their customers as a discount, and chooses where it applies: to a customer's first plan only, to every plan, or to every plan and every top-up. So that they can help the accounts they referred, an agent sees each one's email address, current plan, credit balance, credit expiry date and sign-up date, as the privacy policy below describes, and stops seeing them when their link is closed. Each earning is held for 30 days before it can be withdrawn, so that it can be taken back if the payment behind it is disputed. The agent's page states the smallest amount we pay out, and we transfer payouts after the agent asks for one.
While their link is open, an agent's own plans and top-ups carry a discount, and their own purchases earn no agent anything. An agent may also transfer credits from their own balance to an account they referred. That account must hold a plan that has not ended. Credits keep the expiry date they had in the agent's balance when they are transferred; a transfer never extends it. A transfer cannot be reversed by the agent; a transfer made in error can only be corrected by us.
An agent's page includes a support desk that answers questions about this program. It cannot change anything on any account, and what it says about money is an explanation, not a promise: these terms and our written decisions are what count.
An agent must not promise profits or results; must describe the service only as this site describes it, as software written to the customer's own rules, and never as a ready-made trading product or a source of trade recommendations; must not present themselves as uBotDesign; must not buy advertising on the uBotDesign name; must not publish their link or discount on coupon or voucher sites; and must not refer themselves or accounts they control. If an agent breaks these rules, we close their link and any balance not yet paid out is forfeited. Tax on what an agent earns is the agent's own responsibility; where the law requires us to withhold tax from a payout, we do so.
For a trading system built for MetaTrader 5, you choose live-results reporting when you order a build: the box is ticked for you and you can untick it, and the program itself carries an input that switches the reporting off while it runs. With it on, it sends us a pseudonymous account id, the symbol, timeframe, broker and magic number it runs with, its equity-to-balance ratio and drawdown percentage, and each closed trade as pips and percent gained or lost. It never sends your login, your balance, any amount in your account's currency, or the price of a position still open. We use it to improve our own product, and, when you ask for an analysis of your live results, we send it to the same third-party model described below, which writes the report you read. Turning the option off on the site stops the reporting immediately, and we keep this data for 180 days. The source code you download never contains the reporting code. An indicator carries no such reporting at all, and neither does a program built for cTrader or for Webull.
The site and your data are hosted on a cloud provider's network. Programs are built on our own machines in Thailand. The assistant you talk to is a large language model run by a third-party provider outside Thailand; your conversation, including any image or code file you attach (of a compiled .ex5 file, only its name) and, when you ask for one, the live-results data described above, is sent to it in order to produce the summary, the program and the report, and only for those purposes. When a back-test you ordered finishes, its figures, the settings you ran it with and your program's conditions are sent to the same model so that it can write the comment shown under the result. If you are one of our sales agents, what you write at the agent desk on your agent page is sent to the same model, together with the figures of your agent program (your share, discount and balances, and the plan, credits and dates of the accounts you referred, without their email addresses), so that it can answer you. Messages sent to our Facebook pages in Messenger are answered by the same model: the recent messages of that conversation (for a long one, also its first messages and the conditions of its last summary), and the pictures in the messages it is answering, are sent to it so that it can reply, with your name as Facebook shows it and — only once you have linked that chat to your account — your account's email address, plan, credits and the names and status of your programs; and a person from uBotDesign reads these chats too and may answer in person. When the assistant on Messenger summarizes the conditions of a program, that conversation is sent to the same model to write the summary. Once a Messenger chat is linked, the assistant on this site is also told your name on Facebook. What you write to the Lab's assistant is sent to the same model, together with the system set up on your Lab page and the figures of the tests it runs for you, so that it can answer you; the tests themselves run on our own machines. When you start AI Optimize, your system, what you wrote about what you want from it, and the figures of the systems it tries in the Backtest are sent to the same model so that it can choose what to try next; the Forward test figures are not sent to it. In your conversation on this site, and in a Messenger chat linked to your account, your account's recent credit history, purchases and checkouts, and the status of your recent builds are also sent to the same model, so that it can help you with them. Before a program that runs at your broker can start, what you asked for, its setup and the trades of its test are sent to the same model so that it can check them against each other; your API key is not.
Your account, conversations, summaries and delivered files are kept while your account exists, so that your shelf stays complete. What you keep in the Lab is kept as described above. Sessions are deleted when they expire or when you end them. We also keep a security log of sign-in activity — including email addresses typed at sign-in that do not match any account — for 90 days, after which it is deleted automatically. If you ask us to delete your account, we delete it and its data, except for records we must keep by law (such as payment records).
You may ask us for a copy of your data, ask us to correct it, or ask us to delete your account. If you are in the European Economic Area or the United Kingdom, you have the rights given by the GDPR and UK GDPR, including the right to complain to your supervisory authority. Write to support@ubotdesign.com.
If a build fails, or the factory's own checks refuse the result (for an indicator, that includes the check of what it drew on past prices), the reserved credit is returned to your balance automatically and immediately. You do not need to ask. A credit is spent only when a compiled file is actually made available to you.
A plan, a top-up, or the missing credits you pay for at the build button is paid once, in advance, and is not refunded for money in any case. The credits it carries are yours to spend for one year from the day they were added, and a build that never reaches you always returns its credits to that balance with the expiry date they already had, or at least 30 days from the day they come back, whichever is later, so what you paid for stays available to you. If a payment did not reach your credits, tell our assistant in your conversation, or write to us, and we will put your credits right.
We correct it free of charge; see section 6 of the terms. A program that does what its summary says but does not make money is not a defect, and is not refundable.
Ask our assistant in your conversation on this site, or in a Messenger chat linked to your account: what it cannot settle is passed to us, and we answer you in the same conversation. You can also email support@ubotdesign.com from the address on your account.