Désolé, je n'ai pas le temps d'écrire le code moi-même et de le déboguer, mais je pense que vous pouvez gérer mon TOR. J'ai besoin de faire cet indicateur :
1) Déclarer une variable statique double PrevPrice=0.0 ;
2) Au départ, nous écrivons la construction suivante
si(PrevPrice!=Bid)
{
DeleteBox(...) ; /* supprimer le rectangle (au cas où il serait encore présent) */
DrawBox(...) ; /* dessiner un rectangle */
Sleep(15000) ; /* attendre 15 secondes */
DeleteBox(...) ; /* supprimer le rectangle */
PrevPrice=Bid ; /* se souvenir du nouveau prix pour le nouveau contrôle */
}
DeleteBox(...) ;
DrawBox(...) ;
Je n'ai même pas pu trouver ces fonctions dans l'aide, mais merci pour la réponse.
Lafonction de veille ne fonctionne pas dans les indicateurs.
Vous avez besoin d'un conseiller expert ou d'un script qui fonctionne en boucle infinie.
J'ai besoin de faire cela dans un EA, la deuxième fonction. Il y a un EA comme ça :
static double mSaveAsk; int init() { mSaveAsk = Ask; } int start() { if ( Ask != mSaveAsk ) { PlaySound("alert.wav"); } mSaveAsk = Ask; }
#property copyright "Copyright © 2008, D500" #property link "http://www.metaquotes.net" extern int Timer=15; extern color Coler=OrangeRed; double PrevPrice; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if(PrevPrice!=Bid) { if (ObjectFind("QUADRO")==0) DeleteBox(); /* удаляем прямоугольник (на случай если он все еще есть) */ DrawBox(); /* рисуем прямоугольник */ Sleep(Timer*1000); /* ждем 15 секунд */ PrevPrice=Bid; /* запоминаем новую цену для новой проверки */ } //---- return(0); } //+------------------------------------------------------------------+ void DrawBox() { ObjectCreate("QUADRO",OBJ_RECTANGLE,0,Time[5],Close[0]-10*Point,Time[0],Close[0]+10*Point); ObjectSet("QUADRO",6,Coler); return; } //-------------------------------------------------------------------+ void DeleteBox() { ObjectDelete("QUADRO"); return; }Il s'agit d'un conseiller pour vous, à titre d'exemple. Expérimentation.
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Comment faire en sorte qu'un carré ou un rectangle soit dessiné sur le graphique lorsque le prix d'une paire de devises change, qu'il soit conservé pendant 15 secondes, qu'il soit supprimé et qu'il apparaisse à nouveau lors du prochain changement de prix ?
S'il vous plaît, aidez-moi, je me débats avec cela depuis longtemps. Dessiner, c'est facile, mais quand le prix change, c'est impossible =(.