Visual JForex is a great Dukascopy tool for building automatic trading strategies. It is easy to use and doesn't require any programming knowledge. Visual JForex is powerful enough to build and test even very complex strategies. In the following article, we will review some tips about this platform.

Dear reader, I have dedicated much thought and many hours to write this article. So I'm really interested in hearing what you think about it. Please comment and share your thoughts! I hope this article will make your experience with Visual JForex more effective and enjoyable. :-)

Learn and Experiment

This is probably the most important tip! You can learn a lot about Visual JForex from videos, as well as the forum (see resources below). After you've gained some knowledge, experiment with it. For example, you can try to convert a trading strategy that you already use into Visual JForex. Here are some great learning resources:

Login At Start

It is a good practice to log into your account immediately after Visual JForex starts. You can open old strategy drafts and save new ones. You can also test your strategy in real time market conditions or on historical data. These options are not available unless you've logged in. Just click on the "Login" link at the top right corner of the window. After you have logged-in, your User ID will appear there. Here it is marked with a red rectangle:

Save Your Work

Saving your work as a draft is important. It is a pity to lose all your hard work due to computer failure or a sudden power outage. You can save the current strategy by pressing "File" and then "Save Draft". Every draft must have a unique name. If you try to save a draft with a name that already exists, Visual JForex will ask your permission to replace the old draft with the new one.

If you want to test different variations of the same strategy, save them as multiple drafts with slightly different names. For example, the core strategy can be saved as "sma_crossover". A modified variation can be called "sma_crossover_with_rsi". Another draft can be named "sma_crossover_london_session" and so on.

Movable Panels

By default, the "Repositorium" panel is docked to the right side of the Visual JForex window, while the "Variables" panel is docked to the left side. However, you can change this if you want. You can drag-and-drop either panel to the other side. Simply click on the panel, hold the mouse clicked down and move the panel to the other side of the window. In the following image, the "Repositorium" panel is being moved from right to left:


You can navigate inside the Visual JForex workspace using your computer's mouse. Just click on an empty area, hold the mouse clicked down and move in a certain direction. For example, if you click and move the mouse to the right, you will navigate left in the workspace. If you click and move the mouse to the left, you will navigate right. You always navigate in the opposite direction to the mouse's movement.

Another way to navigate is by the Navigation button at the bottom-right of the window. When it is pressed, a map of the workspace appears. A grey rectangle inside the map represents the area of the workspace that is currently visible. Click on the rectangle and move it in order to navigate inside the workspace:

Zoom In and Zoom Out

The strategy can sometimes be quite big. It may contain many blocks and take a lot of space on the workspace. In such a case it is advisable to zoom-out. That way, we can view it from a "bird's eye" and see all its components. Here is an example of such a zoom-out:

You can zoom-out by moving the mouse's wheel towards you. You can zoom-in by moving the mouse's wheel away from you. The wheel is usually located at the top of the mouse. The following image illustrates this:

Another way to zoom is by using the bar at the bottom-right of the window. You can zoom-out by moving the bar to the left. In order to zoom-in, move the bar to the right. You can restore the zoom rate to 100% by clicking on the first button to the left of the bar:

"i" is for Information

When you move the mouse over a block, a small "i" letter appears. It appears at the top-left, above the block's symbol. In the following example, I've added a black arrow pointing on the "i" letter:

After you click on the "i", a new window opens with information about the block. This can be very useful if you want quick help on how to use the block. It contains a detailed explanation of the block's definition, as well as describing each parameter. Here is the help displayed for the block example shown above:

Block Red and Green Colors

We can determine whether any parameter is missing from a block, just by viewing the block's color. A block with green color means that all parameters are filled. A block with red color means that one parameter or more is missing. When we expand the red block, a red star appears next to every missing parameter:

Copying Blocks

Your strategy is likely to use the same type of blocks several times. For example, the logical "IF" block is very common. Any time that the strategy needs to compare two values, the "IF" block is used. Instead of opening the "Repositorium" panel and dragging the block to the workspace, you can simply copy an existing block. This is usually much quicker and easier.

Just right-click on the block you want to copy, and select "Copy". Then, right-click again and select "Paste". An exact copy of the block will appear. Please note that the new block contains all the parameters and settings of the original block. Therefore, please remember to make any needed changes in the new block. For example, let's say you've copied an "IF" block. If the new block needs to compare different values, please change the appropriate parameters.

Use Variables, Not Fixed Values

Whenever you need to enter a parameter value into a block, it is good practice to define it as a variable. There are two reasons for this. First, your strategy will be easier to understand. Just by looking at the "Variables" panel, everyone can see all the variables that are used by the strategy. There's no need to search for them by going over each block and examining its parameters.

The second reason is that changing variable values is much quicker and easier. You don't need to find every value and change it individually. Just right click on the variable and choose "Edit value" to change its value. In the following example, the variable "EMA5_Current" is being edited:

Describe Your Thoughts

You can add a description to every variable. It is a good idea to do so. Simply write a brief explanation about what the variable represents. This can help other people understand your strategy. It can also help you remember the purpose of specific variables of the strategy:

Add Notes

Notes are similar to descriptions, as they allow you to write explanations about parts of your strategy. However, notes are not part of the variable, but independent components. After creating a note, you can connect it to any block. They help understand the purpose of the block, without having to expand and examine it:

Groups Look Prettier

You can group together blocks that have a common purpose. This will organize your strategy and make it look nicer. To create a group, hold down the Control key ("Ctrl"). Click on all the blocks that you want to include in the group. Each block that is clicked will turn into a grey color. Then, right click and select "create group". Here is how groups look like:

Testing Is Perfecting

To check how well your strategy really works you should test it. Visual JForex can test your strategy in real time market conditions, or on historical data. Just click the "Test" button at the top panel. Once you have the core strategy drafted in Visual JForex, start testing it. First, test it on historical data. When you are satisfied with the results try it on live market data ("forward test"). Please do multiple tests until you find the best entry, exit, stop loss and take profit rules for your strategy. Also test which currency pair, time frame and trading session yields the best result.

Translate to English Show original