Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 104

 
hoz:

O que você tem aqui não é nada. Vamos começar com o fato de que fechar um short é sempre em ASK, e não BID.

Descobrimos isso. É simples.
     Price = NormalizeDouble(Ask, Digits); // округляем до нужного нам числа цифр после запятой
     if(StopLoss > 0)
      {
       SL = iHigh(Symbol(),0,1)+30*Point; // вычисляем стоплос
       SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
      }
 
Pergunta para todos os membros do fórum. O código acima funciona para todos os pares - cinco dígitos após a vírgula decimal, mas não estabelece um limite de perda em iene - três dígitos após a vírgula decimal. Por quê?
 
alexey1979621:

Ordenados. Pergunta simples para todos os membros do fórum. O código acima funciona para todos os pares - cinco dígitos após a vírgula, mas para o iene - 3 dígitos após a parada por vírgula não são definidos. Por quê?
https://book.mql4.com/ru/appendix/limits
 
artmedia70:
Eu já escrevi uma função de exemplo.

Esqueci de colocar um cheque no exemplo:

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

Corrigido em meu posto

 

Yusuf, você está segurando uma tecla em seu teclado? Como Shift ou Ctrl?

Eu tive uma coisa semelhante há alguns anos, a chave ESC ficou presa no canto de um livro e eu não sabia o que acontecia, o computador reagiu de forma incomum aos toques de tecla.

Além disso: o teclado alguma vez ficou ensopado em chá/café/ suco de laranja?

 
i_logic:
E também: sem chá/café/ suco de laranja no teclado?

Poderíamos continuar:

Os gatinhos não têm sido malcriados? Sem cabeça no teclado/ nuvem na cabeça? :)))

 
Bg))
 
Favor informar: o corretor para EUR/USD tem cinco dígitos após o ponto decimal nos preços, os fractais dão 4, tanto os de estoque como os personalizados. E eles não arredondam o quinto dígito, eles o descartam. Eu não encontrei este assunto em nenhum lugar. Talvez haja uma maneira de definir o número de dígitos após o ponto decimal?
 
Trendy:
Favor informar: o corretor para EUR/USD tem cinco dígitos após o ponto decimal nos preços, os fractais dão 4, tanto os de estoque como os personalizados. E eles não arredondam o quinto dígito, eles o descartam. Eu não encontrei este assunto em nenhum lugar. Talvez haja uma maneira de definir o número de dígitos após o ponto decimal?
DoubleToStr(número,dígito) é sua melhor aposta
 
Sepulca:

Bem, eu já escrevi e agora o testei, ele funciona


Boa tarde!

Desculpe por trazer à tona um tema relativamente antigo. Tudo se tornou claro com o código.

Agora eu tenho um problema, como abrir um negócio. Por exemplo, logo após uma determinada faixa, estamos procurando

O preço é inferior ao máximo em um determinado número de pontos. Abrimos um acordo.

Tentei adicionar tal código e executá-lo no testador, mas ele não abre negócios.

O que eu devo fazer?

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

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);
}
 

Olá!

Posso estar no fórum errado, mas tenho uma pergunta.

Se você tiver 2 janelas abertas com o mesmo corretor e a mesma conta, pode haver alguma lentidão ou falhas no terminal ou as transações levarão mais tempo para serem executadas?

Por favor, me aconselhe, eu realmente preciso dele para negociar nas notícias!

Razão: