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

 
ZS - lotto = 0 - causerà un errore quando si cerca di piazzare un trade...
 
Per favore, aiutatemi a capire. Ho un Expert Advisor doubleminus_1 (il codice mi ricorda Ilan 1.6 Pipstep). Ultimamente, sempre più spesso i trade si aprono solo in una direzione, ma dopo qualche ora tutto torna normale. La frequenza varia e non dipende dalla volatilità. Poiché il codice EA è troppo lungo da aggiungere qui, allego il file EA stesso.

	          
File:
 
ierehon:
Per favore, aiutatemi a capire. Ho un Expert Advisor doubleminus_1 (il codice mi ricorda Ilan 1.6 Pipstep). Ultimamente, sempre più spesso i trade si aprono solo in una direzione, ma dopo qualche ora tutto torna normale. La frequenza varia e non dipende dalla volatilità. Poiché il codice EA è troppo lungo da aggiungere qui, allego il file EA stesso.

Questa è una sciocchezza. Provate su un'altra società di intermediazione. Per esempio questo funziona secondo l'algoritmo senza alcuna domanda.
 
Roman.:

Questa è una sciocchezza. Provatelo su un altro DC. Per esempio, questo - funziona secondo l'algoritmo senza alcuna domanda.
Non capisco perché succede, ma è un fatto. Quindi funziona bene, ha solo dei periodi in cui apre gli scambi solo in una direzione. Secondo le mie osservazioni, questo accade dopo un forte aumento o una forte caduta senza una seria correzione. L'unica cosa che mi viene in mente è che potrebbe essere legato alla RSI, ma come esattamente non lo so.
 
ierehon:
Non capisco perché questo accada, ma è comunque un fatto. Funziona bene, ma ci sono periodi in cui apre solo trade in una direzione. Secondo le osservazioni, questo accade dopo un forte aumento o una caduta senza gravi correzioni. L'unica cosa che mi viene in mente è che potrebbe essere legato alla RSI, ma come esattamente non lo so.
Come mai? Studia attentamente la parte del segnale dell'Expert Advisor... Lì gli ingressi sono fatti quando l'indicatore RSI attraversa certi livelli. Tutto funziona correttamente se non riesci a capirlo, quindi non preoccuparti...
 
Roman.:
Come mai? Studia attentamente la parte del segnale dell'Expert Advisor... Gli ingressi vengono effettuati quando l'indicatore RSI attraversa determinati livelli. Tutto funziona correttamente, se non riesci a capirlo, quindi non preoccuparti...
Allora cosa potrebbe essere? Nessun limite di tempo, nessun limite neanche sul numero di ordini (vale più di 1000)...
 
ierehon:
Allora cosa potrebbe essere? Nessun limite di tempo, nessun limite neanche al numero di ordini (vale più di 1000)...

NON è il tempo di esecuzione (innesco) dei segnali per entrare (mediazione) nel mercato. Bisogna aspettare...
 
SkinnerDE:

Ciao a tutti. Per favore aiutatemi a trovare un bug nel codice, sono esausto - non posso fare nulla.

Molto probabilmente nell'ultima parte.


ObjectSetText

in cima a cosa si riferisce? Portatelo via.

 

Sto scrivendo un indicatore che calcola il range medio giornaliero per un periodo specificato. Quando è attaccato al grafico, il grafico viene visualizzato normalmente:

Ma dopo aver ricevuto un nuovo preventivo, il valore cambia drasticamente.

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red

extern int History=1000;
extern int D1_Period=21;
//+------------------------------------------------------------------+
double Buf_0[];
//+------------------------------------------------------------------+
int init()
  {
   SetIndexBuffer(0, Buf_0);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
   return(0);
  }

int deinit()
  {

   return(0);
  }

int start()
  {
   int Counted_Bars, i, n, count=0;
   double L_High, L_Low, L_Range, Sum=0, range;
//+------------------------------------------------------------------+
   Counted_Bars=IndicatorCounted();
   i=Bars-Counted_Bars-1;
   if(i>History-1)
      i=History-1;
   while(i>=0)
    {
     for(n=i;n<=D1_Period+i;n++)
      {
        L_High=iHigh(NULL,PERIOD_D1,n);
        L_Low =iLow(NULL,PERIOD_D1,n);
        L_Range=(L_High-L_Low)/Point;
        Sum=Sum+L_Range;
        count++;         
      }
     range=MathRound(Sum/count);
     Buf_0[i]=range; 
     i--;
    }   
   return(0);
  }
//+------------------------------------------------------------------+
Qual è la ragione?
 
silhouette:

Sto scrivendo un indicatore che calcola il range medio giornaliero per un periodo specificato. Quando è attaccato al grafico, il grafico viene visualizzato normalmente:

Ma dopo aver ricevuto un nuovo preventivo, il valore cambia drasticamente.

Qual è la ragione?


Il problema è in questo ciclo

     for(n=i;n<=D1_Period+i;n++)
      {
        L_High=iHigh(NULL,PERIOD_D1,n);
        L_Low =iLow(NULL,PERIOD_D1,n);
        L_Range=(L_High-L_Low)/Point;
        Sum=Sum+L_Range;
        count++;         
      }
Motivazione: