This EA employs the Stop and Reverse trading technique depicted on the article "Order Strategies. Multi-Purpose Expert Advisor". Basically you start with an initial position. If the market goes in the opposite direction you stop the position and open a reverse one by increasing the size. You keep doing this until the position gets into profit of your choice. When the position is closed with profit you open a reverse position and start the trading over.
With this EA you can open a position manually and tell the EA to get control over it and run the trading game explained above, or let the EA open a random position and let it manage it. You can customize when to stop the position and when to take the profit. You can set the size of the initial position and the factor by which you want to increase the size by.
StopAndReverse EA uses the same magic number generator with ObeyTheLimits EA. Thus you can use ObeyTheLimits MagicNumber utility to avoid magic number conflicts. Also for the initial position to get the EA started you can use ObeyTheLimits ManualTrade utility.
when_optimizing_start_always_with—Set it either to sell or buy so that optimization in testing starts with the same position. Otherwise results may be off. Since you may need to optimize the EA to pick when to stop and reverse and when to take profit, this option may come in handy.
random_start—Set it to true if you like the EA to open the initial position randomly.
start_with_already_open—Set it to true if you open a position before running the EA, and you want EA to get the control of it. If you set random_start to true, it overrides this option to false.
ticket_of_open_pos—If you set the previous option to true, you can enter the ticket number of that position and EA does the rest.
start_lot—When opening the initial position or starting over, this is the trade size.
lot_multiplier—When reversing the order, the previous size is multiplied by this factor.
stop_and_reverse_in—Set an integer for points where you stop the position and reverse it.
take_profit_in—Set an integer for points where you take the profit and start over.
compansate_for_swaps—If a negative swap accumulates over a position and you want to compensate for it when closing the position, set it to true.
symbol_has_suffix—Some brokers modify the name of a symbol with a suffix (e.g., with a dot to indicate fix spreads, or with a "micro" suffix to indicate sub-lots). If this is the case set it to true and then set symbol_suffix so that the EA can extract the symbol properties properly.
auto_magic_number—EA can use automatic magic number generation for the orders. The algorithm generates the same magic number for a symbol every time, so that even if you start over, the same magic number is used on that symbol. This way you can avoid malfunctions of the EA. Sometimes there can be conflicts in magic numbers such that different symbols can get the same magic number (e.g., EURUSD and EURAUD), and these conflict can be avoided by the use of ObeyTheLimits_MagicNumber utility script.
magic_number—If the previous option is false, you need to specify a unique magic number for the symbol that the EA is running on.