[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 227
Augmentez le glissement. Les transactions doivent avoir été ouvertes sur un marché rapide. Il arrive parfois après des nouvelles importantes que l'Eurobucks soit si rapide en 1-2 ticks que c'est un cauchemar. Et pendant que le serveur traite l'ordre de l'EA, le prix change très brusquement.
Je crains que si le slippage est toujours important, DT ne commence à en abuser de manière systématique. Il serait souhaitable de le "déplacer" dynamiquement - uniquement si le prix sur le serveur est meilleur que celui auquel l'ordre a été envoyé. Ce serait similaire à une enchère manuelle - si le prix demandé n'est plus disponible, un nouveau prix sera proposé, qui pourra être accepté en appuyant sur OK ou rejeté - s'il s'agit de la même situation, bien sûr.
Bonjour à tous ! Veuillez m'aider à combiner les éléments suivants. Le résultat devrait être : deux lignes suivant le prix, une inférieure à Ask de 20 pips..,
l'autre est plus élevé. De plus, je reçois un bip si le prix change de 20 points par 1 tick.
Vovo4ka: Les gens ! J'essaye de faire, qui échangerait beaucoup en fonction du risque .... ce qui ne sort pas .... écrit
Veuillez indiquer où se trouve l'erreur....
Vous n'avez qu'un seul ordre du bon type dans votre historique de transactions ?
if(OrderProfit()>0) break;
S'il y a un ordre qui a clôturé en profit - nous sortons de la boucle et ne vérifions pas le reste de l'historique...
int orders=HistoryTotal(); // history orders tota l
C'est votre propre fonction ? Ou OrdersHistoryTotal()?
Je suis confus par la recherche du nombre d'ordres perdants. Si vous avez besoin de la dernière commande clôturée, où se trouve le chèque de la dernière commande ?
Voici le devoir à faire pour votre propre analyse :
int losses=0;
for (int i=0; i<OrdersHistoryTotal(); i++) { // Цикл по истории терминалаif (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { // Если ордер выбран ...if (OrderSymbol()!=Symbol()) continue; // Если символ ордера не наш - к следующему ордеруif (OrderType()>OP_SELL) continue; // Если тип ордера не наш - к следующему ордеруif (OrderMagicNumber()!=Magic) continue; // Если магик ордера не наш - к следующему ордеруif (OrderProfit()>=0) continue; // Если профит ордера в плюсе - к следующему ордеруif (OrderProfit()<0) // Ордер закрыт в минусе ...
losses++; // Увеличиваем счётчик убыточных ордеров
}
elseif (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { // Если не удалось выбрать ордер ...Print("Error in history! ", GetLastError()); // Сообщим об ошибке и посмотрим её кодbreak; // Прерываем цикл перебора ордеров
}
}
Et encore une chose :
if(ldlot<0.1) ldlot=0.1;
Peut-on tout de même faire un chèque pour moins que le minimum admissible ?
double MinLot=MarketInfo(Symbol(),MODE_MINLOT);
if (ldlot<MinLot) ldlot=MinLot;
Et en même temps, est-il plus grand que le maximum (en passant la taille du lot à la fonction) ?
double MaxLot=MarketInfo(Symbol(),MODE_MAXLOT);
if (ldlot>MaxLot) ldlot=MaxLot;
Je crains que si le slippage est toujours élevé, le DC ne commence à en abuser de manière systématique.
Si le DC commence à en abuser, rien n'y fera. Voici une autre chose qui pourrait fonctionner. Si votre société de courtage a des spreads flottants, il est préférable d'utiliser la fonction de détermination automatique de la taille du spread et le slippage doit être fixé à trois spreads. Le glissement sera alors modifié de façon dynamique.
Dites-moi, si je travaille avec des commandes par ticket, comment écrire une variable (int Ticket), comme statique locale ou comme globale habituelle ou en général, comme locale habituelle ? Je suis confus. Merci.
Fam: Si nous travaillons avec des commandes par ticket, comment écrire correctement la variable (int Ticket), comme une variable locale statique ou comme une variable globale régulière, ou généralement comme une variable locale régulière ? Je suis confus. Merci.
Tout dépend si cette variable sera disponible pour toutes les fonctions EA (enfin... pas toutes, mais certaines à coup sûr). Alors la variable est globale.
S'il n'est utilisé que dans une seule fonction, il est alors local.
La question est du genre "dans quelle eau mettre les fleurs, eau plate ou eau sucrée" ... en devinant, les fleurs sont devenues un balai, dans le bain... :))
Je crains que si le slippage est toujours élevé, le DC n'en abuse de manière systématique. Je voudrais le "slipper" dynamiquement - seulement si le prix sur le serveur est meilleur que le prix auquel l'ordre a été envoyé. Ce serait similaire à une enchère manuelle - si le prix demandé n'est plus disponible, un nouveau prix sera proposé, qui pourra être accepté en appuyant sur OK ou rejeté - s'il s'agit de la même situation, bien sûr.
Essayez d'abord de faire dépendre le slippage de la volatilité. Dans un marché calme, elle sera minime, dans un marché rapide, elle s'étendra plus largement.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Augmentez le glissement. Les transactions doivent avoir été ouvertes sur un marché rapide. Il arrive parfois après des nouvelles importantes que l'Eurobucks soit si rapide en 1-2 ticks que c'est un cauchemar. Et pendant que le serveur traite l'ordre de l'EA, le prix change très brusquement.
Je crains que si le slippage est toujours important, DT ne commence à en abuser de manière systématique. Il serait souhaitable de le "déplacer" dynamiquement - uniquement si le prix sur le serveur est meilleur que celui auquel l'ordre a été envoyé. Ce serait similaire à une enchère manuelle - si le prix demandé n'est plus disponible, un nouveau prix sera proposé, qui pourra être accepté en appuyant sur OK ou rejeté - s'il s'agit de la même situation, bien sûr.
Bonjour à tous ! Veuillez m'aider à combiner les éléments suivants. Le résultat devrait être : deux lignes suivant le prix, une inférieure à Ask de 20 pips..,
l'autre est plus élevé. De plus, je reçois un bip si le prix change de 20 points par 1 tick.
Tout fonctionne bien séparément. Merci d'avance !
1) La ligne en dessous du Ask de 20 pips.
2) La ligne est 20 pips au-dessus de l'Ask.
3) Le taux de variation des prix dans le temps.
Comme si un petrosien intelligent voulait faire une blague...))
Je suis désolé pour ça, l'argent est à vous. Plus vous êtes nombreux, mieux nous nous portons.
MetaEditor dispose d'un indicateur iMA standard. N'hésitez pas à l'utiliser :)
Les gens ! J'essaye de faire, qui échangerait beaucoup en fonction du risque .... ce qui ne sort pas .... écrit
Veuillez indiquer où se trouve l'erreur....
Vous n'avez qu'un seul ordre du bon type dans votre historique de transactions ?
S'il y a un ordre qui a clôturé en profit - nous sortons de la boucle et ne vérifions pas le reste de l'historique...
C'est votre propre fonction ? Ou OrdersHistoryTotal()?
Je suis confus par la recherche du nombre d'ordres perdants. Si vous avez besoin de la dernière commande clôturée, où se trouve le chèque de la dernière commande ?
Voici le devoir à faire pour votre propre analyse :
Et encore une chose :
Peut-on tout de même faire un chèque pour moins que le minimum admissible ?
Et en même temps, est-il plus grand que le maximum (en passant la taille du lot à la fonction) ?
Merci, mais tu devras quand même mettre un slip là-dedans.
Je crains que si le slippage est toujours élevé, le DC ne commence à en abuser de manière systématique.
Si nous travaillons avec des commandes par ticket, comment écrire correctement la variable (int Ticket), comme une variable locale statique ou comme une variable globale régulière, ou généralement comme une variable locale régulière ? Je suis confus. Merci.
Tout dépend si cette variable sera disponible pour toutes les fonctions EA (enfin... pas toutes, mais certaines à coup sûr). Alors la variable est globale.
S'il n'est utilisé que dans une seule fonction, il est alors local.
La question est du genre "dans quelle eau mettre les fleurs, eau plate ou eau sucrée" ... en devinant, les fleurs sont devenues un balai, dans le bain... :))
Je crains que si le slippage est toujours élevé, le DC n'en abuse de manière systématique. Je voudrais le "slipper" dynamiquement - seulement si le prix sur le serveur est meilleur que le prix auquel l'ordre a été envoyé. Ce serait similaire à une enchère manuelle - si le prix demandé n'est plus disponible, un nouveau prix sera proposé, qui pourra être accepté en appuyant sur OK ou rejeté - s'il s'agit de la même situation, bien sûr.