[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 - 5. - page 177
La tâche consiste à compter individuellement les ordres d'achat/de vente perdants. Code :
int w = OrdersHistoryTotal()-1; if (OrderSelect(w, SELECT_BY_POS, MODE_HISTORY)) { if (OrderProfit() < 0) { if (OrderType()==OP_BUY) i = i + 1; if (OrderType()==OP_SELL) y = y + 1; Print("i, y", i, " ", y); Print("OrderProfit()", OrderProfit()); } }
Le code lui-même est un extrait d'un EA. Le conseiller expert fonctionne et génère constamment des pertes. Il y a beaucoup d'ordres perdants (je les imprime ailleurs), qui sont tous enregistrés. Mais dans ce fragment de code, l'Expert Advisor n'entre pas dans l'intervalle de confiance.
borilunad: Avez-vous un EA qui n'ouvre que des positions ? Chaque copie (version) doit avoir son propre magicien et chacune ne surveillera que ses propres positions.
La tâche consiste à compter individuellement les ordres d'achat/de vente perdants. Code :
int w = OrdersHistoryTotal()-1; if (OrderSelect(w, SELECT_BY_POS, MODE_HISTORY)) { if (OrderProfit() < 0) { if (OrderType()==OP_BUY) i = i + 1; if (OrderType()==OP_SELL) y = y + 1; Print("i, y", i, " ", y); Print("OrderProfit()", OrderProfit()); } }
Le code lui-même est un extrait d'un EA. L'EA fonctionne et génère constamment des pertes. Il y a un tas d'ordres perdants (je les imprime ailleurs) qui sont tous enregistrés. Mais dans ce fragment de code, l'Expert Advisor n'entre pas dans l'intervalle de confiance.
if (OrderProfit() < 0)
Qu'est-ce que je fais de mal ?
Essayez
int w = OrdersHistoryTotal();
int BUY=0;
int SELL=0;
for (i=0; i<w; i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
{
if (OrderProfit() < 0)
{
if (OrderType()==OP_BUY) BUY++;
if (OrderType()==OP_SELL) SELL++;
}
}
}
Print(" BUY = ",BUY);
Print(" SELL = ",SELL);
Aide à la compréhension :
La tâche consiste à compter individuellement les ordres d'achat/de vente perdants. Code :
int w = OrdersHistoryTotal()-1;
if (OrderSelect(w, SELECT_BY_POS, MODE_HISTORY))
{
if (OrderProfit() < 0)
{
if (OrderType()==OP_BUY) i = i + 1;
if (OrderType()==OP_SELL) y = y + 1;
Print("i, y", i, " ", y);
Print("OrderProfit()", OrderProfit());
}
}
Le code lui-même est un extrait d'un EA. Le conseiller expert fonctionne et génère constamment des pertes. Il y a beaucoup d'ordres perdants (je les imprime ailleurs), qui sont tous enregistrés. Mais dans ce fragment de code, l'Expert Advisor n'entre pas dans l'intervalle de confiance.
if (OrderProfit() < 0)
Qu'est-ce que je fais de mal ?
Avez-vous un EA qui n'ouvre que des positions ? Chaque copie (version) doit avoir son propre magicien et chacune ne surveillera que ses propres positions.
Je l'ai. Merci beaucoup !
Aide à la compréhension :
La tâche consiste à compter individuellement les ordres d'achat/de vente perdants. Code :
int w = OrdersHistoryTotal()-1;
if (OrderSelect(w, SELECT_BY_POS, MODE_HISTORY))
{
if (OrderProfit() < 0)
{
if (OrderType()==OP_BUY) i = i + 1;
if (OrderType()==OP_SELL) y = y + 1;
Print("i, y", i, " ", y);
Print("OrderProfit()", OrderProfit());
}
}
Le code lui-même est un extrait d'un EA. L'EA fonctionne et génère constamment des pertes. Il y a un tas d'ordres perdants (je les imprime ailleurs) qui sont tous enregistrés. Mais dans ce fragment de code, l'Expert Advisor n'entre pas dans l'intervalle de confiance.
if (OrderProfit() < 0)
Qu'est-ce que je fais de mal ?
Essayez
Je perds la tête, qu'est-ce qui ne va pas avec mon mql4 ?
Pourquoi le logiciel exécute-t-il la condition suivante sur chaque cycle ? Il est écrit pour imprimer "i" seulement quand un nouvel ordre est fermé !
w = OrdersHistoryTotal();
if (i!=w)
{
i = w;
Print ("i :", i);
}
Je deviens fou, qu'est-ce qui ne va pas avec mon MQL4 ?
Pourquoi le programme exécute-t-il la condition suivante à chaque cycle ? Il est écrit pour imprimer "i" seulement quand un nouvel ordre est fermé !
w = OrdersHistoryTotal();
if (i!=w)
{
i = w;
Print ("i :", i);
}
Si i n'est pas une variable statique, elle sera imprimée à chaque tick.
Si i n'est pas une variable statique, il s'imprimera quand même à chaque tic.
Ooh, je me demandais pourquoi j'ai plusieurs pièces dans mon programme qui travaillent par le cul ! =)
Donc toutes les variables de travail dont j'utilise les valeurs dans différents ticks doivent être déclarées statiques ?
Ooh, je me demandais pourquoi j'ai quelques logiciels qui travaillent dans mes fesses ! =)
Donc toutes les variables de travail dont j'utilise les valeurs à différents moments doivent être déclarées statiques ?
C'est difficile à dire. Regardez les propriétés des variables, puis réfléchissez à ce qu'il faut déclarer et comment le déclarer.
La fonction OrderModify() ne permet pas de modifier les commentaires. Y a-t-il un autre moyen de procéder ?
La fonction OrderModify() ne permet pas de modifier les commentaires. Y a-t-il un autre moyen de procéder ?
Seulement depuis le terminal.
Seulement depuis le terminal.
Comment faites-vous cela, je n'arrive pas à comprendre, si je peux être plus précis... ? Est-il possible de le faire par programme, si oui, comment ?