[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 237

 
Muito obrigado!)
 
costy_:

Por segurança (alguns DTs), primeiro abra a pose, depois modifique as paradas separadamente no ciclo se a modificação não funcionar no tick!

Você pode usar isto

Erro "Lock" 130

ou codificar um estúdio (necessidade de ver o que está escrito ali))).

MUITO OBRIGADO!!!!!

Experimentaremos na segunda-feira....

 

Cavalheiros, ajudem-me onde eu fiz asneira))

#property indicator_buffers 1

double Crit[];
bool Crit1;
//+------------------------------------------------------------------+
int init()
  {
   SetIndexBuffer(0,Crit);
   return(0);
  }
//+--------------------------+
int start(){
  Crit[0]=Crit_div();
   return(Crit1);}
//+--------------------------+
double Crit_div(){
   double MA_5_1=iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,0);
   double MA_5_2=iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,1);
   double MA_5_3=iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,2);   

   double MA_8_1=iMA(NULL,0,8,0,MODE_SMA,PRICE_CLOSE,0);
   double MA_8_2=iMA(NULL,0,8,0,MODE_SMA,PRICE_CLOSE,1);
   double MA_8_3=iMA(NULL,0,8,0,MODE_SMA,PRICE_CLOSE,2);   
   
   
   if(MA_5_1>MA_8_1 && MA_5_2<=MA_8_2 && MA_5_3<=MA_8_3 )
   Crit1=true;

   if(MA_5_1<MA_8_1 && MA_5_2>=MA_8_2 && MA_5_3>=MA_8_3 )
   Crit1=false;

   return(Crit1);}


No Expert Advisor nós escrevemos:

   double Sign=iCustom(Symbol(),0,"1111",0,0);

Com Comentário obtemos 0 ou 1. O que nós queríamos. Além disso: Como buffers de 0 a 5 estão ocupados no indicador, eu faço o seguinte:

#property indicator_buffers 6

double Crit[];
bool Crit1;
//+------------------------------------------------------------------+
int init()
  {
   SetIndexBuffer(5,Crit);
   return(0);
  }
//+--------------------------+
int start(){
  Crit[5]=Crit_div();
   return(Crit1);}
//+--------------------------+
double Crit_div(){
   if(//условие)Crit1=true;
   if(//условие)Crit1=false;
   return(Crit1);}

No Expert Advisor nós escrevemos:

   double Sign_diver=iCustom(Symbol(),0,"1111",5,0);

Através de Comentário obtemos:2146487826. Embora eu esperasse ver 0 ou 1((((

 
deyron:

Cavalheiros, ajudem-me onde eu fiz asneira))

No Expert Advisor nós escrevemos:

Com Comentário obtemos 0 ou 1. O que nós queríamos. Além disso: Como buffers de 0 a 5 estão ocupados no indicador, eu faço o seguinte:

No Expert Advisor nós escrevemos:

Através de Comentário obtemos:2146487826. Embora eu esperasse ver 0 ou 1((((






Precisa do código completo para o indicador
 

ajuda com uma solução...

há um pedido em 1.1111. como posso verificar se há mais pedidos abertos a 5 pips dele? ((

 
Olá
Não consigo colocar o MetaEditor para trabalhar
Eu compenso e ele não faz nada
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
Comment("Hello");
//----
   return(0);
  }
//+------------------------------------------------------------------+
Não sei se alguém tem algum problema com isso.
 

Obrigado. Já vi isso. Mas é...

Возвращает флаг существования позиции или ордера около рынка

e eu preciso dele não perto do mercado, mas perto de um preço específico.

Exemplo: O mercado está em 1.3262, preciso saber dentro de 5 pips de 1.1111

 
Vinin:

Você precisa do código completo do indicador.

Acima post corrigido por baixo. Não há critérios (vazios) para passar um MA por outro e vice-versa.

O próprio fato de que se um tampão - sem perguntas, mas o mesmo através do 2º, 3º ou 4º, não funciona.

 
w_ersoc:

Obrigado, já vi isso, mas lá...

Não preciso dele perto do mercado, mas perto de um preço específico.

Exemplo: O mercado está em 1.3262 e eu preciso saber dentro de 5 pips de 1.1111


O que o impede de mudar MODE_ASK aqui para 1.1111 para uma ordem de compra, digamos? A função está pronta - edite-a.

if (ot==OP_BUY || ot==OP_BUYLIMIT || ot==OP_BUYSTOP) {
            if (MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())<ds*p) return(True);
          }
          if (ot==OP_SELL || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
            if (MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))<ds*p) return(True);