I'm about to give up fighting them already... - page 3

 
Maxim Dmitrievsky:
so where to? all are the same, i guess... forex broker

Have a look at my blog for a review. There will be 3 more brokers in a week or two (testing now).

All have affordable deposits and good conditions.

 
Andrey Khatimlianskii:

Have a look at my blog for a review. There will be 3 more brokers in a week or two (testing now).

All have affordable deposits and good conditions.

Cool review :)
 

Let's start at 15:23:39

You are trying to place a buy stop with 0.14 lot.

price 1.07998 SL = 1.07956 - difference 42 points - error

price 1.08006 SL = 1.07957 - difference 49 pips - got it wrong

price 1.08009 SL = 1.07957 - difference 52 pips - accepted!

Maybe it's the difference between SL and price that's the problem?

 
Oksana Berenko:

Let's start at 15:23:39

You are trying to put a buy stop with a lot of 0.14

price 1.07998 SL = 1.07956 - difference 42 points - error

price 1.08006 SL = 1.07957 - difference 49 pips - got it wrong

price 1.08009 SL = 1.07957 - difference 52 pips - accepted!

Maybe it's the difference between SL and price that's the problem after all?

Why was it a mistake if the stop was 20 pips. And if not 20 (changed), still check

price 1.07998 SL = 1.07956 - this is a bystop, all ok

the second one too, and the third one...

In my code:

ValidStop = SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL);
if( Ask-iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0) >= ValidStop*Point)
   {
    double price;
    Lots = LotsOptimized();
    if(ValidStop<=StopLevels) price = MarketInfo(_Symbol,MODE_ASK)+StopLevels*_Point;
    else price = MarketInfo(_Symbol,MODE_ASK)+ValidStop*_Point;
    
    if(OrderSend(Symbol(), OP_BUYSTOP, Lots, price, 2, NormalizeDouble(iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0),_Digits), 0, NULL,      OrderMagic)) GetLastError();
  }
 
Maxim Dmitrievsky:

Why the error? if the stop was 20 pips. And if not 20 (changed), still check

I only read your picture!

ris

Here I have read it:

Let's start at 15:23:39

You are trying to put a buy stop with a lot of 0.14

price 1.07998 SL = 1.07956 - difference 42 points - error

price 1.08006 SL = 1.07957 - difference 49 pips - error

price 1.08009 SL = 1.07957 - difference 52 points - accepted!

And made a conclusion:

Maybe it's the difference between SL and price that's the snag after all?

 
Oksana Berenko:

I only read your picture!

Here I have read it:

Let's start at 15:23:39

You are trying to place a buy stop with a lot of 0.14

price 1.07998 SL = 1.07956 - difference 42 points - error

price 1.08006 SL = 1.07957 - difference 49 pips - error

price 1.08009 SL = 1.07957 - difference 52 points - accepted!

And made a conclusion:

Maybe the snag is the difference between SL and price after all?

Well, the code above just checks for the difference between the order and the price for the stop that it should not be less than the stop loss. Plus we add the value of stop levelling to the ack and place the order at that level.

if( Ask-iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0) >= ValidStop*Point)
 

That is, the pause is always placed at the price, which is the sum of the current asc + stop level for buying, and the bid-stop level for selling

if(ValidStop<=StopLevels) price = MarketInfo(_Symbol,MODE_ASK)+StopLevels*_Point;
 
Maxim Dmitrievsky:

That is, the pause is always placed at the price, which is the sum of the current asc + stop level for buying, and the bid - stop level for selling

The value of Stop-Level is often displayed incorrectly. The code returns one value, when in fact it is a different value. I've encountered it returning 0 but actually 20. Or it even returned 20, but I could set it to a smaller value by hand!
 
Oksana Berenko:
The value of stopplay is often displayed incorrectly. The code returns one value, but it is actually a different value. I've seen it return 0, but it's actually 20. Or it even returned 20, but I could set it to a smaller value by hand!
I don't even know what to do then... I looked through print - they always return 20. It may be that while sending an order, the price changes by a point or more... that's why the server returns an error
 
Maxim Dmitrievsky:

That is, the pending order is always placed at the price, which is the sum of the current Ask + Stop Level for buying, and Bid - Stop Level for selling.

You can't trade on the brink of a stop level in a fast market. It's like trying to open on an instant execution with a 1 pip slippage on a five digits - 90% that there will be requotes.

Add some backlash.

Oksana Berenko:
Stop Level value is often displayed incorrectly. The code returns one value, when in fact it is different. I've encountered it returns 0 and actually 20. Or it even returned 20, but I could set it to a smaller value by hand!

0 means that either it does not exist or it is checked on the server by an algorithm known to him alone.

And we need to count from the correct prices (do not confuse bid with ask). And SL with TP of market deals should not be checked from the opening price, but from the price at which they will trigger.