[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 28

 
o lucro depende do tamanho do lote... o tamanho do lote depende do tamanho da alavancagem...
 

Confrontados com um problema:

Eu escrevi um indicador do oscilador BBP MA

Funciona bem na tabela,

Mas quando eu o chamo da EA, os dados não correspondem.

Os parâmetros definidos são os mesmos, respectivamente.

BBP_0=iCustom("EURUSD",60, "Oscilador BBP MA",BBPPeriod9,MODE_SMA,SignalBBBPPeriod9,MODE_SMMA,0,0));

A questão é como isso é possível?

 
//+------------------------------------------------------------------+
//|                                            BBP MA Oscillator.mq4 |
//|                                                   vasbsm@mail.ru |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "vasbsm@mail.ru"
#property link      ""

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Blue
#property  indicator_width1  2
//---- input parameters
extern int       BBPeriod=155;
extern int       TypeMA=MODE_SMA;
extern int       SignalMA=172;
extern int       Type_MA_Signal=MODE_SMMA;
//-----------------------------
double BBBuffer[];
double TempBuffer[];
double OsmaBuffer[];
double SignalBuffer[];

int init()
  {
   string short_name;
   IndicatorBuffers(4);
   IndicatorDigits(Digits);
   
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexDrawBegin(0, SignalMA);
   IndicatorDigits(Digits+2);
   
   SetIndexBuffer(0, OsmaBuffer);
   SetIndexBuffer(1, SignalBuffer);  
   SetIndexBuffer(2, BBBuffer);
   SetIndexBuffer(3, TempBuffer); 
   
   short_name="Bulls Bears Power MA("+ BBPeriod+","+ SignalMA+")";     
   IndicatorShortName( short_name);
   SetIndexLabel(0, short_name);   
   return(0);
  }
int deinit()
  {

   return(0);
  }
int start()
  {
   int counted_bars=IndicatorCounted();
   if(Bars<= BBPeriod) return(0);
//----------------------------------------------------------------
   int limit=Bars- counted_bars;
   if( counted_bars>0) limit++;
   for(int i=0; i< limit; i++)
      TempBuffer[ i]=iMA(NULL,0, BBPeriod,0, TypeMA,PRICE_CLOSE, i);
//----------------------------------------------------------------
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      BBBuffer[ i]=High[ i]+Low[ i]-2* TempBuffer[ i];
      i--;
     }
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      SignalBuffer[ i]=iMAOnArray( BBBuffer,Bars, SignalMA,0, Type_MA_Signal, i);
      i--;
     }
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      OsmaBuffer[ i]= BBBuffer[ i]- SignalBuffer[ i];
      i--;
     }         
   return(0);
  }
 

Descobri agora uma característica interessante...

(provavelmente já está descrito em algum lugar, mas eu tento usar meu cérebro primeiro e depois um livro didático ;)))

O que me permitiu usar mais um critério de seleção do tipo IF (filtro)

orders += OrderProfit()<1;

Além de um filtro comum e tradicional IF que seleciona as ordens necessárias,

A introdução da condição no código acima selecionou pedidos com lucro inferior a 1.

*

Nem sei se está correto ou não, mas parece funcionar...

 
zfs >> :

Confrontados com um problema:

Eu escrevi um indicador do oscilador BBP MA

Funciona bem na tabela,

Mas quando eu o chamo da EA, os dados não correspondem.

Os parâmetros definidos são os mesmos, respectivamente.

BBP_0=iCustom("EURUSD",60, "Oscilador BBP MA",BBPPeriod9,MODE_SMA,SignalBBBPPeriod9,MODE_SMMA,0,0));

A questão é como isso é possível?

e se, por padrão

BBP_0=iCustom(NULL,0, "Oscilador BBP MA",0,0));

e isto é obviamente errado

if( counted_bars>0) limit++

deveria ser

if( counted_bars>0) limit--;
 

JavaDev, Granit77 obrigado pelas respostas..... e embora eu ainda não tenha obtido a resposta à minha pergunta principal, decidi ler o tutorial mais adiante. Talvez a resposta à minha pergunta se torne mais clara no processo.

 
GGeoZ >> :

...e embora eu ainda não tenha conseguido uma resposta para minha pergunta básica, decidi ler o livro didático mais a fundo. Talvez a resposta à minha pergunta se torne mais clara no processo.

Espero que a SK. não esteja observando este tópico, então vou "compartilhar o que li" no tutorial. Como um usuário burro normal, eu simplesmente pulo as partes incompreensíveis na esperança de que "ele se resolva sozinho". Sua pergunta nem me ocorreu (idade, você sabe...). Para uso interno foi aceito que int é tudo o que pode ser contado com os dedos, e o dobro - tudo o resto. :))

 
As pessoas podem responder minha pergunta... o interessante é que a ordem de divergência é insignificante, mas crítica... Eu ficaria feliz em compartilhar uma estratégia lucrativa baseada neste e em outro indicador. Pode haver algum erro nos cálculos...
 
granit77 писал(а) >>

Espero que a SK. não esteja observando este tópico, então vou "compartilhar o que li" em um livro didático. Como um usuário burro normal, eu simplesmente pulo as partes obscuras na esperança de que "ele se resolva". Sua pergunta nem me ocorreu (idade, você sabe...). Para uso interno foi aceito que int é tudo o que pode ser contado com os dedos, e o dobro - tudo o resto. :))

Bravo!!!

Foi um prazer rir. Eu também não entendo as perguntas.

Só por precaução, eu acrescentaria os dedos do meu vizinho.

 
Cavalheiros, favor aconselhar como calcular o tamanho máximo do lote a ser aberto com todos os fundos disponíveis.