Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1340

 
@Vitaly Muzichenko@Iurii Tokman Merci beaucoup les gars, ça a marché ! Je ne sais pas ce que je ferais sans toi. Bonne chance pour l'année.
Vitaly Muzichenko
Vitaly Muzichenko
  • www.mql5.com
Профиль трейдера
 

Bonne journée à tous. J'ai un EA qui signale quand la ligne de tendance et la ligne horizontale traversent une certaine couleur. J'ai décidé de le refaire pour qu'il signale quand la ligne de tendance et la ligne horizontale croisent un certain style. Ça a marché. Mais j'ai besoin qu'il signale quand une ligne de tendance croise uniquement le faisceau vers la droite. Je comprends que je dois ajouter

OBJPROP_RAY_RIGHT

mais je ne sais pas où ni comment. Merci d'avance.
Dossiers :
 

Bonjour à tous J. Je continue à scier la machine du Graal. Et j'ai rencontré une chose aussi peu agréable que l'erreur 130 lors de la définition des ordres en attente. Mais ce qui est intéressant, c'est qu'en ouvrant avec des ordres au marché, tout va bien. Il n'y a pas de mauvais arrêts qui apparaissent.

Je mentionnerai le fait qu'il existe deux façons de calculer l'arrêt. Vous pouvez utiliser un arrêt fixe en points ou en atp.

Si nous définissons un stop fixe ou atp, nous obtenons l'erreur 130 lors de l'ouverture d'un ordre de vente stop en attente, mais l'ordre d'achat stop en attente semble s'ouvrir normalement, bien que je ne sois pas sûr à 100%. Bien que je le vérifie et que je vois que les ordres d'achat stop en attente sont ouverts avec l'erreur 130 également. J'obtiens la valeur stop loss de cette façon


extern double atr_sl_period= 14; // ПЕРИОД АТR СТОП ЛОССА

extern   ENUM_TIMEFRAMES   PeriodForWork_sl        =  PERIOD_H4;           // ТФ SL  ПО АТР

void OnTick()
  {
double sl; // стоп лосс ордеров
if(tip_sl==en_po_atr)
     { //ЕСЛИ ТИП СТОП ЛОССА СТОИТ ПО АТР ТО ВЫСЧИТЫВАЕМ ЕГО ИЗ АТР
     //Print("СТОП ПО АТР, ЕГО РАЗМЕР ");
     sl= iATR( NULL,PeriodForWork_sl,atr_sl_period,1);// ПОЛУЧЕНИЕ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССА
      //Print("СТОП ПО АТР, ЕГО РАЗМЕР "+sl);
     }
     else //ИНАЧЕ- ТО ЕСТЬ ЕСЛИ СТОП ЛОСС ФИКСИРОВАННЫЙ В ПУНКТАХ
     {
     //Print("СТОП ЛОС ФИКСИРОВАННЫЙ В ПУНКТАХ");
     sl= razmer_fikc_sl*Point; // ПЕЕРМЕННОЙ СТОП ЛОССА ПРИСВАЕВАЕМ ФИКСИРОВАНОНЕ ЗНАЧЕНИЕ ПУНКТОВ И ДОМНОЖАЕМ НА ПОИНТ
     }


   
  }

Tout est normal lorsque l'on ouvre en utilisant des ordres de marché. J'ouvre les ordres en attente comme ceci

OrderSend(Symbol(),OP_SELLSTOP,lot,min_Price,slippages,min_Price+sl , min_Price-tp ,comment_ao_otloj_sell); // ОТКРКЫВВАЕМ ОТЛОЖЕННЫЙ СЕЛ ОРДЕР

OrderSend(Symbol(),OP_BUYSTOP,lot,max_Price,slippages,max_Price-sl,max_Price+tp ,comment_ao_otloj_buy,magik_number,TimeCurrent()+order_life_time); // ОТКРЫВАЕМ ОТЛОЖЕННЫЙ БАЙ ОРДЕР

S'il vous plaît, dites-moi ce que je fais mal et comment je dois le réparer ?

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
DanilaMactep:

Bonjour à tous J. Je continue à scier la machine du Graal. Et j'ai rencontré une chose aussi peu agréable que l'erreur 130 lors de la définition des ordres en attente. Mais ce qui est intéressant, c'est qu'en ouvrant avec des ordres au marché, tout va bien. Il n'y a pas de mauvais arrêts qui apparaissent.

Je mentionnerai le fait qu'il existe deux façons de calculer l'arrêt. Vous pouvez utiliser un arrêt fixe en points ou en atp.

Si nous définissons un stop fixe ou atp, nous obtenons l'erreur 130 lors de l'ouverture d'un ordre de vente stop en attente, mais l'ordre d'achat stop en attente semble s'ouvrir normalement, bien que je ne sois pas sûr à 100%. Bien que je le vérifie et que je vois que les ordres d'achat stop en attente sont ouverts avec l'erreur 130 également. J'obtiens la valeur stop loss de cette façon


Tout est normal lorsque l'on ouvre en utilisant des ordres de marché. J'ouvre les ordres en attente comme ceci

S'il vous plaît, dites-moi ce que je fais mal et comment je dois le réparer ?

pas de normalisation des prix
pas de comptabilité stop loss

 

DanilaMactep: Получаю значение стоп лосса во таким макаром

Makar, s'il te plaît ne le touche pas.)

DanilaMactep:

Pouvez-vous me dire ce que je fais mal et comment le réparer ?

Essayez d'augmenter l'arrêt fixe et si l'erreur pour un arrêt fixe disparaît, le problème est dans MODE_STOPLEVEL

TakeProfit doit également être vérifié

 
DanilaMactep:

Bonjour à tous J. Je continue à scier la machine du Graal. Et j'ai rencontré une chose aussi peu agréable que l'erreur 130 lors de la définition des ordres en attente. Mais ce qui est intéressant, c'est qu'en ouvrant avec des ordres au marché, tout va bien. Il n'y a pas de mauvais arrêts qui apparaissent.

Je mentionnerai le fait qu'il existe deux façons de calculer l'arrêt. Vous pouvez utiliser un arrêt fixe en points ou en atp.

Si nous définissons un stop fixe ou atp, nous obtenons l'erreur 130 lors de l'ouverture d'un ordre de vente stop en attente, mais l'ordre d'achat stop en attente semble s'ouvrir normalement, bien que je ne sois pas sûr à 100%. Bien que je le vérifie et que je vois que les ordres d'achat stop en attente sont ouverts avec l'erreur 130 également. J'obtiens la valeur stop loss de cette façon


Tout est normal lorsque l'on ouvre en utilisant des ordres de marché. J'ouvre les ordres en attente comme ceci

S'il vous plaît, s'il vous plaît, dites-moi ce que je fais mal et comment je dois le réparer ?

L'erreur 130 se produit non seulement lorsqu'un ordre stop ou take est placé, mais aussi lorsque l'ordre en attente est placé trop près du prix actuel. Pas le stop ou le take de cet ordre, mais le prix d'ouverture/de fixation de l'ordre.

 
        if(CopyTicks(Symbol(),ticks,COPY_TICKS_TRADE,0,1)==1)
            start_time=ulong(ticks[0].time_msc);
  

Que signifie le point ?

 
ascerdfg:

Que signifie le point ?

C'est là que vous intervenez.
 
ascerdfg:

Que signifie un point ?

Structures et, classes et interfaces
 
Alexey Viktorov:

L'erreur 130 se produit non seulement lorsqu'un stop ou un take est fixé, mais aussi lorsqu'un ordre en attente est fixé trop près du prix actuel. Pas le stop ou le take de cet ordre, mais le prix d'ouverture/de fixation de l'ordre.

LORS DE LA MISE EN PLACE D'UN ORDRE EN ATTENTE, JE CALCULE LE PRIX COMME SUIT (JE N'INTERFÈRE PAS AVEC VOUS, VOUS N'ÊTES EN TOUT CAS PAS MON GENRE À INTERFÉRER;-))

                    int min_bars= iLowest(NULL, // ТЕКУЩИЙ СИМВОЛ
          double min_Price=iHigh(Symbol(),// СИМВОЛ ТЕКУЩЕГО ИНСТРУМЕНТА(НА КОТОРОМ РАБОТАЕТ ГРААЛЬ;-)
          PeriodForWork_pending_orders, // ТФ НА КОТОРОМ АСЧИТЫВАЕМ ЦЕНУ МИНИМУМА
          min_bars//  НА КАКОМ БАРЕ БЫЛ МАКС ТОТ И ПОДСТАВИМ;)
        
          
          ); 

COMMENT VÉRIFIER SI LA VALEUR OBTENUE SE SITUE DANS LA FOURCHETTE AUTORISÉE ? JE NE COMPRENDS PAS CE QUE JE DOIS FAIRE, ET COMMENT M'ASSURER QUE SI LA VALEUR CALCULÉE EST INFÉRIEURE À CELLE AUTORISÉE, L'ORDRE SERA DE TOUTE FAÇON OUVERT À LA DISTANCE MINIMALE POSSIBLE ?

Raison: