Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 788

 

bonne journée ! !! amis ! camarades ! respect à vous les pros ! !!

J'ai besoin d'aide ! !! Mes yeux sont gonflés, j'ai mal à la tête, je ne peux pas le prescrire alors mon EA a déplacé le StopLoss aux points spécifiés en profit au prix actuel! !!

C'est-à-dire que lorsque le prix se déplace vers un point donné, le StopLoss s'y déplace ! !!

mon exemple ne correspond pas.

#define  MagicNumber  123

////extern double TakeProfit   = 50; //Тейкпрофит ордера
extern double StopLoss     = 50; //Стоплосс ордера  
extern int    Delta        = 100;  //Расстояние от цены для установки ордера
extern int    Expiration   = 100;    //Время истечения ордера
extern double Lot          = 0.01;    //Объём позиции
extern int    TrailingLevel = 200;   //уровень
extern int    TrailingStep  = 200;


int            last_bar       = 0;
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start(){

for (int i=0; i<OrdersTotal(); i++) {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

           if (OrderType() == OP_BUY) { 
 if ((OrderStopLoss() < (Bid - TrailingLevel * Point - TrailingStep * Point)) || (OrderStopLoss() == 0)) { // 2
          bool res=OrderModify(OrderTicket(),OrderOpenPrice(),(Bid - TrailingLevel * Point),OrderTakeProfit(),0,Green);   
}
}
}
  
 datetime expiration = TimeCurrent()+3600*Expiration; /// время окончания  
   double BUYLIMITPrice=Ask-Delta*Point; /// это пункты BUYLIMIT

 if (last_bar == Bars) return(0) ;
  last_bar = Bars;
   if (OrdersTotal() == 0)
     {
int ticket=OrderSend(Symbol(),OP_BUYLIMIT,Lot, BUYLIMITPrice,0, BUYLIMITPrice-StopLoss*Point,0 ,"",MagicNumber,expiration,clrNONE);/// это BUYLIMIT
}
 
//----
  return(0) ; 
 } 
  
  
//-- ------------------------------------------------------------------


 
Rita:

Bon après-midi.

Veuillez me conseiller. J'ouvre un poste :

Comment puis-je définir le commentaire de position pour afficher la valeurmagique après le numéro de mot ?

C'est-à-dire que dans ce cas : Numéro 20781

Vous pouvez également le faire :

   int mag=111222333;
   string str="Сложение строки и числа ";
   str=str+mag;
   Alert(str);

Lors de l'addition de variables de types différents, le résultat est converti dans le type de variable ayant la priorité la plus élevée. String a une priorité plus élevée que int

 
TarasBY:
Vous disposez du temps OrderCloseTime() pour clôturer la position perdante. A partir de là, vous pouvez lire le temps par TimeCurrent() - OrderCloseTime(). Ou dans les barres en utilisant iBarShift (NULL, 0, OrderCloseTime()).

Merci !
 
Bonjour, pouvez-vous me dire s'il est possible d'appeler un indicateur standard (par exemple MA) à partir d'un EA afin qu'il puisse être affiché sur le graphique ? Je n'ai pas besoin de sa valeur à un certain point, c'est compréhensible, mais il faut la dessiner exactement sur le graphique ? Merci.
 
alxm:
Bonjour, pouvez-vous me dire s'il est possible d'appeler un indicateur standard (par exemple MA) à partir d'un EA afin qu'il puisse être affiché sur le graphique ? Je n'ai pas besoin de sa valeur à un certain point, c'est compréhensible, mais il faut la dessiner exactement sur le graphique ? Merci.

Vous pouvez le faire, mais seulement avec l'API, et seulement avec les paramètres par défaut.
Ou la bibliothèque de Vadim Zhunko. Qu'est-ce qui est le plus proche de vous ? L'essence est la même - vous devez implémenter le passage des paramètres de l'EA à l'indicateur.

Bibliothèque.

 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 // 7. ФУНКЦИИ ДЛЯ УПРАВЛЕНИЯ ПРОГРАММАМИ MQL4.
 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 // 7.1. Функция удаляет эксперт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE.
 bool ServiceDeleteExpert(int hwndChart); // Системный дескриптор окна графика, удаляемого эксперта.
 //===============================================================================================================================================
 // 7.2. ФУНКЦИЯ удаляет индикаторы по имени из списка загруженных индикаторов.
 void ServiceDeleteIndicatorsByName(int     hwndChart,         // Системный дескриптор окна, куда прикреплен индикатор.
                                    int     nWindow,           // Номер подокна для удаления индикаторов. Если -1, то удаляются индикаторы из всех подокон.
                                    string &asIndicatorName[], // Одномерный массив с именами удаляемых индикаторов.
                                    int     nNumberName);      // Количество имён индикаторов в массиве.
 //===============================================================================================================================================
 // 7.3. Функция удаляет скрипт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE.
 bool ServiceDeleteScript(int hwndChart); // Системный дескриптор окна графика, удаляемого скрипта.
 //===============================================================================================================================================
 // 7.4. Функция управляет диалоговым окном завершения скрипта и возвращает системный дескриптор диалогового окна завершения скрипта, если окно есть,
 //      иначе - NULL. Функция работает только с русской и английской локализациями.
 int ServiceDialogScript(int bInstruction); // Команда для диалогового окна завершения скрипта: TRUE - завершить скрипт, FALSE - не завершать скрипт.
 //===============================================================================================================================================
 // 7.5. Функция получает имена индикаторов из списка загруженных индикаторов.
 //      В случае успеха функция возвращает количество индикаторов в указанных подокнах параметром "nWindow", иначе ноль.
 int ServiceGetNamesIndicators(int     hwndChart,         // Системный дескриптор окна, куда прикреплен индикатор.
                               int     nWindow,           // Номер подграфика. Если -1, то считываются имена индикаторов из всех подокон.
                               string &asIndicatorName[], // Одномерный строковый массив для приёма имён индикаторов.
                                                          // Массив должен быть инициализирован разными значениями в каждой ячейке!
                                                          // Это особенность инициализации строковых массивов в MQL4.
                               int     nNumberName);      // Размер массива "asIndicatorName[]" для приёма имён индикаторов.
 //===============================================================================================================================================
 // 7.6. Функция возвращает TRUE, если окно свойств эксперта открыто, иначе - FALSE.
 bool ServiceIsPropertiesExpert(string sNameExpert); // Имя эксперта, для которого контроллируется открытие окна.
 //===============================================================================================================================================
 // 7.7. Функция открывает окно списка индикаторов. Функция ожидает открытия окна в течении 2,5 секунд. Если окно не появилось в течении этого времени,
 //      функция возвращает FALSE.
 bool ServiceListIndicators(int hwndChart); // Системный дескриптор окна графика, на котором вызывается окно списка индикаторов.
 //===============================================================================================================================================
 // 7.8. Функция загружает на указанный график пользовательский индикатор по его имени.
 void ServiceLoadCustomIndicator(int    hwndChart,      // Системный дескриптор окна графика, куда загружается индикатор.
                                 string sNameIndicator, // Имя загружаемого индикатора.
                                 int    bOK);           // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора.
                                                        // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 // 7.9. Функция загружает на указанный график эксперт по его имени.
 void ServiceLoadExpert(int    hwndChart,   // Системный дескриптор окна графика, куда загружается эксперт.
                        string sNameExpert, // Имя загружаемого эксперта.
                        int    bOK);        // Подтверждение запуска эксперта, при наличии диалогового окна свойств эксперта.
                                            // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 // 7.10. Функция загружает на указанный график скрипт по его имени.
 void ServiceLoadScript(int    hwndChart,   // Системный дескриптор окна графика, куда загружается скрипт.
                        string sNameScript, // Имя загружаемого скрипта.
                        int    bOK);        // Подтверждение запуска скрипта, при наличии диалогового окна свойств скрипта. Скрипт может не иметь окна свойств!
                                            // При использовании функции для загрузки скрипта из скрипта на текущем графике параметр не работает из-за
                                            // невозможности одновременной работы двух скриптов на одном графике.
                                            // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 // 7.11. Функция загружает на указанный график стандартный индикатор по его имени.
 void ServiceLoadStdIndicator(int    hwndChart,      // Системный дескриптор окна графика, куда загружается индикатор.
                              string sNameIndicator, // Имя загружаемого индикатора.
                              int    bOK);           // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора.
                                                     // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //===============================================================================================================================================
 
logut:

bonne journée ! !! amis ! camarades ! respect à vous les pros ! !!

J'ai besoin d'aide ! !! Mes yeux sont gonflés, j'ai mal à la tête, je ne peux pas le prescrire alors mon EA a déplacé le StopLoss aux points spécifiés en profit au prix actuel ! !!

C'est-à-dire que lorsque le prix se déplace vers un point donné, le StopLoss s'y déplace ! !!

mon exemple ne correspond pas.

Comment ne pas aimer ?

 
ALXIMIKS:

Peut, seulement avec l'API, et seulement avec les paramètres par défaut.
Ou la bibliothèque de Vadim Zhunko. Ce qui est plus proche de vous. L'idée est la même - vous devez implémenter le passage des paramètres de l'EA à l'indicateur.

C'est-à-dire que l'utilisation des moyens standard ne fonctionnera pas. Merci !
 
alxm:
C'est-à-dire qu'il ne fonctionnera pas par les moyens habituels. Merci !
Nous pouvons utiliser des objets pour construire
 

Des gens bien ! !!

Aidez-moi à trouver un bug. Je suis en train d'apprendre les tableaux.

J'ai créé un tableau dans un fichier include.

J'ai mis une référence au fichier include dans mon Expert Advisor.

Je ne comprends pas pourquoi.

Dans le lien de l'emplacement du fichier, les codes d'erreur

http://clip2net.com/s/jkTd89

double mass[]={
1.38890,
1.40510,
1.40980,
1.41340,
2.07850};
#include <ВКЛ.ФАЙЛ.mqh>
int ot ;
int ht ;
double X ;
double X1 ;
double X2 ;

int start()     
{
ot = OrdersTotal();     
double value = Bid;
int S = ArrayBsearch(mass,  value, WHOLE_ARRAY,  0, MODE_ASCEND);
if (ot==0)
if(Bid == mass[S])
OrderSend(Symbol(),OP_SELL,0.1,Bid ,3,Ask+1000*Point,Ask-300*Point,"jfh",123 );

return;
}

Merci.

 
solnce600:

Des gens bien ! !!

Aidez-moi à trouver un bug. Je suis en train d'apprendre les tableaux.

J'ai créé un tableau dans un fichier include.

J'ai mis une référence au fichier include dans mon Expert Advisor.

Je ne comprends pas pourquoi.

Dans le lien de l'emplacement du fichier, les codes d'erreur

http://clip2net.com/s/jkTd89

Merci.

Sur la première ligne, il y avait un message indiquant que le compilateur ne pouvait pas trouver le fichier à inclure
Raison: