Qualcuno scribacchi una sceneggiatura per 5 wmz. - pagina 15

 

Nei mercati delle materie prime, ci sono strumenti in cui il prezzo si muove spesso con sorprendente coerenza intraday giorno dopo giorno! È su tali strumenti che questa metodologia funzionerà (secondo me) molto bene!

Per esempio, guardate il movimento dei prezzi di ieri e di oggi di NGV0 (gas naturale) e come si dice - "trovate 10 differenze" ...

 

Leonid. Non mi dispiace che qualcuno prosperi. Prego! Ho solo una domanda: dov'erano questi vincitori due anni fa? Perché nessuno stava tagliando il 1000% con il pollice sinistro nel 2008?

 

Per quanto riguarda i segni di una tendenza, se ne parla da molto tempo e sono state fatte anche alcune cose utili. Per esempio qui https://www.mql5.com/ru/articles/1508#6586. Tuttavia, suggeriscono di usare qualche oscuro indicatore (che non mi piace). Forse è meglio guardare il colore di una candela (come quella di Leonid). Ma ancora la metodologia dell'autore non corrisponde all'onesta determinazione dei modelli temporali! Inizia una specie di numerologia qui... Penso che sia per questo che molte persone lo percepiscono in modo ironico.

 

Potete dirmi perché un EA normalmente compilato senza pre ed errori non viene testato, non ci sono trade, cosa manca?

extern double Lots          = 0.1;
extern double StopLoss      = 120;
extern double TakeProfit    = 120;

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int cnt, ticket, total;
  static int prevtime = 0;
   
        total=OrdersTotal();
if(total<1){  //если  нет открытых позиций
//+------------------------------------------------------------------+
//|               Открытие позиций понедельника                      |
//+------------------------------------------------------------------+
if ( DayOfWeek()==5){//если сегодня вечер пятницы
if ( Hour() == 23)  {//если - 22 часа терминального времени
// BUY
       if ( Close[1]<= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {    
        
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask+StopLoss*Point,3,0,Ask+TakeProfit*Point,"Regulest",0,0,Green);}
         if(ticket < 0) {
            Print("Ошибка открытия ордера BUY #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];  return (0); }}
// SELL
if ( DayOfWeek()==5){//если сегодня вечер пятницы
if ( Hour() == 23)  {//если - 22 часа терминального времени
    if ( Close[1]>= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {
    
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid-StopLoss*Point,3,0,Bid-TakeProfit*Point,"Regulest",0,0,Red);
         if(ticket < 0) {
            Print("Ошибка открытия ордера SELL #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];  return (0); }
          } 
        }
      return(0);
     }}}
//+------------------------------------------------------------------+
//|                     Закрытие позиций                             |
//+------------------------------------------------------------------+
      if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())  
        {
         if(OrderType()==OP_BUY)   // long position is opened
           {
            // should it be closed?
            if ( DayOfWeek()==1  && Hour() == 22)
                {
                 OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
                 return(0); // exit
                }
              }
           }
         else // go to short position
           {
            // should it be closed?
            if ( DayOfWeek()==1  && Hour() == 22)
              {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
               return(0); // exit
              }      
           }  
   return(0);
  }  
//+------------------------------------------------------------------+
 
Profitabl:

Potete dirmi perché un EA normalmente compilato senza pre ed errori non viene testato, non ci sono trade, cosa manca?

Forse una condizione non è soddisfatta. All'Alpari, per esempio, non ci sono barre con il valore orario di 23 il venerdì. Metti 22, come hai fatto nel tuo commento

if ( Hour() == 23)  {//если - 22 часа терминального времени
 

No, non è questa la ragione. Ho bisogno di ricompilare l'intero EA CHF, che è perfettamente testato nel tester, ma non fa trading con l'opzione "allow EA to trade" abilitata. A proposito, martedì l'EA stava facendo dei trade, ma poi ho fatto qualcosa al codice e ha smesso di fare trade. Quali sono le ragioni per cui un normale EA smette di funzionare?

 
Pubblica un rapporto che includa tutte le zecche. Un metodo così rozzo di test su un arco di tempo così ampio non dà un risultato completamente oggettivo. A proposito, è molto interessante come questo codice dia un qualsiasi risultato, perché invece del prezzo di apertura nella funzione di apertura c'è un tentativo di impostare uno stop loss))) questo è un asilo, per l'amor di Dio :))
 
lasso:

Forse la condizione non è soddisfatta. All'Alpari, per esempio, non ci sono barre con un valore orario di 23 il venerdì. Metti 22, come hai fatto nel tuo commento


Ho rimosso gli StopLoss "Ask-StopLoss*Point", "Bid-StopLoss*Point" e ha iniziato il test, ma cosa devo fare per farlo testare anche con loro?

       if ( Close[1]<= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {    
        
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"Regulest",0,0,Green);}
         if(ticket < 0) {
            Print("Ошибка открытия ордера BUY #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];  return (0); }}
// SELL
if ( DayOfWeek()==5){//если сегодня вечер пятницы
if ( Hour() == 23)  {//если - 22 часа терминального времени
    if ( Close[1]>= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {
    
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"Regulest",0,0,Red);
 
Techno:
Pubblica un rapporto con tutte le zecche prese in considerazione. Un metodo così rozzo di test su un arco di tempo così ampio non dà un risultato completamente oggettivo. A proposito, è molto interessante come questo codice dia un qualsiasi risultato, perché invece di un prezzo di apertura nella funzione di apertura si cerca di impostare uno stop loss))) è una specie di asilo, per carità :))


Ho spostato lo StopLoss di una virgola, ricordo ciò che non ho fatto per due anni, tutto è testato. I tick non sono necessari, le condizioni vedono molto semplice "l'altro ieri, ieri, oggi"="domani", NNN=BUY, NNV=SELL, gli scambi coincidono con ciò che è necessario. A causa dell'impossibilità di aprire posizioni per periodi di 30M l'accuratezza della previsione è più bassa, circa il 69% delle operazioni sono redditizie, e manualmente più accurata, per esempio il 327% del grafico annuale è basato su 254 operazioni, inoltre il 72% delle operazioni sono redditizie.

L'aggiustamento di Advisor è minuzioso, ognuna delle 40 previsioni ha il suo S\L e T\P, alcune previsioni con un totale di -700ps sono state appena sostituite come indefinite ma raffinate nel tester, e il calcolo del blocco di lotti è il 10% del deposito, il 1070% in 136 settimane si trasforma in 8422476% di profitto se si inizia con un centinaio di esse. Il rischio di perdite è relativamente basso, massimo 8 trade consecutivi perdenti ad un livello di margine fisso del 1000% è facilmente tollerato; il punto critico è da qualche parte tra 14-16 trade consecutivi perdenti, che è quasi impossibile con questo sistema di analisi.

Le posizioni nel tester possono già essere duplicate manualmente, ma sarebbe meglio per l'Expert Advisor fare trading da solo, per agganciarlo a un server in affitto.

Non mi aiuterai a identificare ciò che nel suo codice impedisce i trade, perché non posso mostrare il codice o darti l'EA - è un'arma psicologica, che può causare crisi finanziarie e default, nel forex l'apertura è innocua e serve solo per il profitto, ma questo modello è ovunque in tutti i rami della scienza.

Allo stesso modo, prendete una tabella di previsione e farete lo stesso EA in una settimana.

 

Per prima cosa, correggete l'errore principale.

Avete la possibilità di chiudere le posizioni all'interno di una condizione

  
        total=OrdersTotal();
if(total<1){  //если  нет открытых позиций

Dove vedi la logica qui? Come si può chiudere una posizione se non c'è?