- ago
Hello, I noticed that I am unable to use stop loss orders for binance spot trading. Is this a limitation of software / API? Because on binance, clearly those orders exist (stop-limit and trailing stop orders).

Thank you in advance.
1
192
Solved
18 Replies

Reply

Bookmark

Sort
Glitch8
 ( 12.05% )
- ago
#1
Stop orders are not supported for many symbols on Binance, including BTCUSDT. But StopLimit orders are supported. You'll need to use StopLimit.

0
- ago
#2
Thank you very much, glitch, that's important information for me!
0
- ago
#3
One more question, how would one set this up under building block parameters? Since I only notice "sell at limit or stop" building blocks. I basically want to mitigate my losses in case of huge drops.

Example: I have a limit order set up if a pair drops by 5% based on the last candlestick close, but in case it drops more than 10%, I would want to stop the trade.
0
Glitch8
 ( 12.05% )
- ago
#4
Since we don't have a StopLimit Block, you'd need to open it as a C# Strategy, then change the OrderType.Stop to OrderType.StopLimit.
1
Cone8
 ( 23.52% )
- ago
#5
The Building Blocks don't have StopLimit orders, so you'll have to modify the C# Code version of your strategy.

Example:
CODE:
                // the output from blocks will be similar to this -             {                Backtester.CancelationCode = 1;                val = multSource[idx];                ClosePosition(foundPosition0, OrderType.Stop, val, "Sell " + 10.00 + "% below " + source.Description);                            }             // change it to this if you want the stop and stop limit prices to be the same             {                Backtester.CancelationCode = 1;                val = multSource[idx];                ClosePosition(foundPosition0, OrderType.StopLimit, val, "Sell " + 10.00 + "% below " + source.Description);             }                         // to allow for some slippage, make your limit price a bit lower, like this -             {                Backtester.CancelationCode = 1;                val = multSource[idx];                Transaction tn = PlaceTrade(bars, TransactionType.Sell, OrderType.StopLimit, val, "Sell " + 10.00 + "% below " + source.Description);                tn.StopLimitLimitPrice = val * 0.999;      // allow 0.1% slippage             }
1
- ago
#6
Thank you very much :) I assume I can also backtest C# strategies just like you would the strategies with normal coins, is that correct? Can a strategy like this then get put into strategy monitor and also "Quotes and Price triggers" tool?
0
Glitch8
 ( 12.05% )
- ago
#7
Absolutely
1
Glitch8
 ( 12.05% )
- ago
#8
Let’s see if we can determine which Binance coins don’t support Stop. We can then handle this at the Binance Provider side by automatically submitting these orders at StopLimit.
1
- ago
#9
That'd be great! Because the plan is to put two "sell" orders into the strategy monitor window, like in this example:




I did check the backtest and it can print out two signals so that's a non-issue I assume. Though, I assume, for strategy monitor and signals -> the stop will have to be transformed into LimitStop during the signal processing, correct?



Like there, instead of stop orders, it'd have to print out limitStop?
0
Glitch8
 ( 12.05% )
- ago
#10
For Binance, yes.
1
Best Answer
- ago
#11
So I am having a slight issue.

When I change my stop loss order in C# to "stop limit" order, I notice that strategy monitor doesn't actually put out two seperate signals. Instead, there's only one signal, while if I use "limit" sell and "stop" sell with building blocks, there's two different signals.

I used WAVESUSDT as an example, I bought it at a certain price, then re-ran the strategy monitor to see if it throws out the signals with the building block strategy




However, when I attempt to do the C# coded change to make it a StopLimit order with some slippage, only one signal gets thrown out.




Am I missing out on something here?
0
- ago
#12


basically, I changed:



to:



0
Glitch8
 ( 12.05% )
- ago
#13
A StopLimit is not two separate orders, it’s one order and thus one signal. This looks all correct to me.
1
Cone8
 ( 23.52% )
- ago
#14
My fault for confusing you with with the example in Post #5.

The idea was if you want to use the same price for both the Stop and Limit legs, use the first example block.

If you want to add a little slippage, use the the second example block.
1
- ago
#15
I think we have misunderstanding here possibly?

I want to create two sell order conditions:

- One, which generates profits (which is the limit order)
- One, which prevents losses (stop order)

But I cannot use stop loss orders for most pairs on binance.

As you noticed, on strategy monitor, when using two sell orders, both of them appear for the specified pair, which means that either one or the other can get triggered. I want to use the "Quotes and Price triggers tool" to decide which one is going to get triggered. And that worked theoretically for WAVESUSDT - both Limit and Stop order got printed. (as shown in Post #11 - image 2) If I try to change the Stop order into a LimitStop order in C# however, only one signal appears instead of the supposed two signals (as shown Post #11 - image 4). I assume this is some kind of software limitation?
0
Cone8
 ( 23.52% )
- ago
#16
Anything is possible, but I can't imagine that being the case. Since you're editing the code, it's more likely that is' just "programmed" that way. Please post all of the code you are using and then we'll be able to tell.
1
Glitch8
 ( 12.05% )
- ago
#17
Let's say your take profit is $100 and your stop loss is $80.

To get it to work in Binance you'll need to:

1. Enter a Limit order for $100
2. Enter a StopLimit order for $80
1
- ago
#18
Hey there, nevermind... after re-creating the strategy, the signals were put out. I do not know what happened, I guess it could have possibly been a typo somewhere.

Resolved, the StopLimit technique you provided works.
0

Reply

Bookmark

Sort