Vérification du stop minimum dans les EAs publiés sur la place de marché. - page 15

 

Déflecteur,

Je n'arrive pas à comprendre la raison.

Stop min sur le serveur 18 pips

message dans le journal de bord :

2016.04.06 08:32:02     Core 1  2016.01.05 21:36:00   Result = 10016 symbol EURUSD volume 0.01 action 1 tp 1.07441 sl 1.07389 type 0 price 1.07415   Invalid stops in the request
2016.04.06 08:32:02     Core 1  2016.01.05 21:36:00   failed instant buy 0.01 EURUSD at 1.07415 sl: 1.07389 tp: 1.07441 [Invalid stops]

cours d'ouverture = 1.07415

Stop Loss = 1.07389 = 26 pips

Take Profit = 1.07441 = 26 pips

Et il écrit toujours de mauvais arrêts.

 
Vladislav Andruschenko:

Déflecteur,

Je n'arrive pas à comprendre la raison.

Stop min sur le serveur 18 pips

message dans le journal de bord :

cours d'ouverture = 1.07415

Stop Loss = 1.07389 = 26 pips

Take Profit = 1.07441 = 26 pips

Et il écrit toujours de mauvais arrêts.

Votre"slippage" n'est-il pas plus grand que le "Min server stop 18 pips" ?
 

Slipage= 2 spreads

qui s'élève à 20 pips, plus oui.

 
Vladislav Andruschenko:

Slipage= 2 spreads

qui s'élève à 20 pips, plus oui.

Donc calculez - le slippage est plus que le niveau SL, TP fixé.

Pour éviter cela, j'ouvre d'abord SL ; TP=0 et ensuite je modifie SL ; TP= Ask-26*_Point

Sinon, le niveau de stop minimum doit être calculé à partir du prix +- Slipage.

 

Merci. Je vais réfléchir au glissement - mais je n'ai jamais eu de tels problèmes. Le code a toujours fonctionné, mais après l'avant-dernière construction (depuis décembre) si vous définissez le niveau min du serveur sur les arrêts - il ne s'ouvre pas et c'est tout.

 
Vladislav Andruschenko:

Stop min sur le serveur 18 pips

Prix ouvert de la transaction = 1.07415

Stop Loss = 1.07389 = 26 pips

TakeProfit = 1.07441 = 26 pips

Mais il écrit toujours les mauvais arrêts.

Le Stop pour l'achat doit être compté à partir du prix Bid (auquel il se déclenchera).

Et vous n'avez que 16 pips entre le SL et le Bid.

 

Alors qu'est-ce qui vous empêche de repousser le TP/SL lorsqu'une erreur se produit ? Attrapez une erreur - déplacez la propagation, attrapez-la à nouveau - déplacez-la à nouveau...

 
Taras Slobodyanik:

Alors qu'est-ce qui vous empêche de repousser le TP/SL lorsqu'une erreur se produit ? Attrapez une erreur - déplacez la propagation, attrapez-la à nouveau - déplacez-la à nouveau...

Non, tu dois le faire correctement dès la première fois. Le code devrait fonctionner sans erreur ;)
 
Igor Volodin:
Non, tu dois deviner correctement la première fois. Le code devrait fonctionner sans erreur).

Exactement

Andrey Khatimlianskii:

Le stop à l'achat doit être basé sur le prix de l'offre (auquel il se déclenchera).

Et vous n'avez que 16 pips entre le SL et le Bid.

Le spread y est compté, le spread était de 8 pips. + stop min 18=26 pips.

ici, à 27 ans, tout va bien.

Et de plus, si une personne doit mettre un stoploss de 100 pips, cela signifie qu'elle perdra 100 pips, donc pour un BAY du prix ASC, vous devez compter 100 pips.

Et pour la vente de Bid.

//Вычисляем стоплосс
   if(StopLoss!=0)sl=MarketInfo(Symbol(),MODE_ASK)-StopLoss*Point; else sl=0;
// ВЫчисляем тейкпрофит
   if(TakeProfit!=0)tp=MarketInfo(Symbol(),MODE_ASK)+TakeProfit*Point; else tp=0;
   OPs(Symbol(),OP_BUY,GetSizeLot(),sl,tp,Magic,"");

//Вычисляем стоплосс
   if(StopLoss!=0)sl=MarketInfo(Symbol(),MODE_BID)+StopLoss*Point; else sl=0;
// ВЫчисляем тейкпрофит
   if(TakeProfit!=0)tp=MarketInfo(Symbol(),MODE_BID)-TakeProfit*Point; else tp=0;
   OPs(Symbol(),OP_SELL,GetSizeLot(),sl,tp,Magic,"");
 
Igor Volodin:
Non, vous devez deviner correctement dès la première fois. Le code devrait fonctionner sans erreur ;)

Alors comment ne pas deviner ? si le courtier donne un niveau de stop déraisonnable ? %)

...il est clair qu'après toutes les vérifications, il faut deviner pour connaître l'indentation minimale.