[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 469

 
Quelqu'un a une réponse ou quoi ?
 
bikrus13:
De quelle puissance CPU ou de quelle mémoire RAM le conseiller expert a-t-il besoin pour pouvoir traiter les informations et travailler sur 52 paires sans problème ?
bikrus13:
Quelqu'un peut-il me donner une réponse ?
Ou comment. Les conditions du problème ne contiennent pas les données qui nous permettent même d'estimer le résultat possible. Nous ne pouvons que supposer qu'il y aura nécessairement des problèmes si nous ouvrons tous les graphiques. Et ils seront moindres, si l'on négocie toutes les paires à partir d'une seule instance du conseiller expert (mais il y aura des problèmes avec le chargement de l'historique).
Par exemple, un problème similaire : combien de temps faudra-t-il pour évacuer deux agglomérations et un village de l'inondation ? Étant donné que nous ne connaissons pas la population, le nombre et le type de transport, et la distance de l'évacuation ?
 
rlx:

L'archive ne semble pas coller, probablement parce que c'est un Rar.

Voici l'archive ZIP.


Merci pour l'aide ! !! Je deviendrai millionnaire, je ne t'oublierai pas))
 
Dites-moi où je me suis trompé, je n'arrive pas à sortir les données de l'ordre en attente

.
if (OrdersHistoryTotal() != orto)
 {
int k1=OrdersTotal();
while
(k1>=1)
{
      OrderSelect(OrderTicket(),SELECT_BY_POS, MODE_HISTORY);
if (OrderProfit()>0)
{
if (OrderStopLoss()>0)
{
Alert("ОРДЕР ПРИБЫЛЕН");
Alert("ордер найден ",k1," шт"," общее количество ",OrdersHistoryTotal());
Alert("врямя бара на катором открыт ", Time[k1]," номер тикета ",OrderTicket());
int h=Time[k1];
Alert("профит ордера = ", OrderProfit()," SL ",OrderStopLoss()," TP ",OrderTakeProfit());
k1--;
break;
}
}
}
for (int k = OrdersTotal() ; k>=0; k--)
  {
   OrderSelect(k, SELECT_BY_POS, MODE_TRADES);
Alert("ОБЩЕЕ КОЛЛИЧЕСТВО ОТКРЫТЫХ И ОТЛОЖЕННЫХ ",OrdersTotal()," вид ордера ",OrderType());
int h1=Time[k];
if (h==h1)
{
Alert("ОРДЕР НАЙДЕН закрываем ",OrderTicket()," SL ",OrderStopLoss()," TP ",OrderTakeProfit()," time ", Time[k]);

//==================================================================================
//здесь не могу вытащить из найденого ордера не чего кроме Time
//данные из журнала
//2011.06.26 12:15:07    2011.06.24 03:00  555 EURUSD,M5: open #2 sell limit 0.30 EURUSD at 1.4290 tp: 1.4275 ok
//2011.06.26 12:15:07    2011.06.24 04:16  555 EURUSD,M5: Alert: ОРДЕР НАЙДЕН закрываем 0 SL 0 TP 0 time 1308888000
//==================================================================================




OrderDelete(OrderTicket());
}
}
orto = OrdersHistoryTotal();
}
 
OrderSelect(OrderTicket(),SELECT_BY_POS, MODE_HISTORY);
Besoin de
OrderSelect(OrderTicket(),SELECT_BY_TICKET);

ou

for(int i = 0; i <totalHistory; i++)
  {
   OrderSelect(i,SELECT_BY_POS, MODE_HISTORY);
  }
 
vik-777:
Dites-moi où je me trompe, je n'arrive pas à sortir les données de l'ordre en attente


.

Beaucoup d'erreurs. Il a tout de suite attiré mon attention :

La ligne est fausse :

OrderSelect(OrderTicket(),SELECT_BY_POS, MODE_HISTORY);

Lorsque vous effectuez une sélection par billet, vous devez non seulement préciser que la sélection se fait par billet, mais aussi, après une sélection réussie, vérifier l'heure de clôture de la commande. S'il est supérieur à zéro, l'ordre est sélectionné parmi les ordres fermés. Nécessaire :

OrderSelect(OrderTicket(),SELECT_BY_TICKET);

Après cette ligne, nous devons vérifier si OrderCloseTime()>0 Si la condition est vraie, l'ordre est sélectionné dans le tableau des ordres fermés ; si elle est fausse, l'ordre est toujours sur le marché.

... Mais... un examen plus approfondi de votre code révèle ceci :

Vous essayez de sélectionner une commande par son ticket, en utilisant une fonction standard OrderTicket() ... Et cette fonction renvoie le ticket de la commande déjà sélectionnée. Et où dans votre code est-il sélectionné ?

----------------------

Un conseil : recherchez l'historique des commandes clôturées en utilisant un index, plutôt qu'un ticket.

Une fois que vous avez trouvé la bonne commande, vérifiez les données dont vous avez besoin.

Et lorsque vous examinez votre code de manière encore plus détaillée, il semble que vous ne compreniez pas du tout ce que vous voulez réaliser.

Les alertes vous renseignent (dans leur sens) sur la situation actuelle du marché... Et vous essayez de sélectionner quelque chose parmi les ordres qui ont déjà été exécutés et fermés.

Décrivez clairement votre tâche.

 
artmedia70:

Beaucoup d'erreurs. Il a tout de suite attiré mon attention :

La ligne est fausse :

Lorsque vous effectuez une sélection par billet, vous devez non seulement préciser que la sélection se fait par billet, mais aussi, après une sélection réussie, vérifier l'heure de clôture de la commande. S'il est supérieur à zéro, l'ordre est sélectionné parmi les ordres fermés. Nécessaire :

Après cette ligne, nous devons vérifier si OrderCloseTime()>0 Si la condition est vraie, l'ordre est sélectionné dans le tableau des ordres fermés ; si elle est fausse, l'ordre est toujours sur le marché.

... Mais... un examen plus approfondi de votre code révèle ceci :

Vous essayez de sélectionner une commande par son ticket, en utilisant une fonction standard OrderTicket() ... Et cette fonction renvoie le ticket de la commande déjà sélectionnée. Et où dans votre code est-il sélectionné ?

----------------------

Un conseil : recherchez l'historique des commandes clôturées en utilisant un index, plutôt qu'un ticket.

Une fois que vous avez trouvé la commande souhaitée, vérifiez les données dont vous avez besoin.

Et lorsque vous examinez votre code de manière encore plus détaillée, il semble que vous ne compreniez pas du tout ce que vous voulez réaliser.

Les alertes vous renseignent (dans leur sens) sur la situation actuelle du marché... Et vous essayez de sélectionner quelque chose parmi les ordres qui ont déjà été exécutés et fermés.

Décrivez clairement votre tâche.


J'apprécie le conseil, je suis un débutant dans ce domaine.

L'idée est d'ouvrir un ordre de vente à 1.4000 sl 1.4030 tp 1.3985.

après avoir ouvert avec succès un ordre de vente, ouvrez un ordre selllimit avec les paramètres suivants : prix 1.4030 sl 1.4080 tp 1.4015

voici le problème : si mon ordre est clôturé à tp 1.3985 alors selllimit doit être supprimé.

S'il vous plaît laissez-moi savoir si c'est le bon choix.

dans le champ de fermeture de l'ordre de vente, je recherche dans l'historique le dernier ordre fermé, je trouve l'heure à laquelle il a été ouvert, puis je recherche une correspondance dans les ordres en attente si elle est trouvée, je supprime l'ordre.

 
Quel est le principe de fonctionnement du conseiller Auto-profit en bref et où est-il décrit sur le forum ? Je n'en trouve pas la description sur le forum.
 
yosuf:
Quel est le principe de fonctionnement du conseiller Auto-profit en bref et où est-il décrit sur le forum ? Je n'en trouve pas la description sur le forum.

Vous avez été averti pour avoir posté un EA décompilé.
 

Bonne journée !

Je vois souvent des mentions dans les forums sur le débogage des EAs en utilisant l'optimisation. Je les ai fait tourner dans le testeur avec la marque d'optimisation plusieurs fois mais je n'ai pas vu de résultats tangibles.

Veuillez m'indiquer où trouver des informations sur la manière d'utiliser cette optimisation.

Je l'apprécierais vraiment.

Raison: