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 519

 
borilunad:

Ainda não ouvi falar do Alexei certo! É compreensível, você vai direto para a cama e adormece!

Ainda não ouvi falar da direita ou da esquerda.
 
tara:

Ainda não ouvi falar da direita ou da esquerda.

Então de costas ou de barriga para baixo!
 
borilunad:

De costas ou de estômago, então!
Desculpe, eu sou heterossexual.
 
viktorlev:


Nem todos são tão lobos em termos de MQL.

E quanto aos cheques ......... está lá.

if ((r2<30 && r1>30 && OrderTotal()<1) ||| (OrderType()==OP_BUY && OrderTotal()>=1 &&

OrdensTotal()<2 && Oferta>OrdemPreço Aberto()+dif*Ponto))

OrderSend(Symbol(),OP_BUY,lot,Ask,0,Bid-sl*Point,Ask+tp*Point, "O mais fácil de sempre",0,0);

-----------------------------------------------------------------------------------------------

para (int i=0; i<OrdersTotal(); i++)

{

se (OrderSelect(i,SELECT_BY_POS,MODE_TIME)==verdadeiro)

se (OrderType()==OP_BUY && Bid-ts*Point>OrderStopLoss()+5*Point)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-ts*Point,Perguntar+tp*Ponto 0,CLR_NONE);

----------------------------------------------------------------------------------------------

E já que estamos mantendo um diálogo. Há mais uma PERGUNTA.

Como soletrar corretamente a parte destacada (vermelha) do código. Como especificar um Take Profit "tp" que é fixo e não se move atrás do preço.



Exemplo de cálculo de ordens de parada considerando as exigências do StopLevel:

Global:

   int StopLoss   = 50; // Размер стопа в пунктах
   int TakeProfit = 50; // Размер тейка в пунктах

E no código EA, antes de enviar o pedido comercial:

   int level=(int)MarketInfo(Symbol(),MODE_STOPLEVEL);
   if(level==0) level=(int)MarketInfo(Symbol(),MODE_SPREAD)*2;
// ---- для позиции Buy расчёт стопа и тейка с учётом СтопЛевел:
   double sl=(StopLoss<=0)?0:NormalizeDouble(MathMin(Bid-StopLoss*Point,Bid-(level+1)*Point),Digits);
   double tp=(TakeProfit<=0)?0:NormalizeDouble(MathMax(Bid+TakeProfit*Point,Bid+(level+1)*Point),Digits);
// ---- для позиции Sell расчёт стопа и тейка с учётом СтопЛевел:
   double sl=(StopLoss<=0)?0:NormalizeDouble(MathMax(Ask+StopLoss*Point,Ask+(level+1)*Point),Digits);
   double tp=(TakeProfit<=0)?0:NormalizeDouble(MathMin(Ask-TakeProfit*Point,Ask-(level+1)*Point),Digits);
 
tara:
Desculpe, eu sou heterossexual.

Você é bem-vindo, mesmo que não fosse! Eu não escrevi homo, um homo sapiens, espero eu!
 
borilunad:

Você é bem-vindo, mesmo que não fosse! Eu não escrevi homo, um homo sapiens, espero eu!
Simples, com certeza.
 

Favor informar como fazer com que a mensagem "Window boundary reached" apareça quando o indicador atingir seu limite superior (inferior). Obrigado de antemão.

Abaixo está o próprio indicador.

Arquivos anexados:
tr2.mq4  3 kb
 
oxotnik:

Favor informar como fazer com que a mensagem "Window boundary reached" apareça quando o indicador atingir seu limite superior (inferior). Obrigado de antemão.

Abaixo está o próprio indicador.

Os dados são escaláveis. Em um momento o extremo será 0,001 e esse será o máximo, em outro momento o extremo será 0,02 e esse também será o máximo. Então, quando decidimos que chegamos ao máximo?
 
oxotnik:

Favor informar como fazer com que a mensagem "Window boundary reached" apareça quando o indicador atingir seu limite superior (inferior). Obrigado de antemão.

Abaixo está o próprio indicador.


Sim, as bordas das janelas são os mais fortes níveis de suporte e resistência ;)))))))))))))))))))))))
 
artmedia70:
Os dados são escaláveis. Em um momento, o extremo será 0,001 e esse será o máximo, em outro momento, o extremo será 0,02 e esse também será o máximo. Então, quando decidimos que chegamos ao máximo?


Esse é o problema, para que a auto-escala seja levada em conta. Isto é, como você diz, se o extremo for 0,001, a mensagem será exibida e, assim que o extremo no futuro mudar para 0,002, a mensagem também deverá ser exibida.

VladislavVG Isto não tem nada a ver com isso.