Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 902

 
AlexeyVik:

La mia comprensione è che PC-- > MA è la stessa di PC-1 > MA


Ma perché non funziona in una combinazione come questa?

Anche se, nella foto qui sotto, tutto quadra.


if (PC-->MA && Ask == MA)
OrderSend("EURUSD",OP_BUY,1,Ask,3,Ask-30*Point, Ask+30*Point);
 
inuboh:

Ma perché non funziona in questa combinazione?

Anche se nell'immagine qui sotto tutto combacia.


Leggi sul confronto dei numeri reali
 
inuboh:

Ma perché non funziona in una combinazione come questa?

Anche se nella foto qui sotto si adatta tutto


Non c'è niente che converga. Accade spesso che il prezzo sia superiore alla MA nel tick precedente, e che il prezzo sia già inferiore alla MA in questo tick, ma l'uguaglianza esatta non accade, o accade così raramente che nessuno l'ha mai vista. In particolare, non può essere visto sulle zecche tester. Non può essere visto sul grafico. E sottrarre un'intera unità dal prezzo doppio e poi confrontarlo con МА, come"PC--> MA" - non va bene per niente, un tale confronto non otterrà mai la verità.

 

Buona giornata a tutti voi. Un consiglio...

Sto scrivendo un indicatore. Ho bisogno di un indicatore separato nella finestra superiore - dati freschi (valori di tick) da disegnare sulla destra - come il prezzo - con una freccia verde.

Modifico l'indicatore dal tutorial - i miei dati freschi (nuovi valori di tick) sono disegnati sulla sinistra - freccia rossa...

Aiutami a cambiare il loro disegno. Per essere a destra, come il prezzo e come sull'indicatore superiore in una finestra separata del terminale. Grazie.

//--------------------------------------------------------------------
// separatewindow.mq4 
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
#property indicator_separate_window // Отображение в отдельном окне
#property indicator_buffers 1       // Количество буферов
#property  indicator_color1 Blue     // Цвет первой линии
#property  indicator_color2 Red      // Цвет второй линии
 
extern int History  =100;           // Колич.баров в расчётной истории
//extern int Aver_Bars=5;             // Количество баров для расчёта
 
double Buf_0[];                     // Объявление индикаторного массива
int Count=0;                        // Глобальная перемен.
//--------------------------------------------------------------------
int init()                          // Специальная функция init()
  {
   SetIndexBuffer(0,Buf_0);         // Назначение массива буферу
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
   //--- установим индексацию для буфера как в таймсерии
   ArraySetAsSeries(Buf_0,true);

   return(0);                          // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
   int i,                           // Индекс бара
   n,                               // Формальный параметр
   Counted_bars;                    // Количество просчитанных баров 
   double
   Sum_H,                           // Сумма значений High за период
   Sum_L;                           // Сумма значений Low  за период
//--------------------------------------------------------------------
 /*  Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   if (i>History-1)                 // Если много баров то ..
      i=History-1;                  // ..рассчитывать заданное колич.
 while(i>=0)                      // Цикл по непосчитанным барам
     {
        Sum_H=0;                      // Обнуление в начале цикла
      Sum_L=0;                      // Обнуление в начале цикла
      for(n=i;n<=i+Aver_Bars-1;n++) // Цикл суммирования значений 
        {
         Sum_H=Sum_H + High[n];     // Накопление суммы макс.значений
         Sum_L=Sum_L + Low[n];      // Накопление суммы мин. значений
        }
      Buf_0[i]=(Sum_H-Sum_L)/Aver_Bars;// Знач. 0 буфера на i-ом баре
     
     
      i--;                          // Расчёт индекса следующего бара
      */
      double Price = NormalizeDouble(MarketInfo(_Symbol,MODE_BID),Digits); 
      Buf_0[Count] = Price;
                          
   Count++;                                     // Счётчик тиков
   Comment ("Новый тик ",Count,"   Цена = ",Price);// Сообщение
     
    
//--------------------------------------------------------------------
   return(0);                          // Выход из спец. ф-ии start()
  }
 
Ciao, sono nuovo qui. Qualcuno può dirmi o darmi un link dove posso imparare ad usare tutte le funzionalità di mt4
 

Ciao a tutti!

Domanda:

ticket = OrderSend(bla, bla, bla, ......................)

Dopo aver esaminato il tutorial, la documentazione, gli articoli e il forum ho visto che la variabileticket - alcuni la mettono dentro la funzione OnTick()

- Altri lo mettono fuori (rendendolo esterno).cioè davanti a (rendendolo esterno, hanno fatto una statistica)

- alcuni lo dichiarano semplicemente ( int ticket; )

- altri lo assegnano a 0 (che è lo stesso di una semplice dichiarazione)

- altri assegnano -1

Se questo è significativo (tranne che in singoli casi), potrebbe portare ad errori, se sì come si corregge? ? ?

Grazie!

 
evillive:

Non c'è niente che vada bene. Accade spesso che nel tick precedente il prezzo sia sopra la MA, e in questo tick il prezzo sia già sotto la MA, ma l'esatta uguaglianza non accade, o accade così raramente che nessuno l'ha mai vista. In particolare, non può essere visto sulle zecche tester. Non può essere visto sul grafico. Beh, sottrarre un'intera unità dal prezzo e poi confrontarlo con MA, come"PC-- > MA" - non funziona affatto, un tale confronto non restituirà mai la verità.

Ho capito, grazie! Ditemi solo qualcosa per il futuro: per esempio, se ho una linea (può essere un muving), come devo scrivere che quando il prezzo Ask raggiunge questa linea, un ordine di acquisto sarà aperto? ))
 
pavlo555:
Ciao, sono nuovo qui. Qualcuno può dirmi o darmi un link dove si può imparare ad usare tutte le funzionalità di mt4

 
inuboh:
Ho capito, grazie! Potete dirmi qualcosa per il futuro: per esempio, se ho una linea (che sia un muving), come posso scrivere che quando il prezzo Ask raggiunge questa linea, si aprirà un ordine di acquisto? ))
Se Ask(1) è inferiore a MA e Ask(0) è maggiore o uguale a MA, cioè un touch-down al di sotto, puoi comprare. Ma nel periodo successivo il prezzo può "cambiare idea" e andare ancora più in basso, è normale, tale è il mercato.