[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 384

 
aero >>:

1. почему нe знаю, но можно попробовать перед импортом удалить все содержимое папки history

Oui, j'ai supprimé toute l'histoire.

 

Aidez-moi à réparer l'indicateur. Vous devez être en mesure de modifier les propriétés des flèches et de la croix dans la boîte d'édition de l'objet indicateur.


Dossiers :
 

Bonjour, mes amis.


Pouvez-vous me dire comment utiliser correctement la fonction iCustom ?


Par exemple, vous avez un indicateur

"Accumulation/distribution de Williams, W A/D - Accumulation/distribution de Larry Williams"(https://www.mql5.com/ru/code/7064)


et je veux accéder à cet indicateur depuis un autre indicateur en utilisant la fonction iCustom :

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red

extern string Symbol1="USDJPY";
extern int SignalMA_Period=5;
extern int SignalMA_Method=0;

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
string short_name="ind";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
SetIndexLabel(1,"Signal");
SetIndexDrawBegin(1,SignalMA_Period);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
double ad1, ad2;
//----
if(counted_bars<0) return(-1);
//----
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
//----
for(int i=0; i<limit; i++)
{

ad1=iCustom(Symbol1,0,"WAD",1,i);

ExtMapBuffer1[i]=ad1;
}
//----
for(i=0; i<limit; i++)
ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1,Bars,SignalMA_Period,0,SignalMA_Method,i);
//----
return(0);
}
//+------------------------------------------------------------------+


L'indicateur Williams dans mon système s'appelle WAD.

Mais, malheureusement, il affiche une fenêtre vide avec l'indicateur (c'est-à-dire qu'il n'y a pas d'indicateur dans la fenêtre... il n'est pas construit).


Comment le réparer, veuillez me conseiller, si possible.

Merci beaucoup d'avance.

 
Morzh09 писал(а) >>

Bonjour, mes amis.

Pourriez-vous nous indiquer comment utiliser correctement la fonction iCustom ?

Par exemple, il existe un indicateur

"Accumulation/distribution de Williams, W A/D - Accumulation/distribution de Larry Williams"(https://www.mql5.com/ru/code/7064)


Je veux appliquer à cet indicateur un autre indicateur en utilisant la fonction iCustom :


ad1=iCustom(Symbol1,0,"WAD",1,i);


L'indicateur Williams dans mon système s'appelle WAD.

Mais, malheureusement, il affiche une fenêtre vide avec l'indicateur (c'est-à-dire qu'il n'y a pas d'indicateur dans la fenêtre... il n'est pas construit).

Comment le réparer, veuillez me conseiller, si possible.

Merci d'avance.

Apparemment, vous vous adressez au mauvais tampon. Vous pouvez avoir besoin de 0. J'ai une bonne idée de ce que je vais en faire.

 

Oui. Vous devez le traiter différemment

ad1=iCustom(Symbol1,0,"WAD",0,i); 
 

Je suis tombé sur cette fonctionnalité :

ouvrir le méta-éditeur,

modifier les valeurs des variables externes dans la source,

compiler,

nous ouvrons le terminal - le même Expert Advisor est déjà sur le graphique, mais il est exécuté avec les anciennes valeurs des variables externes !

Si vous compilez lorsque l'EA est en cours d'exécution, les valeurs seront mises à jour.

Le problème peut être résolu par #define et réassignation dans l'initialisation, mais c'est un peu désordonné...

Le terminal stocke les anciennes valeurs des variables externes de l'EA, mais je ne l'ai pas trouvé.

Qu'est-ce que cela signifie et comment puis-je y faire face ?

 
beruk >>:

сталкнулся с такой особенностью:

открываем метаэдитор,

меняем в исходнике значения внешних переменных,

компилируем,

открываем терминал - на графике уже висит этот-же советник, но запускается он со старыми значениями внешних переменных!

если откомпилировать при запущенном советнике - значения обновятся.

проблему можно решить через #define и переназначение в инициализации, но это как-то коряво...

видимо терминал хранит где-то старые значения внешних переменных советника, но я не нашол.

шо сие означает и как с этим бороться?


les valeurs sont stockées dans un fichier graphique avec chr dans le dossier profiles/(profil sélectionné)
 
xeon писал(а) >>

les valeurs sont enregistrées dans un fichier graphique avec chr dans le dossier profiles/(profil sélectionné)

Bien !

mais je suppose que l'on ne peut rien y faire, et que la réaffectation via #define est la meilleure chose à faire, si nécessaire ?

 

Chers amis, pourriez-vous me conseiller sur cette question ?


Je veux utiliser les cotations des obligations américaines et européennes pour l'analyse commerciale, mais mon courtier ne les fournit pas...


Dans une telle situation, d'après ce que je comprends, il y a deux possibilités :


1. Changez de courtier

2. importer des cotations d'une source externe dans la plateforme Metatrader.


Il y a 2 questions à ce sujet :


I. Où puis-je télécharger des citations :


1) US 10 Yr T-Note

2) Euro Bund


Et comment les importer dans la plateforme Metatrader ?


II. Quel courtier négociera ces instruments ?

(Pour la deuxième question, veuillez l'envoyer à mon message personnel, à ne pas considérer comme une promotion)


Merci beaucoup d'avance.
 

Qu'est-ce qui ne va pas ici ?

J'attache cet EA au graphique horaire et si le prix au début de l'heure est supérieur à cn1 et que le prix actuel ne le dépasse pas de 8 points, l'ordre devrait s'ouvrir (également si le prix est inférieur au niveau actuel) mais il ouvre la position immédiatement pour une raison quelconque. Pourquoi ?

  int i=0;
   double a,b;
   while (i==0)
   {
     a=MarketInfo("USDCAD", MODE_ASK);
     b=MarketInfo("USDCAD", MODE_BID); 
     if((Open[0]<cn1)&&((a-cn1)<0.0008))
      {
       OrderSend("USDCAD",OP_BUY,1,a,1,SL,cn2);
       i=1;
       }
     if((Open[0]>cn11)&&((cn11-b)<0.0008))
      {
       OrderSend("USDCAD",OP_SELL,1,b,1,SL1,cn21);
       i=1;
      }  
   }
Raison: