-option to disallow simultaneous stop/limit orders by not placing any until only one is true.
My Market order suggestions are:
-option to allow both signals to to be placed resulting in a hedge and let them play out their individual exits. (I know this won't be popular and don't care too much if we leave this one out)
-option to suppress both longs and shorts until only one signal is true.
I'm open to other suggestions if they are symmetrical.
Description changed:
"#9
bentra 13 minutes ago
Bar closes bellow SMA + x * ATR / Bar opens above MA - x * ATR"
oops that one was garbled lets try
Price bellow Moving average + x / Price above Moving average - x
Or are you saying SQX lacks the ability to create these type of rules in the first place? I would understand this line of reasoning more. I just didn't understand the part where you were talking about simultaneous orders and a long bias as you can direct SQX not to take long trades at all.
Furthermore, if you were to enter a trade at the exact same time on both ends, all you would be doing is selling at the bid and buying at the ask price. No matter what happens in this scenario, you will pay the spread. By definition, this cannot be profitable because the buy position would close out at a negative difference of the spread when the sell position is closed out. The only way to profit this way is if you were able to trade with the bid and ask invertedly priced. This is impossible with directional algorithms. You would need to be doing something like arbitrage and even then, that's not something SQX can do as this does not rely on any market data do find these type of trades. What you are describing will result in a consistently losing algorithm just because of the spread alone.
All of your points only apply to MARKET ORDERS and this bug is effecting LIMIT/STOP ORDERS TOO. My example about simultaneous buy and sell signals always true with a buy stop at the high and a sell stop at the low is a solid example of a potentially profitable symmetrical STOP ORDER strategy which would be broken by this bug. This is also a good example of a strategy with simultaneous longs and short signals firing and longs and shorts limit order being place without entering market in both directions necessarily.
Attachment Strategy 02-longsbug.sqx added
Attachment Strategy 022 - longonly bug 2.sqx added
Attachment Strategy 01-rising-falling-longsonly-bug.sqx added
Attachment Strategy 019-bullsbears-longonlybug.sqx added
However, there may be a benefit in placing two limit orders X distance away from each other and canceling the other one when the first order fills. This would be similar to an idea I submitted earlier where instead of canceling the other limit order, it was used as a stop-loss: https://roadmap.strategyquant.com/tasks/sq4_1859. This is essentially the same idea with the understanding that the second order would be canceled after the first trade is entered. Or you could even cancel the second limit order after the market moves x pips in your direction to have a mixture of both.
The only way to hedge and use market orders is to do this between different markets. For example, finding some strategy set of rules where you can buy EURUSD and sell AUDUSD and make a profit after x amount of time or when x exit condition occurs. I have also submitted a request for that here: https://roadmap.strategyquant.com/tasks/sq4_2829.
I wouldn't necessarily consider hedging "symmetry" as the rules to enter aren't based on any symmetrical indicator block rules between long and short. I would also argue that any blocks that cause simultaneous entry currently would stand to be a bug and instead it should not be indicator blocks that determine simultaneous entry but be a specific trading mode just as fuzzy logic is a specific trading mode. Using indicator rules to define simultaneous entry is contradictory by nature and hence my confusion with the way you laid out your feature request.
Description changed:
-option to disallow simultaneous stop/limit orders by not placing any until only one is true.
My Market order suggestions are:
-option to allow both signals to to be placed resulting in a hedge and let them play out their individual exits. (I know this won't be popular and don't care too much if we leave this one out)
-option to suppress both longs and shorts until only one signal is true.
I'm open to other suggestions if they are symmetrical.
Description changed:
-option to disallow simultaneous stop/limit orders by not placing any until only one is true.
My Market order suggestions are:
-option to allow both signals to to be placed resulting in a hedge and let them play out their individual exits. (I know this won't be popular and don't care too much if we leave this one out)
-option to suppress both longs and shorts until only one signal is true.
I'm open to other suggestions if they are symmetrical.
Subject changed from True symmetry for currencies - without a preference for longs (and Not LongEntrySignal / and Not ShortEntrySignal) to True symmetry not currently achievable by default...Must use custom template to get it? Please give us an option so we can have 100% symmetry.
I agree with this. This should essentially never happen because of symmetry should never cause short entry conditions and long entry conditions to be true at the same time. This makes no sense and will force the spread to be traded at an immediate loss on market orders and limit orders may be even worse if they are submitted further away and a spike occurs in the market. The case where I can see this happening? Say you have a Bollinger band strategy that buys when the top band goes up and sells when the bottom band goes down. This should not happen as this would cause the long and short entry to trigger at the same time, resulting in a potentially massive loss. Anywhere that indicator block conditions cause this to happen is most likely a bug and should not be expanded on as all scenarios can't benefit the strategy.
In order to achieve the type of symmetry that you are discussing, you would need to make a hedging mode, similar to having mean reversion or fuzzy logic modes. The hedging mode would handle using simultaneous order handling with limit orders. This solves the issue of retaining the hedging logic without basing it off of indicator logic. If this is done, it should only be done with stop-limit orders and users should have the choice of how to handle the logic for those orders i.e. Removing one order after a trade is triggered/after a trade is triggered and move x ticks/after x bars. This should never be done with market orders as the spread will always be paid, causing any profit made by the exit methods to be an inconsequential edge only found between the exit methods instead of at the time of entry causing unnecessary margin and loss due to spread tied up in trading conditions. Making a new mode to handle this for limit orders only is the smartest way to go about achieving what is being discussed.
Agree with bendx77 that a true symmetric strategies will follow this rule:
if LongEntrySignal and Not ShortEntrySignal
// Long action – Market, Stop or Limit
if (ShortEntrySignal and Not LongEntrySignal)
// Short action – Market, Stop or Limit
The standard template will favour long entries making the strategy unsymmetrical .
Status changed from New to Refused
I think a checkmark option that says "default place long orders and not short orders when long and short are both true" with a descriptive info popup would not be complicated and would add some transparency. I think having a long bias building process (which only a programmer might notice the cause) without any notes to the user about that is a little misleading. Currency markets don't have a natural long bias and some traders believe in using properly symmetrical strategies.
Please vote if you agree.