Questions des débutants MQL5 MT5 MetaTrader 5 - page 604

 
new-rena:

Contre question.

Pensez-vous que l'évolution d'une paire de devises : graphique, cours acheteur et vendeur, etc., dépend d'un ensemble de vos variables ?

Le mouvement du taux ne dépend pas des variables, mais un trader essaie de trouver des régularités dans le mouvement, et sur cette base il sélectionne les variables (données d'entrée) pour ouvrir, maintenir et fermer des positions. Après tout, le système de trading est un ensemble de règles destinées à un travail rentable. La répartition des profits et des pertes est peut-être aléatoire, mais leur proportion est différente et, par conséquent, des systèmes de trading rentables sont formés. Il doit en être ainsi.
 
Евгений:
Le mouvement du taux ne dépend pas des variables, mais le trader essaie de trouver des modèles dans le mouvement, et sur cette base il choisit les variables (entrées) pour ouvrir, maintenir et fermer la position. Après tout, le système de trading est un ensemble de règles destinées à un travail rentable. La répartition des profits et des pertes est peut-être aléatoire, mais leur proportion est différente et, par conséquent, des systèmes de trading rentables sont formés. Je suppose que oui.
En fait, vous avez répondu à votre propre question. C'est-à-dire que sur le même mouvement de prix, vous pouvez obtenir ce qui suit : profit-perte = CONST
 
proposer une fonction sur la restriction, dans l'Expert Advisor je veux mettre une interdiction de vendre ou d'acheter à partir de la moyenne mobile.
 
KoltRU:
S'il vous plaît conseiller fonction de limiter, dans Expert Advisor je veux mettre une interdiction sur la vente ou l'achat de la moyenne mobile.
Je l'ai rendu plus simple, j'ai ajouté une condition à l'ouverture
 

C'est une nuisance. La référence du tableau n'est pas passée à la fonction.

void GetIndValue(int IndNo, int Vol, double *out[]){;};

Avec ce double *out[] - peu importe comment vous l'écrivez, toutes les erreurs se produisent.

BatIndicators.mqh' BatIndicators.mqh 1 1

'*' - le pointeur ne peut pas être utilisé BatIndicators.mqh 18 45

out' - les tableaux sont transmis par référence uniquement BatIndicators.mqh 18 46

2 erreur(s), 0 avertissement(s) 3 1

soit l'un, soit l'autre, soit les deux. Je me souviens qu'il n'y avait pas de problème avant, ou alors c'est en C. )


 
Yuriy Asaulenko:

C'est une nuisance. La référence du tableau n'est pas passée à la fonction.

Avec ce double *out[] - peu importe comment vous l'écrivez, toutes les erreurs se produisent.

BatIndicators.mqh' BatIndicators.mqh 1 1

'*' - le pointeur ne peut pas être utilisé BatIndicators.mqh 18 45

out' - les tableaux sont transmis par référence uniquement BatIndicators.mqh 18 46

2 erreur(s), 0 avertissement(s) 3 1

soit l'un, soit l'autre, soit les deux. Je me souviens qu'il n'y avait pas de problème avant, ou alors c'est en C. )


Essayez comme ceci

void GetIndValue(int IndNo, int Vol, double &out[]){}
 
Andrey Barinov:

Essayez ceci

Merci.
 

//--- obtenir le numéro de la nouvelle sous-fenêtre, dans laquelle nous allons essayer d'ajouter un indicateur.

int subwindow=(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL) ;

Voici le code que j'ai sous les yeux https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd

L'exemple montre comment placer un indicateur dans une sous-fenêtre. Si vous n'avez pas besoin d'une sous-fenêtre, utilisez simplement l'exemple de muwig pour montrer comment faire ?

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexander Antoshkin:

//--- obtenir le numéro d'une nouvelle sous-fenêtre, dans laquelle nous allons essayer d'ajouter un indicateur

int subwindow=(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL) ;

Voici le code que j'ai sous les yeux https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd

L'exemple montre comment placer un indicateur dans une sous-fenêtre. Si vous n'avez pas besoin d'une sous-fenêtre, utilisez simplement l'exemple de muwig pour montrer comment faire ?

Si vous voulez ajouter l'indicateur à la fenêtre principale, alors :

sous_fenêtre

[in] Numéro de la sous-fenêtre du graphique. 0 signifie fenêtre principale du graphique. Pour ajouter un indicateur à une nouvelle fenêtre, le paramètre doit être supérieur d'une unité à l'indice de la dernière fenêtre existante, c'est-à-dire égal àCHART_WINDOWS_TOTAL. Si la valeur du paramètre dépasse la valeur deCHART_WINDOWS_TOTAL, une nouvelle fenêtre ne sera pas créée, l'indicateur ne sera pas ajouté.

 
Karputov Vladimir:

Si vous devez ajouter un indicateur à la fenêtre principale, alors :

//+------------------------------------------------------------------+
//|                                                         0000.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

input int MA_Period=21; 
input int MA_Shift=0; 
input ENUM_MA_METHOD MA_Method=MODE_SMA;

int MA_handle=INVALID_HANDLE; 
//+------------------------------------------------------------------+ 
//| Expert initialization function                                   | 
//+------------------------------------------------------------------+ 
int OnInit() 
  { 
  
   MA_handle=iCustom(NULL,0,"Examples\\Custom Moving Average",  MA_Period,  MA_Shift, MA_Method,  PRICE_CLOSE  );
//--- попробуем добавить индикатор на график 
AddIndicator();

   return(INIT_SUCCEEDED); 
  } 

//+------------------------------------------------------------------+ 
//| Функция проверки и добавления индикатора на график               | 
//+------------------------------------------------------------------+ 
bool AddIndicator() { if(MA_handle==INVALID_HANDLE) 
{ Print(__FUNCTION__,"  Создаем индикатор ");

 MA_handle=iCustom(NULL,0,"Examples\\Custom Moving Average",  MA_Period,  MA_Shift, MA_Method,  PRICE_CLOSE  );
if(MA_handle==INVALID_HANDLE) 
{ 
 Print("Не удалось создать индикатор . Код ошибки ",GetLastError()); 
 } 
  }     
//--- сбросим код ошибки 
   ResetLastError(); 
//--- накладываем индикатор на график 
  
   Print("Mа построен "); 
//--- получим номер нового подокна, в которое добавим индикатор  
   int subwindow=(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); 
   PrintFormat("Добавляем индикатор на окно %d графика",subwindow); 
   if(!ChartIndicatorAdd(0,subwindow,MA_handle)) 
     { 
      PrintFormat("Не удалось добавить индикатор  на окно %d графика. Код ошибки  %d", 
                  subwindow,GetLastError()); 
     } 
   return(true); 
  } 
void OnDeinit(const int reason)
{
MA_handle=iCustom(NULL,0,"Examples\\Custom Moving Average",  MA_Period,  MA_Shift, MA_Method,  PRICE_CLOSE  );

Bonjour Vladimir.

J'ai dû mal formuler ma question.

Je n'ai pas besoin d'une sous-fenêtre, l'indicateur doit être placé sur le graphique des prix, comme un graphique standard.

Je le considère comme un exemple et j'essaie de le comprendre.

Je veux que l'indicateur monté sur le graphique ait son numéro, afin que le nombre nécessaire de copies puisse être créé sur le graphique à l'aide du bouton "Ajouter" ...... Je veux en supprimer un sélectionné par le bouton "croix" ........ (je ne veux pas encore les décrire))

Raison: