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

 
igrok2008 >> :

Olá.

Existe um especialista em SimpleMA, eu o afinei um pouco para mim, apenas um pouco ...:-)) e chamado MASimple_v2x).

então eu tentei melhorá-lo MAS MAS

Recebi um erro após a experiência.

O QUE EU FIZ DE ERRADO?????????????

>> obrigado antecipadamente.



Tente desta forma:

ao invés de - se MAF_0 - MAF_1= A
se MAS_0 - MAS_1= B

isto - duplo A = MAF_0 - MAF_1;

duplo B = MAS_0 - MAS_1;

 

Se eu entendi corretamente, você está acompanhando uma situação em que ambos os AGs estão se movendo na mesma direção. Muitas outras descobertas interessantes esperam por você :))

//это выражение не имеет смысла, if здесь лишний
   if MAF_0 - MAF_1= A
   if MAS_0 - MAS_1= B
//если требовалось определить разницу значений МА на 1-ом и нулевом баре, то можно так
   double A = MAF_0 - MAF_1;
   double B = MAS_0 - MAS_1;
 
rushman >> :

Você pode me dizer se é possível aumentar o número de lotes em uma ordem de mercado sem abrir novos lotes?

Tanto quanto eu saiba, não! Somente quando se abre um novo lote. Qual é o sentido de aumentar os lotes após o negócio? Ou você quer dizer que vê como você abriu na direção certa e quer cada vez mais dinheiro?

 
alsu 23.10.2009 10:22
>>

И что теперь с этим делать?

NormalizeDouble(Bid,4);   //:))))


Provavelmente, melhor (mais versátil):

NormalizeDouble(Bid,Digits);
 

Ajude-me a encontrar um erro no código. nenhum erro na compilação, mas os cálculos e transações não são feitos ( Agradecemos antecipadamente aos profissionais que estão aqui.

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
extern int    EMA1 = 14;                                  // Период 1-й EМА
extern int    EMA2 = 48;                                  // Период 2-й EМА
extern int    EMA3 = 144;                                  // Период 3-й EМА                             
extern int period=12;
extern int porog =3;
extern int metod =1;
extern int metod2=1;
extern int prise =0;
extern double SL =  1000;                                  // СтопЛосс ордера
extern double TP =  500;                                  // ТэйкПрофит ордера
extern double Lots= 0.1;  
//--------------------------------------------------------------------------------------------
int
   New_Bar,                                              // 0/1 Факт образования нового бара
   Time_0,                                               // Время начала нового бара
   total;                                                // Крличество открытых ордеров
//--------------------------------------------------------------------------------------------
double 
   Lot,                                                  // Количество лотов
   Norm,                                                 // Предыдущее значение 1-й МА (розов)
   Fast,                                                  // Текущее    значение 1-й МА (розов)
   Slow,                                                // Текущее    значение 2-й МА(голубая)
   Signal[];
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
int init()  
   {
//============================================================================================
   SL = SL*Point;                                        // SL в пунктах
   TP = TP*Point;                                        // ТР в пунктах
   return;
//============================================================================================
   }  
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
int start()  
   {
//============================================================================================
   total=OrdersTotal();                                  // Общее количество ордеров
   if ( total==2)return;                                  // Уже открыты оба ордера

//----------------------------------------------------------------------------- Новый бар ----
   New_Bar=0;                                            // Для начала обнулимся
   if ( Time_0 != Time[0])                                // Если уже другое время начала бара
      {
      New_Bar= 1;                                        // А вот и новый бар
      Time_0 = Time[0];                                  // Запомним время начала нового бара
      } 
//--------------------------------------------------------------------------------------------
//---расчет тренда ввех или вниз (XMA)
   int limit;
   double tmp1, tmp2;
   int counted_bars=IndicatorCounted();
   int i;
   if( counted_bars<0) return(-1);
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
   for ( i = limit; i>=0; i--){
     tmp1=iMA(Symbol(),0, period,0, metod, prise, i);
     tmp2=iMA(Symbol(),0, period,1, metod2, prise, i); 
     if(MathAbs( tmp1- tmp2)>= porog*Point)
     {       Signal[ i]= tmp2;      }
     
//--------------------------------------------------------------------------------------------
   Fast  =iMA(NULL,0, EMA1, 0,MODE_EMA, PRICE_CLOSE, 0);// Текущее    значение 1-й EМА
   Norm =iMA(NULL,0, EMA2, 0,MODE_EMA, PRICE_CLOSE, 0);// Предыдущее значение 2-й EМА
   Slow=iMA(NULL,0, EMA3, 0,MODE_EMA, PRICE_CLOSE, 0);// Текущее    значение 3-й EМА
   
//--------------------------------------------------------------------------------------------
   if ( Fast> Norm && Norm> Slow && New_Bar==1 && Close[ i]> Signal[ i]) Open_Buy();      // Движение снизу вверх = откр. Buy
   if ( Fast< Norm && Norm< Slow && New_Bar==1 && Close[ i]< Signal[ i]) Open_Sell();     // Движение сверху вниз = откр. Sell
   
   }
      return;
//============================================================================================
   }  
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
int Open_Buy()  
   {
   if ( total==1)
      {
      OrderSelect(0, SELECT_BY_POS);                     // Выделим ордер
      if (OrderType()==0)return;                         // Если он buy, то не открываемся
      }
   OrderSend(Symbol(),0, Lots, Ask, 0, Ask- SL, Ask+ TP, "", 0, 0, Blue);// Открываемся
   return;
   }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
int Open_Sell() 
   {
   if ( total==1)
      {
      OrderSelect(0, SELECT_BY_POS);                     // Выделим ордер
      if (OrderType()==1)return;                         // Если он sell, то не открываемся
      }
   OrderSend(Symbol(),1, Lots, Bid, 0, Bid+ SL, Bid- TP, "", 0, 0, Red);// Открываемся
   return;
   }
 

Olá a todos, uma palavra de conselho, por favor!!! Tenho algumas perguntas, não posso fazer isso sozinho:

1. Como fazer apenas um pedido aberto em um bar?

2. Há várias condições de compra e venda, que função usar para isso?

3. Como organizar a transferência de uma posição aberta para o Breakeven?

4. Como aplicar as três condições no código EA (se possível, com um exemplo)?

Aguardo ansiosamente suas respostas. Muito obrigado de antemão.

 
Piboli >> :

Olá. Acabei de me deparar com um artigo sobre um assunto que me interessa. Nomeadamente isto: Escolhendo um tamanho de janela. .... Os melhores resultados são alcançados

no caso de selecionar uma janela do tamanho da ordem da dimensão fractal dos dados. Para calculá-lo, devemos "fatiar" a série com uma janela deslizante de tamanho suficientemente grande

(ver Figura 5 ), e então calcular a dimensão fractal dos dados resultantes usando, por exemplo, o método Box-count....

Favor aconselhar (de preferência mais simples), como calcular o tamanho desta janela deslizante. Ou, pelo menos, onde olhar para ele.


Os dados de contato do autor estão no site, recomendo que você consulte a fonte original.
 

HOORAY FOR THE WORK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Graças ao maníaco e ao granit77.

Uma anedota recente. Uma aula de literatura em um laboratório de informática, conduzida por um professor de informática.

-Gerasim foi, esta.....thim......nu......a e ele não tinha uma placa de som :-)))))))))))))))))

Bem, quanto ao especialista, tentei encurtar a condição comercial. Para uma melhor percepção.

Ou seja, se houver cálculos matemáticos, é melhor chamá-los pelo dobro.

 
Maniac >> :

Olá a todos, uma palavra de conselho, por favor!!! Tenho algumas perguntas, não posso fazer isso sozinho:

1. Como fazer apenas um pedido aberto em um bar?

....... ...

Estou aguardando suas respostas. Muito obrigado de antemão.

https://www.mql5.com/ru/forum/102366

//-----------------

https://www.mql5.com/ru/forum/113983/page2

//-------------

https://www.mql5.com/ru/forum/110184

 
morok >> :

Ajude-me a encontrar um erro no código. nenhum erro na compilação, mas os cálculos e as negociações não são feitos ( Agradecemos antecipadamente aos profissionais que estão aqui.

A primeira coisa que me chama a atenção em seu código e da qual não tenho certeza é a correção do uso da função IndicatorCounted() no Expert Advisor. Não o verifiquei, mas acredito que sua correção é garantida apenas em indicadores personalizados.