[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 314

 
GarKain:
Si vous voulez apprendre, il est possible d'abandonner le projet ou de faire appel à un programmeur.


Essayez-vous de corriger le code de quelqu'un d'autre ? Si c'est le cas, vous devez le décomposer pour comprendre chaque lettre. Sinon, ce sera encore plus difficile pour vous. Mieux encore, écrivez votre propre code. Ainsi, vous savez ce qui se passe, où une erreur peut se produire, comment la détecter et la corriger.

Si vous rencontrez de tels problèmes avec votre propre code, alors j'ai fait le bon choix : téléchargez le cours de Roche (lien ci-dessus) et commencez par créer des scripts. Ça ne va pas aller plus vite. Et votre travail, personne ne le fera pour vous. S'il n'y a pas de volonté d'apprendre, c'est un moyen direct d'abandonner l'idée ou d'engager un programmeur.

 
il existe 6 types d'échelle de temps dans Metatrader. Existe-t-il une fonction qui renvoie le numéro d'échelle ?
 
silhouette:
il existe 6 types d'échelle de temps dans Metatrader. Existe-t-il une fonction qui renvoie le numéro d'échelle ?

Period() - voir ici et ici
 

Bonjour, L'indicateur dessine des flèches lorsque les courbes se croisent, j'ai transféré ce signal à travers iCustom vers l'EA. Mais les postes s'ouvrent soit vers le haut, soit vers le bas.

En fonction de la vérification du signal : au début tant à l'achat qu'à la vente était db/ub == 0 ouvre seulement des positions longues, après le signal est devenu db!=1 et ub!=0 ouvre seulement des positions courtes

Je mets db!=0 et ub!=!0 les transactions ne s'ouvrent pas du tout. Honnêtement, je ne sais pas quoi faire, j'ai creusé l'indicateur, le conseiller expert, mais les raisons du "malaise" je ne peux pas trouver.

Donnez votre avis, s'il vous plaît !

// ----- буферы индикатора

double   ArrowDownBuffer[];
double   ArrowUpBuffer[];

//------ получение сигнала в советнике


double db=iCustom(NULL,0,"GetSignal",0,SignalBar);// Стрелка вниз
double ub=iCustom(NULL,0,"GetSignal",1,SignalBar);// Cтрелка вверх
 
 
 bool BuySignal=false;
 bool SellSignal=false;
 
//-----------------------------------------------------------------------------------+
//Проверка на сигнал
if(db!=1)
 {
  SellSignal=true;
 }
if(ub!=1)
 {
  BuySignal=true;
 }
   
 
drknn:

Period() - voir ici et ici

Non, je veux dire la loupe (+, -) - échelle sur une échelle horizontale.
 
silhouette:

Non, je veux dire la loupe (+, -) - échelle sur une échelle horizontale.

Non, pas dans MQL4
 
skyjet:

Bonjour, L'indicateur dessine des flèches lorsque les courbes se croisent, j'ai transféré ce signal à travers iCustom vers l'Expert Advisor. Mais les postes s'ouvrent soit vers le haut, soit vers le bas.

En fonction de la vérification du signal : au début tant à l'achat qu'à la vente était db/ub == 0 ouvre seulement des positions longues, après le signal est devenu db!=1 et ub!=0 ouvre seulement des positions courtes

Je mets db!=0 et ub!=!0 les transactions ne s'ouvrent pas du tout. Honnêtement, je ne sais pas quoi faire, j'ai creusé l'indicateur, le conseiller expert, mais les raisons du "malaise" je ne peux pas trouver.

Veuillez me conseiller, s'il vous plaît !


Un contrôle assez étrange

//Проверка на сигнал
if(db!=1)
 {
  SellSignal=true;
 }
if(ub!=1)
 {
  BuySignal=true;
 }

Si(db!=1) ? alors c'est un signal court. Et si dans ce cas, la base de données contient zéro ? Après tout, l'inégalité deviendra vraie et ce sera aussi un signal ?

Comment pouvez-vous donner des conseils si personne ne sait ce que vous avez dans votre code ? Et le passage que vous avez cité - c'est juste l'initialisation des variables avec des valeurs indicatrices. Eh bien, regardez, la flèche vers le haut est dessinée. Le tampon de l'indicateur "flèches ascendantes" devrait contenir le prix de la flèche, mais l'autre (le tampon "flèches descendantes") devrait être vide sur ce chandelier (par idée). Mais quelle est votre réalité, Dieu seul le sait...

 
drknn:


Un contrôle assez étrange

si(db!=1) ? alors c'est un signal court. Et si la base de données contient zéro ? Après tout, l'inégalité deviendra vraie et ce sera aussi un signal ?

Comment pouvez-vous donner des conseils si personne ne sait ce que vous avez dans votre code ? Et le passage que vous avez cité - c'est juste l'initialisation des variables avec des valeurs indicatrices. Eh bien, regardez, la flèche vers le haut est dessinée. Dans l'idée, le buffer de l'indicateur "flèche montante" devrait contenir le prix de la flèche, mais l'autre (le buffer "flèche descendante") devrait être vide sur ce chandelier (par idée). Mais quelle est votre réalité - Dieu seul le sait...

Oui, l'indicateur a 2 flèches de prix à partir desquelles j'essaie d'obtenir un signal. Mais en vain, car quelle que soit la combinaison que j'essaie, soit seules les positions longues s'ouvrent soit

ou seulement des positions courtes ouvertes, ou rien du tout. L'indicateur ne comporte que 2 variables externes qui sont des amortisseurs de prix de flèches.

Je ne comprends pas comment il est possible d'ouvrir des transactions dans une direction mais pas dans deux.

if( bs==1 && bs!=EMPTY_VALUE )
 {
  BuySignal=true;
 }
if( ss==1 && ss!=EMPTY_VALUE )
 {
  SellSignal=true;
 }
 
double db=iCustom(NULL,0,"GetSignal",0,SignalBar);// Стрелка вниз
double ub=iCustom(NULL,0,"GetSignal",1,SignalBar);// Cтрелка вверх

if( ub!=0 && bs!=EMPTY_VALUE ) //стрелка вверх не равна нулю или пустому значению (то есть,она существует)
 {
  BuySignal=true;
 }
if( db!=0 && ss!=EMPTY_VALUE )//стрелка вниз не равна нулю или пустому значению (то есть,она существует)
 {
  SellSignal=true;
 }
Avez-vous essayé ?
 
granit77:
Avez-vous essayé de cette façon ?

Oui, c'est l'une des options lorsqu'aucune transaction n'est ouverte. Je me demande si l'ordre dans lequel les prix de la flèche sont entrés dans les tampons de la flèche affecte iCustom. Je veux dire que si le premier indicateur

détecte d'abord un mouvement vers le bas et ensuite un mouvement vers le haut ?

Raison: