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

 
artmedia70:

Eh... Cela fait huit ans que je ne veux plus prendre d'alcool - ça ne m'intéresse pas... :)

Merci de vous préoccuper de votre santé ;)


Vous êtes toujours les bienvenus.

Je ne le fais pas, et pas n'importe quel alcool, mais... beaucoup d'autres choses. Je suis moi-même un dépisteur actif.

 
Operr:


Merci pour cette brillante idée ! J'ai essayé tout ce que j'ai pu trouver, mais la logique du script me dépasse.

Les horloges avec coeff=1 dans le offline sont toujours identiques à l'original, mais la sortie est proche :(

Comment puis-je déplacer de 10 minutes l'ouverture de la bougie horaire dans le script Period_converter ? Est-il nécessaire de modifier l'étape d'enregistrement de l'historique ?


hmm... exécuter le script sur les minutes)
 

Bon après-midi,

Pourriez-vous me dire comment mettre un marqueur sur le graphique ? Par exemple, l'ordre ne s'est pas ouvert, mais au moins pour voir sur le graphique, à quel moment il aurait dû s'ouvrir.

J'aimerais voir sur les graphiques où il était censé s'ouvrir.

 
Comment faire en sorte que (si la transaction précédente était un achat) la suivante soit ouverte à la vente ? Merci d'avance.
 
KoOr:
Comment faire en sorte que (si la transaction précédente était un achat) la suivante soit ouverte à la vente ? Merci d'avance.
Faites une boucle dans l'histoire. Si le type de la dernière position fermée == OP_BUY, alors vous devez ouvrir OP_SELL.
 

Je l'ai écrit comme ça, mais il est toujours ouvert à l'achat.

OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);
if(OrdersTotal()==OP_BUY)
if(OrdersTotal()==0)
if(rv1a<rv1b) tiket2=OrderSend(Symbol(),OP_SELL,lot,Bid,3,0,0,NULL,121,0,Red);
 
KoOr:

Je l'ai écrit comme ça, mais il est toujours ouvert à l'achat.

if(OrdersTotal()==OP_BUY)

Il est dit ici "si le nombre d'ordres est égal à une opération d'achat". Qu'est-ce que tu veux dire ?
 

Je ne prétends pas être un expert, je commence juste à comprendre quelque chose moi-même, mais presque tous les conseillers CODE BASE ont cette procédure ! !!!.

Déclarer CloseRevers au tout début

extern bool CloseRevers = true ;

// Ceci est placé dans la vérification après le signal mais avant OrderSend.

si (CloseRevers) CLOSEORDER(OP_SELL) ;

si (CloseRevers) CLOSEORDER(OP_BUY) ;

void CLOSEORDER(int ord)

{

for (int i=0 ; i<OrdersTotal() ; i++)

{

si (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) // <-----MODE_HISTORY si la transaction a déjà été fermée.

{

si (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)

{

si (OrderType()==OP_BUY && ord==OP_BUY)

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3,CLR_NONE) ;

si (OrderType()==OP_SELL && ord==OP_SELL)

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3,CLR_NONE) ;

}

}

}

}

En conséquence, si vous avez déjà une transaction fermée, vérifiez avec MODE_HISTORY (au lieu de MODE_TRADES)

J'espère que cela vous a aidé....

 
Je veux dire, si la transaction précédente était une transaction d'achat, la suivante est une transaction de vente. Aidez-moi à bien faire les choses. Merci.
 
Merci pour votre aide, j'ai remplacéOrdersTotal() parOrdersHistoryTotal(). Ça a marché.