MarketRangeOrder Errors

Created at 08 Oct 2024, 05:12
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
91

910247359

Joined 19.12.2021

MarketRangeOrder Errors
08 Oct 2024, 05:12


Hi,

When the price of US30 is 40,000, I buy US30 using ExecuteMarketRangeOrderAsync(TradeType.Buy, US30, lot, 10, Symbol.Ask + 100, MyLabel, stopLoss, stopLoss * 10, comment); my base price should be 40,100, and the range pips are 10 points. In theory, the transaction should only be executed when the ask price reaches 40,099 or 40,101, but in practice, it is executed immediately. Why is this RANGE restriction ineffective?

What I actually want to achieve is: when buying,it should be  filled within the limit range, both positive slippage and negative slippage should be restricted within the range I set, and not allow it to be filled even if the positive slippage price is very favorable to me because it exceeds the limit value. How can this be achieved? Can you provide an example code?"

(Positive slippage sometimes may mean the trend is reversed when I'm buying, so it's not acceptable. I would rather it to be filled within the controlled limited bad negative slippage.)


@910247359
Replies

firemyst
10 Oct 2024, 05:37

Since you're trading the US30 - what is a pip with the broker you're using?

Is it a point, or 0.1 points?

Pips don't always equal points with indices. 

For instance, with Pepperstone, 1 pip equals 1 point on the US30; whereas on other brokers like Fusion Markets 1 point on US30 is 10 pips.

 


@firemyst

PanagiotisCharalampous
10 Oct 2024, 07:04

When the price of US30 is 40,000, I buy US30 using ExecuteMarketRangeOrderAsync(TradeType.Buy, US30, lot, 10, Symbol.Ask + 100, MyLabel, stopLoss, stopLoss * 10, comment); my base price should be 40,100, and the range pips are 10 points. In theory, the transaction should only be executed when the ask price reaches 40,099 or 40,101, but in practice, it is executed immediately. Why is this RANGE restriction ineffective?

Hi there,

No, this is not how it works. Market orders are executed immediately. This is way they are called market orders. If you need a pending order use a Stop Limit order.

Best regards,

Panagiotis


@PanagiotisCharalampous

910247359
10 Oct 2024, 18:53

RE: MarketRangeOrder Errors

PanagiotisCharalampous said: 

When the price of US30 is 40,000, I buy US30 using ExecuteMarketRangeOrderAsync(TradeType.Buy, US30, lot, 10, Symbol.Ask + 100, MyLabel, stopLoss, stopLoss * 10, comment); my base price should be 40,100, and the range pips are 10 points. In theory, the transaction should only be executed when the ask price reaches 40,099 or 40,101, but in practice, it is executed immediately. Why is this RANGE restriction ineffective?

Hi there,

No, this is not how it works. Market orders are executed immediately. This is way they are called market orders. If you need a pending order use a Stop Limit order.

Best regards,

Panagiotis

thank you for replying!

The issue I'm encountering is: when placing an market order, marketrangepips can limit negative slippage , but it doesn't limit positive slippage. For example, when I'm buying, the price at the time of order placement is 40,000, and the marketrangepips is set to 10. However, if the price suddenly drops to 4, which is very favorable to me, so it filled at 4, I don't want the order to be executed. It should only be executed within the range allowed by marketrangepips. Does the marketrangepips parameter only limit negative slippage, or does it limit both positive and negative slippage? What I want is that the positive slippage can also be limited though the price is favorable to me, this function can prevent potential reversal after sending an maket order at exceptionally active market conditions


@910247359

PanagiotisCharalampous
11 Oct 2024, 05:14

RE: RE: MarketRangeOrder Errors

910247359 said: 

PanagiotisCharalampous said: 

When the price of US30 is 40,000, I buy US30 using ExecuteMarketRangeOrderAsync(TradeType.Buy, US30, lot, 10, Symbol.Ask + 100, MyLabel, stopLoss, stopLoss * 10, comment); my base price should be 40,100, and the range pips are 10 points. In theory, the transaction should only be executed when the ask price reaches 40,099 or 40,101, but in practice, it is executed immediately. Why is this RANGE restriction ineffective?

Hi there,

No, this is not how it works. Market orders are executed immediately. This is way they are called market orders. If you need a pending order use a Stop Limit order.

Best regards,

Panagiotis

thank you for replying!

The issue I'm encountering is: when placing an market order, marketrangepips can limit negative slippage , but it doesn't limit positive slippage. For example, when I'm buying, the price at the time of order placement is 40,000, and the marketrangepips is set to 10. However, if the price suddenly drops to 4, which is very favorable to me, so it filled at 4, I don't want the order to be executed. It should only be executed within the range allowed by marketrangepips. Does the marketrangepips parameter only limit negative slippage, or does it limit both positive and negative slippage? What I want is that the positive slippage can also be limited though the price is favorable to me, this function can prevent potential reversal after sending an maket order at exceptionally active market conditions

Market range only limits negative slippage.


@PanagiotisCharalampous

910247359
11 Oct 2024, 11:53

RE: RE: RE: MarketRangeOrder Errors

PanagiotisCharalampous said: 

910247359 said: 

PanagiotisCharalampous said: 

When the price of US30 is 40,000, I buy US30 using ExecuteMarketRangeOrderAsync(TradeType.Buy, US30, lot, 10, Symbol.Ask + 100, MyLabel, stopLoss, stopLoss * 10, comment); my base price should be 40,100, and the range pips are 10 points. In theory, the transaction should only be executed when the ask price reaches 40,099 or 40,101, but in practice, it is executed immediately. Why is this RANGE restriction ineffective?

Hi there,

No, this is not how it works. Market orders are executed immediately. This is way they are called market orders. If you need a pending order use a Stop Limit order.

Best regards,

Panagiotis

thank you for replying!

The issue I'm encountering is: when placing an market order, marketrangepips can limit negative slippage , but it doesn't limit positive slippage. For example, when I'm buying, the price at the time of order placement is 40,000, and the marketrangepips is set to 10. However, if the price suddenly drops to 4, which is very favorable to me, so it filled at 4, I don't want the order to be executed. It should only be executed within the range allowed by marketrangepips. Does the marketrangepips parameter only limit negative slippage, or does it limit both positive and negative slippage? What I want is that the positive slippage can also be limited though the price is favorable to me, this function can prevent potential reversal after sending an maket order at exceptionally active market conditions

Market range only limits negative slippage.

Is it possible to implement a function to limit positive slippage?thank you.


@910247359

PanagiotisCharalampous
13 Oct 2024, 05:51

RE: RE: RE: RE: MarketRangeOrder Errors

910247359 said: 

PanagiotisCharalampous said: 

910247359 said: 

PanagiotisCharalampous said: 

When the price of US30 is 40,000, I buy US30 using ExecuteMarketRangeOrderAsync(TradeType.Buy, US30, lot, 10, Symbol.Ask + 100, MyLabel, stopLoss, stopLoss * 10, comment); my base price should be 40,100, and the range pips are 10 points. In theory, the transaction should only be executed when the ask price reaches 40,099 or 40,101, but in practice, it is executed immediately. Why is this RANGE restriction ineffective?

Hi there,

No, this is not how it works. Market orders are executed immediately. This is way they are called market orders. If you need a pending order use a Stop Limit order.

Best regards,

Panagiotis

thank you for replying!

The issue I'm encountering is: when placing an market order, marketrangepips can limit negative slippage , but it doesn't limit positive slippage. For example, when I'm buying, the price at the time of order placement is 40,000, and the marketrangepips is set to 10. However, if the price suddenly drops to 4, which is very favorable to me, so it filled at 4, I don't want the order to be executed. It should only be executed within the range allowed by marketrangepips. Does the marketrangepips parameter only limit negative slippage, or does it limit both positive and negative slippage? What I want is that the positive slippage can also be limited though the price is favorable to me, this function can prevent potential reversal after sending an maket order at exceptionally active market conditions

Market range only limits negative slippage.

Is it possible to implement a function to limit positive slippage?thank you.

Hi there,

You can suggest it in Suggestions. Nevertheless I don't think it would be a popular suggestion as I personally do not see the reason of limiting positive slippage. I can't think why you would not want a better price for your order. It's like rejecting a discount for a product and insisting to pay the actual price.

Best regards,

Panagiotis


@PanagiotisCharalampous

910247359
13 Oct 2024, 08:32 ( Updated at: 14 Oct 2024, 05:07 )

RE: RE: RE: RE: RE: MarketRangeOrder Errors

PanagiotisCharalampous said: 

910247359 said: 

PanagiotisCharalampous said: 

910247359 said: 

PanagiotisCharalampous said: 

When the price of US30 is 40,000, I buy US30 using ExecuteMarketRangeOrderAsync(TradeType.Buy, US30, lot, 10, Symbol.Ask + 100, MyLabel, stopLoss, stopLoss * 10, comment); my base price should be 40,100, and the range pips are 10 points. In theory, the transaction should only be executed when the ask price reaches 40,099 or 40,101, but in practice, it is executed immediately. Why is this RANGE restriction ineffective?

Hi there,

No, this is not how it works. Market orders are executed immediately. This is way they are called market orders. If you need a pending order use a Stop Limit order.

Best regards,

Panagiotis

thank you for replying!

The issue I'm encountering is: when placing an market order, marketrangepips can limit negative slippage , but it doesn't limit positive slippage. For example, when I'm buying, the price at the time of order placement is 40,000, and the marketrangepips is set to 10. However, if the price suddenly drops to 4, which is very favorable to me, so it filled at 4, I don't want the order to be executed. It should only be executed within the range allowed by marketrangepips. Does the marketrangepips parameter only limit negative slippage, or does it limit both positive and negative slippage? What I want is that the positive slippage can also be limited though the price is favorable to me, this function can prevent potential reversal after sending an maket order at exceptionally active market conditions

Market range only limits negative slippage.

Is it possible to implement a function to limit positive slippage?thank you.

Hi there,

You can suggest it in Suggestions. Nevertheless I don't think it would be a popular suggestion as I personally do not see the reason of limiting positive slippage. I can't think why you would not want a better price for your order. It's like rejecting a discount for a product and insisting to pay the actual price.

Best regards,

Panagiotis

thank you for replying!

Take US30 for example, my stoploss  is usually set to 1.7 point(very tiny), so any price reversal more than 1.7 means it's beyond my stoploss, it's not the price I want. the trend is reversed. so I have to close the position, so in order to avoid this case, the order should only be executed within some positive range(range<=1.7),or worse range(limited by slippage), better never allow it to fill if beyond the positive range.


@910247359