Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1387
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Oui. L'EA travaille sur le cadre temporel H1 et peut ouvrir une position à 10:17, il ne doit pas ouvrir à nouveau avant 11:00, c'est-à-dire sur la barre actuelle.
Est-il possible de commencer le débogage à partir d'une heure spécifique au lieu de 00.00 (autre que l'option de défilement vers). Si quelqu'un le sait, pouvez-vous nous dire comment ?
Est-il possible de trader manuellement en mode débogage, par exemple de fermer manuellement un ordre ouvert par un hibou ?
Bonjour à tous. Je suis en train de réécrire la machine Grail, je n'ai pas de retour en arrière ;-) avec les ordres au marché, il s'ouvre parfaitement, sans erreurs... Mais avec les ordres en attente, j'ai à nouveau des problèmes avec les erreurs 130 et 4107 et le prix désactivé((((.
Je reçois un prix d'ouverture comme ça.
{//--НАЧАЛО ОТЛОЖЕННЫХ ОРДЕРОВ--------------------------------------------------------------------------------------------+ //-НАЧАЛО ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПОКУПАК-------------------------------------------------------------------------------------------+ int max_bars= iHighest(NULL, // ТЕКУЩИЙ СИМВОЛ PeriodForWork_pending_orders,// ТФ ДЛЯ ПОИСКА МАКСИМУМА УСТАНОВКИ ОТЛОЖЕННОГО ОРДЕРА MODE_HIGH,// ИЩЕМ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ ХАЙ range_max // ДИАПОЗОН ПОИСКА ИЗ ЭН СВЕЧЕЙ ); // ПОЛУЧАЕМ НОМЕР СВЕЧИ НА КОТОРОЙ ИМЕЕТСЯ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ double max_Price=iHigh(Symbol(),// СИМВОЛ ТЕКУЩЕГО ИНСТРУМЕНТА(НА КОТОРОМ РАБОТАЕТ ГРААЛЬ;-) PeriodForWork_pending_orders, // ТФ НА КОТОРОМ АСЧИТЫВАЕМ ЦЕНУ МАКСИМУМА max_bars// НА КАКОМ БАРЕ БЫЛ МАКС ТОТ И ПОДСТАВИМ;) ); if(max_Price-(Ask+2.2*(Ask-Bid)) < 0.0) { max_Price = Ask+2.2*(Ask-Bid); } else max_Price = max_Price; //КОНЕЦ ПОЛУЧЕНИЯ ДАННЫХ ДЛЯ ПОКУПАК//-------------------------------------------------------------------------------------------------+ //----ПОЛУЧЕНИЕ ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПРОДАЖ//-------------------------------------------------------------------------------------------------+ int min_bars= iLowest(NULL, // ТЕКУЩИЙ СИМВОЛ PeriodForWork_pending_orders,// ТФ ДЛЯ ПОИСКА МАКСИМУМА УСТАНОВКИ ОТЛОЖЕННОГО ОРДЕРА MODE_LOW,// ИЩЕМ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ ЛОУ range_max // ДИАПОЗОН ПОИСКА ИЗ ЭН СВЕЧЕЙ ); // ПОЛУЧАЕМ НОМЕР СВЕЧИ НА КОТОРОЙ ИМЕЕТСЯ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ double min_Price=iLow(Symbol(),// СИМВОЛ ТЕКУЩЕГО ИНСТРУМЕНТА(НА КОТОРОМ РАБОТАЕТ ГРААЛЬ;-) PeriodForWork_pending_orders, // ТФ НА КОТОРОМ АСЧИТЫВАЕМ ЦЕНУ МАКСИМУМА min_bars// НА КАКОМ БАРЕ БЫЛ МАКС ТОТ И ПОДСТАВИМ;) ); // --ПОЛУЧИЛ МИНИМАЛЬНУЮ ЦЕНУ ДЛЯ ОТКРЫТИЯ ОТЛОЖКИ if(min_Price+(Ask-2.2*(Ask-Bid)) < 0.0)// ПРОВЕРКА ДЛЯ ИЗБЕЖАНИЯ ОШИБКИ 130 { min_Price = Ask+2.2*(Ask-Bid); } else min_Price = min_Price; //-----ДОБАВЛЕНИЕ ФИЛЬТРА К ОТОЛЖКАМ ЕСЛИ ФИЛЬТР ВКЛЮЧЕН if(use_filter==en_c_filbtpom) { //ЕСЛИ ВКЛЮЧЕКНЫ ОТЛОЖКИ С ФИЛЬТРОМ double filter_buy= Filter_buy*Point; // ПРИСВОЕНИЕ ЛОКАЛЬНОЙ ПЕРЕМЕННОЙ ФИЛЬТР БАЙ ЗНАЧЕНИЯ ПЕРЕМЕННОЙ ВХОДНОГО ПАРАМЕТРА И ПЕЕРВОД ЭТОГО ДЕЛА В ПУНКТЫ double filter_sell= Filter_sell *Point; // ПРИСВОЕНИЕ ЛОКАЛЬНОЙ ПЕРЕМЕННОЙ ФИЛЬТР СЕЛЛ ЗНАЧЕНИЯ ПЕРЕМЕННОЙ ВХОДНОГО ПАРАМЕТРА И ПЕЕРВОД ЭТОГО ДЕЛА В ПУНКТЫ filter_buy= NormalizeDouble(filter_buy,Digits); // НОРМАЛИЗАЦИЯ ЗНАЧЕНИЯ ФИЛЬТР БАЙ ДЛЯ КОРРЕКТНЫХ РАСЧЁТОВ filter_sell= NormalizeDouble(filter_sell,Digits); // НОРМАЛИЗАЦИЯ ЗНАЧЕНИЯ ФИЛЬТР СЕЛЛ ДЛЯ КОРРЕКТНЫХ РАСЧЁТОВ max_Price= max_Price+filter_buy; //МАКС ПРАЙС ПРИБАВИЛ ЗНАЧЕНИЯ ФИЛЬТРА, ЧТО БЫ ОТЛОЖКА ВСТАЛА ЧУТЬ ВЫШЕ НАЙДЕННОГО ХАЙ min_Price= min_Price- filter_sell; // ОТ МИН ПРАЙС ОТНИМАЮ ЗНАЧЕНИЕ ФИЛЬТТР СЕЛ, ЧТОБЫ ОТЛОЖКА ВСТАЛА ЧУТЬ НИЖЕ НАЙДЕННОГО МИНИМУМА... max_Price= NormalizeDouble(max_Price,Digits); min_Price= NormalizeDouble(min_Price,Digits); }//--КОНЕЦ ЕСЛИ ОТКРЫВАЕМСЯ С ФИЛЬТРОМ--------------------------------------------------------------------------------------------+ //КОНЕЦ ПОЛУЧЕНИЯ ДАННЫХ ДЛЯ ОТОЛЖЕННЫХ ПРОДАЖ И ПОКУПАК//-------------------------------------------------------------------------------------------------+J'obtiens un stop loss et un profit comme ceci
Lorsque j'obtiens cette information, je vérifie le niveau de l'arrêt et je vérifie si le prix d'ouverture calculé est supérieur à l'ascendant.
J'ouvre l'arrêt d'achat tout seul comme ceci
Ma question est la suivante : que dois-je faire pour éviter ces erreurs ?
Bonjour à tous. Je suis en train de réécrire la machine Grail - je n'ai pas de retour en arrière ;-) avec les ordres au marché tout s'ouvre bien - pas d'erreurs... Mais avec les ordres en attente encore des problèmes sous forme d'erreurs 130 et 4107 et prix désactivé((((.
exclure 4107
Exclure 4107
Je ne comprends pas où vous voulez ajouter le code que vous avez téléchargé. Pouvez-vous mettre en évidence à partir de ma pièce ce qui est et où insérer l'exception d'erreur ?
ne pas y ajouter, mais la changer
ne pas y ajouter, mais la changer
Je ne sais pas quoi changer en quoi. Puis-je coder en couleur ce qui est vert, et en rouge ce en quoi changer le vert ?
{//--НАЧАЛО ОТЛОЖЕННЫХ ОРДЕРОВ--------------------------------------------------------------------------------------------+ //-НАЧАЛО ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПОКУПАК-------------------------------------------------------------------------------------------+ int max_bars= iHighest(NULL, // ТЕКУЩИЙ СИМВОЛ PeriodForWork_pending_orders,// ТФ ДЛЯ ПОИСКА МАКСИМУМА УСТАНОВКИ ОТЛОЖЕННОГО ОРДЕРА MODE_HIGH,// ИЩЕМ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ ХАЙ range_max // ДИАПОЗОН ПОИСКА ИЗ ЭН СВЕЧЕЙ ); // ПОЛУЧАЕМ НОМЕР СВЕЧИ НА КОТОРОЙ ИМЕЕТСЯ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ double max_Price=iHigh(Symbol(),// СИМВОЛ ТЕКУЩЕГО ИНСТРУМЕНТА(НА КОТОРОМ РАБОТАЕТ ГРААЛЬ;-) PeriodForWork_pending_orders, // ТФ НА КОТОРОМ АСЧИТЫВАЕМ ЦЕНУ МАКСИМУМА max_bars// НА КАКОМ БАРЕ БЫЛ МАКС ТОТ И ПОДСТАВИМ;) ); if(max_Price-(Ask+2.2*(Ask-Bid)) < 0.0) { max_Price = Ask+2.2*(Ask-Bid); } else max_Price = max_Price; //КОНЕЦ ПОЛУЧЕНИЯ ДАННЫХ ДЛЯ ПОКУПАК//-------------------------------------------------------------------------------------------------+ //----ПОЛУЧЕНИЕ ДАННЫХ ДЛЯ ОТЛОЖЕННЫХ ПРОДАЖ//-------------------------------------------------------------------------------------------------+ int min_bars= iLowest(NULL, // ТЕКУЩИЙ СИМВОЛ PeriodForWork_pending_orders,// ТФ ДЛЯ ПОИСКА МАКСИМУМА УСТАНОВКИ ОТЛОЖЕННОГО ОРДЕРА MODE_LOW,// ИЩЕМ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ ЛОУ range_max // ДИАПОЗОН ПОИСКА ИЗ ЭН СВЕЧЕЙ ); // ПОЛУЧАЕМ НОМЕР СВЕЧИ НА КОТОРОЙ ИМЕЕТСЯ МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ double min_Price=iLow(Symbol(),// СИМВОЛ ТЕКУЩЕГО ИНСТРУМЕНТА(НА КОТОРОМ РАБОТАЕТ ГРААЛЬ;-) PeriodForWork_pending_orders, // ТФ НА КОТОРОМ АСЧИТЫВАЕМ ЦЕНУ МАКСИМУМА min_bars// НА КАКОМ БАРЕ БЫЛ МАКС ТОТ И ПОДСТАВИМ;) ); // --ПОЛУЧИЛ МИНИМАЛЬНУЮ ЦЕНУ ДЛЯ ОТКРЫТИЯ ОТЛОЖКИ if(min_Price+(Ask-2.2*(Ask-Bid)) < 0.0)// ПРОВЕРКА ДЛЯ ИЗБЕЖАНИЯ ОШИБКИ 130 { min_Price = Ask+2.2*(Ask-Bid); } else min_Price = min_Price; //-----ДОБАВЛЕНИЕ ФИЛЬТРА К ОТОЛЖКАМ ЕСЛИ ФИЛЬТР ВКЛЮЧЕН if(use_filter==en_c_filbtpom) { //ЕСЛИ ВКЛЮЧЕКНЫ ОТЛОЖКИ С ФИЛЬТРОМ double filter_buy= Filter_buy*Point; // ПРИСВОЕНИЕ ЛОКАЛЬНОЙ ПЕРЕМЕННОЙ ФИЛЬТР БАЙ ЗНАЧЕНИЯ ПЕРЕМЕННОЙ ВХОДНОГО ПАРАМЕТРА И ПЕЕРВОД ЭТОГО ДЕЛА В ПУНКТЫ double filter_sell= Filter_sell *Point; // ПРИСВОЕНИЕ ЛОКАЛЬНОЙ ПЕРЕМЕННОЙ ФИЛЬТР СЕЛЛ ЗНАЧЕНИЯ ПЕРЕМЕННОЙ ВХОДНОГО ПАРАМЕТРА И ПЕЕРВОД ЭТОГО ДЕЛА В ПУНКТЫ filter_buy= NormalizeDouble(filter_buy,Digits); // НОРМАЛИЗАЦИЯ ЗНАЧЕНИЯ ФИЛЬТР БАЙ ДЛЯ КОРРЕКТНЫХ РАСЧЁТОВ filter_sell= NormalizeDouble(filter_sell,Digits); // НОРМАЛИЗАЦИЯ ЗНАЧЕНИЯ ФИЛЬТР СЕЛЛ ДЛЯ КОРРЕКТНЫХ РАСЧЁТОВ max_Price= max_Price+filter_buy; //МАКС ПРАЙС ПРИБАВИЛ ЗНАЧЕНИЯ ФИЛЬТРА, ЧТО БЫ ОТЛОЖКА ВСТАЛА ЧУТЬ ВЫШЕ НАЙДЕННОГО ХАЙ min_Price= min_Price- filter_sell; // ОТ МИН ПРАЙС ОТНИМАЮ ЗНАЧЕНИЕ ФИЛЬТТР СЕЛ, ЧТОБЫ ОТЛОЖКА ВСТАЛА ЧУТЬ НИЖЕ НАЙДЕННОГО МИНИМУМА... max_Price= NormalizeDouble(max_Price,Digits); min_Price= NormalizeDouble(min_Price,Digits); }//--КОНЕЦ ЕСЛИ ОТКРЫВАЕМСЯ С ФИЛЬТРОМ--------------------------------------------------------------------------------------------+Est-il possible d'obtenir les données de prix en barre et de volume en ticks d'autres instruments dans le testeur MT4 ?
Essayez-le.