[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 568
Voici la situation : j'avais un ordre en attente de type 5(Sell Stop), puis le prix l'a atteint et il est devenu un ordre au marché. Le type de commande a-t-il changé ? C'est-à-dire que les propriétés du 5 ont-elles changé ?
Lorsque j'insère la combinaison susmentionnée, les "actions" modifient toujours les caractéristiques de l'ordre ouvert, alors qu'elles ne devraient pas le faire. C'est pourquoi je voudrais en faire une condition pour que les actions ne soient appliquées qu'aux ordres en cours.
if(OrdersTotal()) // Если стоят ордера в списке
{
OrderSelect(0, SELECT_BY_POS); // Выбираем первыйif(OrderType()==(2||3||4||5)) // Если он не открытый то можем модифицировать
{
Alert("Что то делаю с ордером =)");
if (PricePointNew>PricePointOld)
OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green);
elsePrint("OrderModify 1 вернул ошибку - ",GetLastError());
if (PricePointNew<PricePointOld)
OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green);
elsePrint("OrderModify 2 вернул ошибку - ",GetLastError());
if(PriсeStopNew>PriсeStopOld && (PriсeStopNew-PriсeStopNew)<(Stop*0.0001))
OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green);
elsePrint("OrderModify 3 вернул ошибку - ",GetLastError());
if(PriсeStopNew<PriсeStopOld)
OrderModify( Ticket, PricePointNew-5*0.0001, PriсeStopNew+8*0.0001 , PricePointNew-Profit*0.0001 ,0 ,Green);
elsePrint("OrderModify 4 вернул ошибку - ",GetLastError());
}
}
else// Если нет ордеров, то ставим
{
f = OrderSend(Symbol(), 5, 0.01,(PricePointNew-5*Point*10) , 1,(PriсeStopNew+8*Point*10) ,(PricePointNew-Profit*Point*10));
OrderSelect( 0, SELECT_BY_POS);
Ticket = OrderTicket();
Alors je suis coincé)) Lorsque j'exécute Expert Advisor dans le testeur avec visualisation, l'ordre de marché change toujours, je ne comprends pas pourquoi... J'ai fait un gros code, apparemment il y a une erreur algorithmique quelque part.
Catrock>>: Тогда я застрял)) Запускаю эксперт в тестере с визуализацией, рыночный ордер все равно меняется, непонятно почему.. Нагородил большой код, видимо ошибка где то алгоритмическая.
qu'est-ce qui change exactement dans l'ordre du marché ? Soyez plus clair sur ce que vous voulez atteindre.
Dans un ordre au marché, à ce stade, les niveaux de take profit et de stop loss changent. Ils ne devraient pas.
Seuls les ordres en cours peuvent être modifiés dans mon système. Si l'ordre devient un ordre au marché, les modifications ne sont pas autorisées. Le conseiller expert utilise un ordre au total.
Скажите пожалуйста, как реализовать условие.-
If( есть отложенные ордера) то делаем то и то ;
Merci) Mais cela n'a pas résolu la situation.
Voici la situation : j'avais un ordre en attente de type 5(Sell Stop), puis le prix l'a atteint et il est devenu un ordre au marché. Le type de commande a-t-il changé ? C'est-à-dire que les propriétés du 5 ont-elles changé ?
Lorsque j'insère la combinaison susmentionnée, les "actions" modifient toujours les caractéristiques de l'ordre ouvert, alors qu'elles ne devraient pas le faire. C'est pourquoi je voudrais en faire une condition pour que les actions ne soient appliquées qu'aux ordres en cours.
Je n'arrive pas à comprendre.
J'ai mis l'heure dans le tableau, mais l'imprimante imprime 0 =(
L'impression produit des zéros... Qu'est-ce qu'il y a ?Не могу понять
Загоняю в массив время, а принтом выводится 0 =(
Принт выводит нули... Что не так?le tableau doit être déclaré en dehors de la boucle et sa taille doit être fixe (ou une indication qu'il s'agit d'un tableau indicateur)
Тогда я застрял)) Запускаю эксперт в тестере с визуализацией, рыночный ордер все равно меняется, непонятно почему.. Нагородил большой код, видимо ошибка где то алгоритмическая.
массив надо объявлять вне цикла и размер должен быть фиксированный(либо указание что речь о индикаторном массиве)
всё равно не работает.... как iTime записывает время в массив? В секундах о 1970 или "yyyy:mm:dd hh:mm"
Dans un ordre au marché, à ce stade, les niveaux de take profit et de stop loss changent. Ils ne devraient pas.
Seuls les ordres en cours peuvent être modifiés dans mon système. Si l'ordre devient un ordre au marché, les modifications ne sont pas autorisées. Le conseiller expert utilise un ordre au total.