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

 
hoz:

Ce que vous avez là n'est rien du tout. Commençons par le fait que la clôture d'une vente à découvert se fait toujours sur ASK, et non sur BID.

J'ai compris. C'est simple.
     Price = NormalizeDouble(Ask, Digits); // округляем до нужного нам числа цифр после запятой
     if(StopLoss > 0)
      {
       SL = iHigh(Symbol(),0,1)+30*Point; // вычисляем стоплос
       SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
      }
 
Question pour tous les membres du forum. Le code ci-dessus fonctionne pour toutes les paires - cinq chiffres après la virgule, mais il ne fixe pas de stop loss sur le yen - 3 chiffres après la virgule. Pourquoi ?
 
alexey1979621:

Trié. Une question simple pour tous les membres du forum. Le code ci-dessus fonctionne pour toutes les paires - cinq chiffres après la virgule, mais pour le yen - 3 chiffres après la virgule les stop loss ne sont pas définis. Pourquoi ?
https://book.mql4.com/ru/appendix/limits
 
artmedia70:
J'ai déjà écrit une fonction d'exemple.

J'ai oublié de mettre une vérification dans l'exemple :

if (OrderType()>1)            continue;            // Сначала забыл вписать, подправил

Corrigé dans mon message

 

Yusuf, est-ce que vous maintenez une touche de votre clavier ? Comme Shift ou Ctrl ?

J'ai eu un problème similaire il y a quelques années, la touche ESC s'est coincée dans le coin d'un livre et je n'ai pas su ce qui s'est passé, l'ordinateur a réagi de manière inhabituelle à la frappe des touches.

Par ailleurs, le clavier a-t-il déjà été trempé dans du thé, du café ou du jus d'orange ?

 
i_logic:
Et aussi : pas de thé/café/jus d'orange sur le clavier ?

Nous pourrions continuer :

Les petits chiens n'ont pas été vilains ? Pas de tête sur le clavier/clou sur la tête ? :)))

 
Bg))
 
Veuillez me conseiller : le courtier pour l'EUR/USD a cinq chiffres après la virgule dans les prix, les fractales en donnent 4, qu'il s'agisse de celles du stock ou de celles personnalisées. Et ils n'arrondissent pas le cinquième chiffre, ils l'écartent. Je n'ai rencontré ce sujet nulle part. Peut-être existe-t-il un moyen de définir le nombre de chiffres après la virgule?
 
Trendy:
Veuillez me conseiller : le courtier pour l'EUR/USD a cinq chiffres après la virgule dans les prix, les fractales en donnent 4, qu'il s'agisse de celles du stock ou de celles personnalisées. Et ils n'arrondissent pas le cinquième chiffre, ils l'écartent. Je n'ai rencontré ce sujet nulle part. Peut-être existe-t-il un moyen de définir le nombre de chiffres après la virgule ?
DoubleToStr(nombre,chiffre) est votre meilleure option.
 
Sepulca:

J'ai déjà écrit et maintenant je l'ai testé, ça marche.


Bonjour !

Désolé de remettre sur le tapis un sujet relativement ancien. Tout est devenu clair avec le code.

Maintenant j'ai un hic, comment ouvrir un commerce. Par exemple, juste après une plage donnée, on cherche

Le prix est inférieur au maximum d'un certain nombre de points. Nous ouvrons un marché.

J'ai essayé d'ajouter un tel code et de l'exécuter dans le testeur, mais il n'ouvre pas les transactions.

Que dois-je faire ?

МОЙ КОД, КОТОРЫЙ НУЖНО ДОБАВИТЬ:

signal = Maximum - iClose(Symbol(),Period(),0);
if (signal > 0.0012)
        {                                          
        Opn_S=true;                  
        }
ВАШ КОД:
int start(){
 int StartHour=8,StartMinute=1;// Время 08:01
 int StopHour=23,StopMinute=58; // Время 23:58
 int StartTime=StartHour*60+StartMinute;
 int StopTime=StopHour*60+StopMinute;
 int CurrentMinutesFromDayStart=Hour()*60+Minute();// Текущее время в минутах от начала дня
 if(CurrentMinutesFromDayStart>=StartTime && CurrentMinutesFromDayStart<=StopTime) {
  // Для торговли внутри дня
 }
// Ищем максимум
 datetime td=iTime(Symbol(),PERIOD_D1,0);// Время открытия дневного бара в секундах от 01.01.1970
 int start=0;// Если конец временного диапазона ещё не наступил, начинаем поиск максимума с текущего бара
 if(CurrentMinutesFromDayStart>StopTime) {
  datetime ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
  start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
 }
 int count=0;// Сколько баров до StartTime
 if(CurrentMinutesFromDayStart>StartTime) {
  ts=td+StartTime*60;// начало временного диапазона в секундах от 01.01.1970
  count= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  count= count-start;// Сколько баров длится временной интервал
 }
 double Maximum=iHigh(Symbol(),PERIOD_M1,iHighest(Symbol(),PERIOD_M1,MODE_HIGH,count,start));//Находим максимум на заданном временном интервале
 return(0);
}
 

Bonjour !

Je suis peut-être dans le mauvais forum, mais j'ai une question.

Si vous avez deux fenêtres ouvertes avec le même courtier et le même compte, il peut y avoir des lenteurs ou des problèmes dans le terminal ou les transactions prendront plus de temps à être exécutées ?

Veuillez me conseiller, j'en ai vraiment besoin pour trader sur les nouvelles !