[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 600

 
Craft:

Il tester non segnala alcun errore, solo che non vengono effettuati ordini.

Per favore, indicate l'errore, la logica: se il valore di MA [0] della barra è superiore a MA [1] dovete comprare, al contrario - vendere (questo codice è stato scritto come esempio per cercare di capire una condizione semplice e crearne una più complicata).


Questo codice non usa MA[0] e MA[1] ma MA[j] e MA[j+1];

Dopo una piccola revisione del codice (molto piccola), è apparso l'errore 4107

Posso farlo funzionare, ma sarà un EA completamente diverso. Sto semplificando al massimo. E qui il codice può essere più che dimezzato.

Se Stops e Takeovers sono impostati a zero, l'Expert Advisor inizia ad aprire le compravendite

 
Vinin: Posso farlo funzionare, ma sarà un EA completamente diverso. Sto semplificando il più possibile. E qui il codice può essere ridotto di più della metà.
Vinin, se riesci a farlo funzionare con la chiusura a stop o take profit, la cosa principale per me è sentire la filosofia di mql nell'affrontare diverse barre nell'array.
 
Buonasera, gli indicatori MQL4 non funzionano quando li tiro sul grafico, ma niente di niente, per favore aiutatemi!
risposta


Il fatto è che i consulenti funzionano e gli indicatori non funzionano affatto!
 
Craft:
Vinin, se riesci a farlo funzionare con la chiusura a stop o takeprofit, la cosa principale per me è sentire la filosofia di mql nell'affrontare diverse barre in un array.

Ho controllato. Funziona. Il segnale è un cambio di direzione
File:
15.2_1.mq4  18 kb
 
Craft:
Bello, ma come funziona nel codice (logica): Se MA150+20 > MA5 > MA150-20 e MA150+20 > MA21 > MA150-20 Allora piatto else Trend.
La logica è da qualche parte qui intorno... Ho fatto in fretta, quindi scusate, se qualcosa...


//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//------------------------------- Функция определения тренда по МАшкам ----------------------------
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
// Возврвщает 1 = тренд вверх, -1 = тренд вниз, 0 = флэт...
//------------------------------------------------------------
// -------------- Внешние переменные -------------
//============================================================
extern string  MATrendDetectorParameters = "Параметры детектора тренда";

extern double  Limit150 =20;
extern double  Limit21  =20;
extern double  Limit5   =20;

// ===============================================================
// ---------------------- Собственно сама функция ----------------
// ===============================================================
int   TrendDetectorMA (string sy, int tf)
{

double   MA150, MA150UP, MA150DN,
         MA21, MA21UP, MA21DN,
         MA5, MA5UP, MA5DN,
         
         pt;
// ---------------------------------------
   pt=Point;
   
   if (sy=="" || sy=="0") sy=Symbol();
      
   MA150    =iMA(sy,tf,150,0,MODE_SMA, PRICE_MEDIAN,1);
   MA21     =iMA(sy,tf,21,0,MODE_SMA, PRICE_MEDIAN,1);
   MA5      =iMA(sy,tf,5,0,MODE_SMA, PRICE_MEDIAN,1);
    
   MA150UP  =MA150+Limit150*pt;
   MA150DN  =MA150-Limit150*pt;
   
   MA21UP   =MA21+Limit21*pt;
   MA21DN   =MA21-Limit21*pt;
   
   MA5UP    =MA5+Limit5*pt;
   MA5DN    =MA5-Limit5*pt;
   
// --------------------------------------
// ------------- Рассчёт данных ---------

   if (
         MA5DN>MA21UP &&         // Если нижняя граница быстрой МАшки выше верхней границы средней МАшки и...
         MA21DN>MA150UP          // нижняя граница средней МАшки выше верхней границы медленной МАшки,
      )   
         return(1);              // значит тренд вверх, возвращаем 1
         
   if (
         MA5UP<MA21DN &&         // Если верхняя граница быстрой МАшки ниже нижней границы средней МАшки и...
         MA21UP<MA150DN          // верхняя граница средней МАшки ниже нижней границы медленной МАшки,
      )   
         return(-1);             // значит тренд вниз, возвращаем -1
         
   else  return(0);              // В остальных случаях у нас флэт, возвращаем 0
}

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
La sfida va più o meno così:
int tr=TrendDetectorMA (NULL, 5);   // NULL, 0 = текущий символ, либо явно, напр. EURUSD
                                    // 5 = таймфрейм, можно 15, 30, 60, 240, 1440, 10080, 43200, хотя можно было 
                                    // и красивее сделать.
   
   Comment ("\n","Тренд = ", tr);
   return;
[Deleted]  

Voglio usare i volumi Ramus in MT4, sembrano avere volumi più realistici.


 
IgorM:


il mio sistema è impostato per voler sempre aprire un ordine e lo limito vietando i segnali, solo i segnali mi danno il permesso di commerciare = ordine

Ora ho un piccolo problema - non ci sono late trades, ma ci sono problemi con ordini casuali nel flat notturno - finora sogno di insegnare all'EA a distinguere il flat, e non limitarlo all'ora del giorno per lavorare. Per la stima del trend sto usando un TF più alto nella logica dell'EA, così sono in grado di metterlo di notte su un TF orario e sembra essere meno ostinato che su M15

Perché limitare? Puoi usare strategie separate per il trend e il flat. Che funzioni sempre, purché funzioni ... ;)
 
Grazie, Vinin, grazie, artmedia70.
[Eliminato]  
Dimka-novitsek:

Buona sera, non lavoro con gli indicatori MQL4, e niente di niente! Per favore aiutatemi!
risposta


Il fatto che i consiglieri funzionano, e gli indicatori non funzionano affatto!


Aiuto F1 - sezione indicatori tecnici
[Eliminato]  

Come posso usare l'object crate e l'object set per disegnare una linea orizzontale in una finestra stocastica, per esempio?