How to Compare Multiple Conditions using AND OR in Forex Trading Strategy In previous post, you have learned how to use the relational operators to build a single criteria check. more than, lesser than, more or equal than, lesser or equal than, equal not equal How about if you want to design multiple criteria check? In this post, you will learn on Logical Operator How could Logical Operator do How to use AND operator How to use OR operator How to check more than 2 conditions? How could Logical Operator do Logical operator allows you to check multiple criteria in a same time. During your design of trading strategy, you might come across the scenario as below Scenario #1 I want to do a pending buy stop when When 5 moving average is > 13 moving average When RSI < 70 When RSI > 30 When MACD signal value is > 0 (Positive) In this scenario, you want all conditions to be met in order to perform your buy stop Scenario #2 I want to close the trade When the 5 moving average is < 13 moving average OR When RSI > 70 In this scenario, you want to close the trade when either one of the condition is met , whether is the 5 moving average is < 13 moving average or RSI is > 70. Let’s reveal how to cover the scenario 1 and scenario 2 using logical operator. How to use AND operator AND operator or && (double ampersand) is a operator that allow you to compare A condition and B condition where it will only be true when A condition is matched AND B conditions is matched. In this example, I will use two conditions to check Condition A: 5 moving average is > 13 moving average Condition B: RSI < 70 Case #1 is the only one is matched when condition A and condition B is matched. Only any of the condition is fail, then the overall criteria check in AND operator will be fail (Case #2, Case #3 and Case #4) This is suitable for strategy that need an absolute match on the criteria to do on the action. If anyone of the condition checking fail, then action will not be proceeded. How to use OR operator OR operator or || (double vertical splash) is a operator that allow you to compare A condition and B condition where it will be true when either A condition is matched OR B conditions is matched. Similarly, I am using the same example from above Condition A: 5 moving average is > 13 moving average Condition B: RSI < 70 If using OR operator, any of the condition is true, then the overall result will be true. This result is true for Case #1, Case #2, and Case #3. It will only be fail, when both condition A and condition B is failed (Case #4). How to check more than 2 conditions? Now you should have know how to compare 2 conditions concurrently. How about 3 conditions ? 4 ? or 5 ? Same rules logical condition applied to more conditions check even if is 3 conditions or 4 conditions or 5 conditions. Lets say you have a condition as below to create a new trade and you are using AND to check on 4 conditions Condition 1: I want to have 3 continuous bullish bar Condition 2: I want to check RSI is between 70 and between 30 Condition 3: I want to check 5 moving average is above 13 moving average Condition 4: I only want to trade in between 3pm to 10pm So if you are using AND condition, anyone of the condition is not matched, then your new trade will be executed That’s end of the topic. This concludes the condition checking lessons: You should have know how to do a simple condition check You should have know how to make multiple condition check through AND or OR operator I hope you have learned something from this post. Thank you for reading and happy learning. Post Views: 1,787
How to use more than , lesser than, equal or not equal in Forex Trading Strategy As a part of how to design your forex trading strategy, you need to know what is the condition that you could check for ? In general, you know you could compare the price, buw how to compare the price? For example, you want to check Whether the price has moved more than the 5 moving average price ? Whether the price has moved lesser than the 5 moving average price? This post is going to reveal the type of mathematic condition that you could use to check your criteria, they are known as relational operators. This knowledge will help you when you’re designing your condition using the EA builder to design your condition for custom indicator custom EA. What you’ll learn in this post What does relational operators do? More than > Lesser than < Equal == More or equal than >= Lesser or equal than <= Not equal != These are the relational operators that are commonly used when you want to design your trading strategy. What does relational operator do? From the example below, I am using two variables to make comparison A and B . A and B can either be a price Ask, Bid, Open Price, High Price, Low price, or Close price an indicator price (i.e. Moving average price , Bollinger band price) Time Volume or etc A reminder, the comparison will ONLY give you TWO results in True / Matched / Condition passed False / Mismatched / Condition failed For both of the results, you could decide to do the actions that you want. For example, if the condition checking is passed, then you do a buy trade, on the other hand, if the condition checking is failed, then you do a sell trade. On both results, whether is true or fail, you could decide to do something on each of the result, or you could just do nothing. For example, I only want to execute sell trade when the result is fail. I will do nothing if the checking is true. I only want to close the trade when the condition checking is true. More than > This operator more than > is to check whether A is more than B. For example, Examples Condition Check IF Result Graph Examples A = 102.00 B = 101.00 A > B Condition Matched. A = Blue Line B = Red Line A = 101.00 B = 102.00 A > B Condition Failed. A = Blue Line B = Red Line Lesser than < This operator lesser than < is to check whether A lesser more than B. For example, Examples Condition Check IF Result Graph Examples A = 102.00 B = 101.99 A < B Condition Failed. A = Blue Line B = Red Line A = 101.99 B = 102.00 A < B Condition Matched. A = Blue Line B = Red Line Equal == This equal operator is to check the whether A is exactly the same with B. For example, Examples Condition Check IF Result Graph Examples A = 70.00 B = 70.00 A == B Condition Matched. A = Blue Line B = Red Line A = 70 B = 71.01 A == B Condition Failed. A = Blue Line B = Red Line A = 70 B = 69.99 A == B Condition Failed. A = Blue Line B = Red Line More or Equal than >= More or equal than operator is to check whether the price is more than OR equal with. Unlike the more than > comparison, if the price is exactly the same, it is still not true. However, in this comparison, the result is true when the price is exactly the same. For example, Examples Condition Check IF Result Graph Examples A = 70.00 B = 70.00 A >= B Condition Matched. A = Blue Line B = Red Line A = 70 B = 71.01 A >= B Condition Matched. A = Blue Line B = Red Line A = 70 B = 69.99 A >= B Condition Failed. A = Blue Line B = Red Line Lesser or Equal than <= This is the opposite of the more or equal than operator. It is to check if the price is lesser or equal than . The condition is true when the price is exact the same or lesser. For example, Examples Condition Check IF Result Graph Examples A = 70.00 B = 70.00 A <= B Condition Matched. A = Blue Line B = Red Line A = 70 B = 71.01 A <= B Condition Failed. A = Blue Line B = Red Line A = 70 B = 69.99 A <= B Condition Matched. A = Blue Line B = Red Line Not Equal != Not equal is the opposite sign of equal. Anything that is not equal then will result in true. For example, Examples Condition Check IF Result Graph Examples A = 70.00 B = 70.00 A != B Condition Failed. A = Blue Line B = Red Line A = 70 B = 71.01 A != B Condition Matched. A = Blue Line B = Red Line A = 70 B = 69.99 A != B Condition Matched. A = Blue Line B = Red Line So summary, in this post, you should have learned how to use the relational operator to make your comparison. You should know the basic relational operator like > more than, < lesser than, >= more or equal than, <= lesser or equal than, == equal operator, != not equal operator. With this, you should able to create your own trading strategy. Nevertheless, in this post, it only mentions how to create a single criteria check. How about you want to combine 2 criteria check? For example, I want to check both 5 moving average is > 13 moving average RSI price is < 70 You will learn this in next post. Stay tune. I wish you happy learning and success in creating your EA robot.
How to Build EA Robot Strategy | How to Design Your Forex Trading Strategy This post is to show you how to build a good forex trading strategy for your trade or for your EA robot. A good strategy covers different aspects from trade entry, trade management to account management. These 3 aspects are the crucial elements that you should think while you are designing your trade strategy. Trade strategy is the golden trade secret that each trader owns. Revealing the trade strategy to other is like allowing other to know your secrets. On the other hand, stealing other trader trade strategy or reverse engineering the EA robot to reveal the trade strategy is an unethical behavior that I definitely say NO. Therefore, protect your trade strategy and protect your own copyright. Back to the topic, any of the trading method could be written as a trade strategy. If someone is trading through the gut feeling, then he will surely lost in trade in long run when the emotions come. Therefore, before you trade, you should design your trade strategy. You should follow your trade strategy in any circumstances without affected by any emotion, especially in trade entry, in taking profit, in stopping lost and in account management. These are the keys that you will accumulate your profit, rather than you are betting all your money in a trade blindly. Trading is not gambling, but trading is a skill of finding out the probability through technical analysis or fundamental analysis. What you’ll learn in this post? What is Forex trading strategy How to design trade strategy Step 1: Design strategy for trade entry Step 2: Design strategy for trade exit (take profit or stop loss) Step 3: Win to Loss Ratio, Profit to Loss Ratio Step 4: Test your strategy What is Forex trading strategy Trading strategy is a set of condition checking to take an action in MT4. The set of criteria could consists of ONE or MANY conditions. Use the keyword “WHEN” to ask yourself when you want to do an action. The action could be buy / close / modify / close trade. So you need to ask yourself these questions: What is your action ? When you want your action to be executed ? For example: (What is my action) : I want to do a buy trade (When you want your action to be executed) : I want to execute a new buy trade when I’ve detected 3 past bars is bullish bar Thus, The “When you want to trade ” is the strategy checking or you could say this is a set of criteria. So this is pretty simple right. Now, it is time to convert your thoughts into a sequence of thought flows. I normally just use power point to help me or draft out in a paper. You could use a flow diagram with rectangle shaped box, diamond shaped box, and round shape box to form your idea. For example as: Flow Chart Explanation: Round shaped boxes are use to indicate start of strategy checking and end of the checking Diamond shaped box is used for decision making. There are ONLY two possible outcome: whether is the checking is matched or fail (In programming, it is true or false) True is when the checking is matched False is when the checking is fail Rectangle shaped box is used for action: i.e. You want to do a buy trade Arrows flow is used to indicate the flow of thought of what will happen next So, try to draft out your trading strategy in a paper or even in power point. You can use this template for a quick start too. Download the Template here. Step 1: Design strategy for trade entry First is to design your trade entry, whether is a buy trade, sell trade or pending trades like buy stop, sell stop, buy limit or sell limit. These are the action for the trade entry. Before that, you need to think of when you want the trade to be executed. In general, it can be broken down into two: Which timeframe you want the trade to be checked For example in 5 minutes chart, 15 minutes chart, 30 minute chart, 1 hour chart, 4 hours chart, 1 day chart, 1 week chart or 1 year chart i.e. I want to check on every new bar created in 5 minutes chart What is the criteria need to be met ? You can use indicator to find the criteria For example moving average , RSI, MACD. i.e. Price is moving above 5 moving average You also can use the help of Price action in finding the resistance and supports With these, then you can form a single criteria check. You could write it out your criteria check as below I want to check on every new bar in 5 minutes chart When the previous price is moving more than previous bar 5 moving average For more advance criteria check, you could combine more criteria into checking, for example I want to check on every new bar in 5 minutes chart, previous price is moving more than previous 5 moving average I also want to check that at the same time previous RSI value is lesser than 70 In this example, you combine two indicators check. There is also time that you could combine checking in different time frames. For example I want to check on every new bar in 5 minutes chart, previous price is moving more than previous 5 moving average I also want to check that at the point of time 4 hours time frame, current RSI price is lesser than 70. The criteria checking is depending on your trade strategy. It is on your research and study, which indicators will give you more profits. Design strategy for trade exit (take profit or stop loss) Now, once your trade is entered, you also could write the trade strategy for your take profit and stop loss. Normally the once the trade is executed, you will check on the condition of your trade in every price changed. On each price changed, you can take action as below Change your trades through modifying the take profit or stop loss Close your trade in critical condition Again, you could write your strategy for these actions. Win to Loss Ratio and Profit to Loss Ratio This is very important that you need to consider on the risk management: Win to loss ratio This is the ratio how many times you win versus how many time you lost i.e. I win 8 times out of 10 times, loss 2 time. The win to loss ratio is 80% i.e. I win 2 times out of 10 times, loss 8 time. The win to loss ratio is 20% Profit to loss ratio This is the ratio of profit versus loss in a single trade i.e. I win 50 pips averagely in a time, but if I loss 20 pips averagely in a time. Then the profit to loss ratio is 250%. This also means, if I win one time, basically I could cover 2.5 times of lost. i.e. I win 20 pips averagely in a time, but if I loss 50 pips averagely in a time. Then the profit to loss ratio is 40%. This also means, if I lost one time, basically I would need 2.5 times of wining to cover my lost. Both ratio carries different weights. You will still lost in total if you didn’t calculate correctly. For example If my win to loss ratio is 50% (10 times of trade, 5 times will win, 5 times will loss) I will loss in total if my profit to loss ratio is less than 50%, meaning I need more wining trade in order to cover my losing trade However, if my profit to loss ratio is more than 50%, then I will win in total. This is to show you how important that you should understand the ratios and design your stop loss and take profit correctly. Test your strategy Lastly, you should test your strategy for goes into live. There are two ways you could test your strategy. First: build an EA and test through MT4 Strategy Tester. With this, you could get 100% of accuracy whether your trade strategy is working or not, whether will loss or win through the past history. Robot will not tell lies. Second: You need to do the back test one by one through Metatrader 4 past history. You need to be honest to your self and only follow the strategy that you have defined, else you will not get the 100% of accuracy and know the result of trade strategy if it is working. So, this is the end of the post. I hope you have learned the knowledge of how to design your trading strategy. By now, you should be clear the trade considerations that you need to think when design a trade. These all will eventually affect your result. I hope it will help you to improve your trade. Happy learning ^^
Before you start any programming, you should know the origin of MQL4. What You’ll Learn In This Post What is MQL4 What MQL4 can do or cannot do What are the MQL4 applications that can build MQL4 or known as MetaQuotes Languages 4 is a script based command written by MetaQuotes Software corporation. Below are the feature of MQL4: It is to help forex trader to create own robot to manage the trade, which includes create trade, modifying trade, and as well as closing the trade. MQL4 embeds all the features that you can used in MT4, such as indicators (moving average, RSI (relative strength indicator), MACD) It can also helps to automatically update MT4 objects such as (fibonacci, trend line and more) It inherits all the behaviors and limitations from MT4: Account lot size limitation, buy stop and sell stop limitation from the price, and buy limit and sell limit limitation from the price. MQL4 is just a set of English words to form a series of commands. Imagine that, you learn a set of hand gesture commands to command your dogs to stand up. In MQL4, MQL4 are the special commands that are written in English, a set of MT4 commands to order MT4 to work accordingly. Sound simple right ? You just need to learn the commands to give order to MT4. MQL5 is a accessor of MQL4. Nevertheless many of the Forex broker is still using MQL4 and it is popular among the forex broker due to stability. MQL4 has a similar concept of C++ programming which is using object oriented. It is easy to be used and written as all the syntax and functions are well defined and documented in the MQL4 documentation. Having says that if you are a C++ programmer, then this will be a piece of cake for you. You can go ahead to program your EA. Nevertheless, for most of the Forex traders, you have no programming background. Before you start program, you might have fierce to learn how to write. But I can guarantee you, MQL4 is not that hard to learn. You do not need to learn all the functions / syntaxs / object oriented in MQL4 feature. From my 10 years programming experience, you just need to know the core of the programming and learn what you need to do. For example, if you want to learn how to analyse the different symbols of the markets, then you should learn the indicators. On the other hand, if you want to learn how to create your on bot for trading, then you should learn the skill to create an EA (Expert advisor). In short, if assume that there is 100% of the knowledge of MQL4, but you just need to learn 50% of it than you are fine to create your own robot. You do not need to learn all the technical terms. Just to be keep in mind of it. Learn what you need. Same set of MQL4 commands can be built for 3 main purposes: Expert Advisor or EA or Robot Expert Advisor is a sets of commands that will check on your trading criteria on each of the price changes. In MQL4, the price changes is called Tick changes. On each tick changes, then your trading criteria will be checked if it is matched and perform actions. So, your task is to rovide a set of criteria on the EA in order to perform actions on your trade, i.e. open a new trades. Indicator For trader who want to write indicators to draw own lines and objects on the chart to ease the analysis work. Then indicator is the feature you should look into. Take an example of moving average, if you want to create own line like moving average with your own mathematic algorithm, then you should write your own indicator. Then indicator could be shown in the chart. Script Script is a one time used command execution. Unlike EA / Expert advisor, the checking will not be repeated on each price changes. Script will only be executed once on appended to the chart. In the scenario where you want to check all of the symbol for each of the day and generate report, then you should use script to help you execute the tasks. Or if you have a script to help you close all of the active trade in your list without any hassle to close it one by one, especially during the critical time, then you should use script. So these are the introduction of the MQL4 for a MQL4 newbie. Have a look in other post to learn and understand more on MQL4. I have described this in video as well