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 87

 
Forexman77:

Agora você precisa encontrar o preço máximo neste intervalo de tempo. Eu posso encontrar o preço máximo:

mas não posso amarrá-lo ao intervalo de tempo. Você pode me dizer como fazer isso?

Eu o construí, mas ainda não o testei. Parece funcionar

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);
}
 
GBDD21:
como se monta um EA?
com as mãos e com a cabeça, claro... :)
E, se você estiver no meio do nada, você pode lê-lo.
 
GBDD21:
como criar uma EA?
Com uma chave de fenda
 
Ainda assim, como posso encontrar o máximo de um determinado intervalo de tempo? Tentei isto e um alerta para verificar, mas não funciona.
datetime StartTime1=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" 12:00");
datetime StopTime1=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" 23:00");

if(TimeCurrent()>=StartTime1 && TimeCurrent()<=StopTime1)
    {
    int BarStart = iBarShift(NULL,0,StartTime1,false);
    int BarEnd   = iBarShift(NULL,0,StopTime1,false);
    double Max_Price=iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,BarStart-BarEnd,BarEnd));
       if (Max_Price==true)
            {
            Alert(" Max_Price= ",Max_Price);
            }
   }
 
GBDD21:
como criar uma EA?
https://www.mql5.com/ru/articles/1385 - artigo "Testando e otimizando os EAs".
 
Olá a todos, por favor, digam-me quem sabe! Quero assinar um sinal comercial ( pago) e trabalhar no meu computador de mesa durante o dia e deixá-lo no meu netbook à noite .... terei que assinar duas vezes em dois terminais? quero fazer uma pergunta, já assinei o sinal mas abro o segundo terminal e ele está vazio.... gostaria de lhe fazer uma pergunta mais exata. é possível abrir uma e a mesma assinatura (sinal) em terminais diferentes (em uma conta, é claro) ....?
 
Forexman77:
Ainda assim, como posso encontrar o máximo de um determinado intervalo de tempo? Tentei fazer desta maneira e verificar o alerta, mas não funciona.

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

#property copyright "Copyright 2013, Mikhail <Sepulca>  Kozhemyako"
#property link      "ua3xcm@obninsk.ru"
extern int StartHour=8;
extern int StartMinute=1;
extern int StopHour=23;
extern int StopMinute=58;
int OldBar;
int init() { OldBar=Bars-1;return(0);}
int deinit() {return(0);}
int start(){
 double Maximum;
 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;// Сколко баров длится временной интервал
  Maximum=iHigh(Symbol(),PERIOD_M1,iHighest(Symbol(),PERIOD_M1,MODE_HIGH,count,start));//Находим максимум на заданном временном интервале
 }
 else Maximum=-1;
 if(OldBar<Bars){Print("Текущее время в минутах=",CurrentMinutesFromDayStart," Максимум с ",StartTime," минуты по ",StopTime," минуту =",DoubleToStr(Maximum,Digits));OldBar=Bars;}
 return(0);
}
 
Olá. Estou tentando instalar um modelo no Metatrader em um VPS, mas não vai funcionar, embora tudo funcione bem no meu computador de casa, você pode me dizer qual é o problema?
 
Sepulca:

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


Muito obrigado. Hoje caiu do vagão. Tinha dinheiro roubado da minha carteira de kiwi((( Acabei agora mesmo com os e-mails sobre o roubo.

 
artmedia70:
Chave de fenda
Isso é um ajuste grosso! Uma afinação mais fina para a alma cantar!
Razão: