Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 79

 

Olá, há uma pergunta simples como esta. Primeiro abrimos um comércio unidirecional e pagamos o spread. Em seguida, abrimos um comércio de balcão com o mesmo lote e o spread também é retirado dele. Ou seja, quando fechamos estes negócios um contra o outro, isso significa que pagamos dois spreads?

 

por favor, informe algumas linhas de código

1) como fazer as corujas funcionar, digamos, uma vez a cada 10 segundos

2)estabelecer uma ordem pendente se não houver ordem pendente a este preço

3) se aplicável, favor informar como calcular uma diferença entre as ordens (abertas)

 
Rustem71:


Basta me dizer o que você quer fazer quando o carrapato chegar.

Há tanto trabalho extra que você está fazendo.

E escreva o código corretamente, não abrevie parênteses. Se você tiver que escrever parênteses encaracolados na condição, você deve escrevê-los. Será mais fácil de entender o código. Quando você pegar o jeito, você pode começar a abreviar.

Estou aguardando esclarecimentos sobre o tique.


A idéia é que 2 ordens pendentes são abertas primeiro que funcionaram com o lote inicial, por exemplo COMPRAR imediatamente eliminado SELLSTOP e no mesmo lugar é colocado SELLSTOP mas com o lote duplo, apenas abre SELL colocar BUYSTOP *2 lote, e então, por exemplo, se não acionar a parada de trilho e a tendência virada colocar pendente com *2 lote. E então, se entrar sem uma perda no mais, como 0,05 será colocado parada de trilho. Assim!!! Se você me disser como otimizar + seus comentários sobre meus erros ficarão muito gratos! Não consigo entender porque tenho um lugar de uma ordem pendente, ordens pendentes abertas até o esgotamento total do depósito!
 
Akinak:
Veja por favor! Se você puder explicar o que eu fiz de errado! Eu tentei de tudo, ou sem abrir uma ordem ou abrindo um monte em um loop!

se for maior ou igual a um (mais simples - maior que zero) - não abrir, o mesmo deve ser repetido para as baikas

e você tem o inverso:

if(s==1)

Portanto, deveria ser algo parecido com isto:

if(s==0)
{ 
//открываем селл
}
 
Akinak:
Por favor, dê uma olhada! Se você puder explicar o que eu fiz de errado! Como só eu não tentei ou não abri uma encomenda ou abre um pacote pelo ciclo!!!!


Se eu acertei, foi assim. O resto é com você.

E escreva os códigos corretamente.

Arquivos anexados:
888.mq4  8 kb
 
Olá! Por favor me ajude com esta função, já estou exausto e não sei como fazê-lo direito! Eu preciso que isso possa entrar nos parâmetros, o tempo do meu computador. Obrigado de antemão!
extern bool    HOUR = false;             // Часы Вкл (true) / Выкл (folse)
extern string  TimeBegin = "13:30";      // Время начала (ЧЧ:ММ)
extern string  TimeEnd   = "17:00";      // Время окончания (ЧЧ:ММ)
//Отправляет true если по времени разрешено торговать
bool isTradeTimeString()
{
 datetime hbegin = StrToTime(TimeBegin) + TimeGMTOffset();
 datetime hend = StrToTime(TimeEnd) + TimeGMTOffset();
 
 datetime dtBegin, dtEnd;        // Время начала и окончания работы
 int      hc, he;                // Часы текущего времени и окончания работы

 dtBegin=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" "+TimeToStr(hbegin,TIME_MINUTES));
 dtEnd=StrToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" "+TimeToStr(hend,TIME_MINUTES));
 hc = TimeHour(TimeCurrent());
 he = TimeHour(dtEnd);
 if(dtBegin>=dtEnd)
 {
  if(hc>=he)
   dtEnd+=24*60*60;
  else
   dtBegin-=24*60*60;
 }
 if(HOUR==true)
 {
  if(TimeCurrent()>=dtBegin && TimeCurrent()<=dtEnd)
   return(true);
  else
  {
   if(CountTrades()==0)
    return(false);
  }
 }
 return(true);
}
 
Arseniy Barudkin:
Olá! Por favor me ajude com esta função, já estou exausto e não sei como fazê-lo direito! Eu preciso que isso possa entrar nos parâmetros, o tempo do meu computador. Obrigado de antemão!
TimeLocal()
 
Rustem71:


Se você acertou, é assim. Você assume a partir daqui.

E escreva os códigos corretamente.


Muito obrigado! Muito útil! Estou com pouco mais de duas semanas de escrita ainda não conhecia tais sutilezas!
 
Olá, caros membros do fórum! Quando eu crio uma simples EA, recebo um erro! Você pode me dizer a razão disto, por favor?
Arquivos anexados:
meryjj.jpg  197 kb
 
naravat:
Olá, caros membros do fórum! Quando eu crio uma simples EA, recebo um erro! Por favor, diga-me a razão.

Você tem que colocar parênteses após o retorno e neles você tem que escrever algum valor do mesmo tipo que o tipo de função.
Razão: