[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 35

 
skyjet:
Boa noite! Você poderia me dizer se eu implementei corretamente a função de início() de um indicador em um EA? A compilação não está de acordo!


Bem, tantos setes não podem estar errados, é um JACK-POT!!!

Mas falando sério, a descrição do problema é obviamente incompleta, você deve ir ao Telepath Club. Ou descrever com mais detalhes o que está errado, uma lista de erros de compilação, por exemplo.

 
evillive:


Bem, que muitos setes simplesmente não podem estar errados, é um PONTO JACK!!!

Mas falando sério, a descrição do problema é obviamente incompleta, você deve ir ao Telepath Club. Ou descrever com mais detalhes o que está errado, lista de erros de compilação, por exemplo.


No início eu recebi este erro:

Fim_do_programa' - parêntese final '} esperado C:\Arquivos de programa Ajudar_peritosxxx.mq4 (305, 1)

É claro que acrescentei um parêntese, depois disso :

'Ind_Start' - função não está definida C:\Program Files\ Alpari \xperts\xxx.mq4 (86, 1)

C:Arquivos de programa Alpari (87, 3)

 
skyjet:
Boa noite, você pode me dizer se eu prescrevi corretamente a função de início() de um indicador em minha EA? A compilação não está de acordo!
int start()
{

int varGet_Indicator_start = funcGet_Indicator_start();

return();
  
}


int funcGet_Indicator_start()

{
77777777777777777777777777777
77777777777777777777777777
777777777777777777777777777777
и чтоб возвращало int!!!
}


deveria estar tão de acordo

 

Ajuda, o indicador não funciona. O que eu escrevi errado?

//-----
  int i,limit;
  int counted_bars=IndicatorCounted();
  if (counted_bars>0) counted_bars--; 
  limit=Bars-counted_bars;
//-----
   for(i=limit; i>=0; i--)
  {SMMA[i]=iMA(NULL,0,TrixPeriod,0,MODE_SMMA,PRICE_CLOSE,i);}
//-----
  for(i=limit; i>=0; i--)
  {EMAOnArray[i]=iMAOnArray(SMMA,0,TrixPeriod,0,MODE_EMA,i);}
//-----
  for(i=limit; i>=0; i--)
  {SMMAOnArray[i]=iMAOnArray(EMAOnArray,0,TrixPeriod,0,MODE_SMMA,i);}
//-----
  for(i=limit; i>=0; i--)
  {Trix[i]=(SMMAOnArray[i]-SMMAOnArray[i+1])/SMMAOnArray[i];}
//-----
  for(i=limit; i>=0; i--)
  {Signal[i]=iMAOnArray(Trix,0,SignalPeriod,0,MODE_EMA,i);}       
//-----
  for(i=limit; i>=0; i--)
  {Histogram[i]=Trix[i]-Signal[i];}
//-----
 

Por favor, me aconselhem!

Suponha que eu tenho várias posições abertas no terminal e preciso saber o preço de abertura de uma das ordens, digamos COMPRAR, eu também sei a magia de cada ordem?

Como posso fazer isso?

 
artem86:

Por favor, me aconselhem!

Suponha que eu tenho várias posições abertas no terminal e preciso saber o preço de abertura de uma das ordens, digamos COMPRAR, eu também sei a magia de cada ordem?

Como posso fazer isso?

//+------------------------------------------------------------------+
//|--------------------// Last Bull Open Price //--------------------|
//+------------------------------------------------------------------+
double LastBullOpenPrice()
{
  double MyLastBullOpenPrice=0;
  for(int Cnt=0;Cnt<OrdersTotal();Cnt++)
  { 
    OrderSelect(Cnt,SELECT_BY_POS,MODE_TRADES);
    if(OrderMagicNumber()==Magic && OrderType()==OP_BUY)
    {
      MyLastBullOpenPrice=OrderOpenPrice();
    }
  }
  return(MyLastBullOpenPrice);
}

 

Boa tarde!

Poderia me dizer por favor, eu escrevo assim:

se ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

se ((b1==0) && (b2!=0))

fecharTodos();

se ((s1!=0) && (s2==0))

openSell(Lot,Magic);

se ((s1==0) && (s2!=0))

fecharTodos();

mas as ordens não se abrem, o que me ajuda a encontrar o motivo

Arquivos anexados:
 
ll77012:

Boa tarde!

Poderia me dizer por favor, eu escrevo assim:

se ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

se ((b1==0) && (b2!=0))

fecharTodos();

se ((s1!=0) && (s2==0))

openSell(Lot,Magic);

se ((s1==0) && (s2!=0))

fecharTodos();

mas os pedidos não se abrem, então por favor me ajude a encontrar o motivo


https://book.mql4.com/ru/trading/ordersend

Tudo é muito claro e detalhado.

 
algo está errado com a condição e não é chamado
 
ll77012:

Boa tarde!

Poderia me dizer como escrever, por favor?

se ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

se ((b1==0) && (b2!=0))

fecharTodos();

se ((s1!=0) && (s2==0))

openSell(Lot,Magic);

se ((s1==0) && (s2!=0))

fecharTodos();

mas as ordens não se abrem, o que me ajuda a encontrar o motivo


indicador buffer=EMPTY_VALUE; não igual a 0, mas igual a 2147483647.