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

 

Questioni teoriche:

1. Come scrivere una funzione (dove leggerlo)?

2. Con quale estensione deve essere compilato e salvato?

3. In quale cartella devo salvarlo?

4. Devo scrivere uno script separato per eseguirlo (o l'Expert Advisor si esegue da solo)?

Molte grazie a coloro che non hanno superato la mia domanda!))

 

Ciao, l'indicatore non disegna nuovi valori, solo quando lo rimetto sul grafico aggiorna i valori.

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 White
#property indicator_color2 White

//---- input parameters

extern int CountBars=3500;

//---- buffers
double val1[];
double val2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,217);
   SetIndexBuffer(0, val1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,218);
   SetIndexBuffer(1, val2);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2                                            |
//+------------------------------------------------------------------+
int start()
  { double F_u_EUR, F_u_GBP, F_d_EUR, F_d_GBP, F_u_USD, F_d_USD;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
   for(int i=3; i< limit; i++)
{ 

	F_u_EUR=iFractals("EURJPY",15,MODE_UPPER, i);
	F_d_EUR=iFractals("EURJPY",15,MODE_LOWER, i);
	F_u_GBP=iFractals("GBPJPY",15,MODE_UPPER, i);
	F_d_GBP=iFractals("GBPJPY",15,MODE_LOWER, i);
	F_u_USD=iFractals("USDJPY",15,MODE_UPPER, i);
	F_d_USD=iFractals("USDJPY",15,MODE_LOWER, i);

if ( F_u_EUR> F_d_EUR&& F_u_GBP> F_d_GBP&& F_u_USD> F_d_USD)
{
	val1[ i]=High[ i]+35*Point;
}
if ( F_u_EUR< F_d_EUR&& F_u_GBP< F_d_GBP&& F_u_USD< F_d_USD) 
{
	val2[ i]=Low[ i]-35*Point;
}


}
   return(0);
  }

Se puoi aggiustare il codice!

Grazie

 
Kostay писал(а) >>

Ciao, l'indicatore non disegna nuovi valori, solo quando lo rimetto sul grafico aggiorna i valori.

Se puoi aggiustare il codice!

Grazie

int start()
  { double F_u_EUR, F_u_GBP, F_d_EUR, F_d_GBP, F_u_USD, F_d_USD;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
   if ( limit<3) limit+=3;
   for(int i=3; i< limit; i++)
{ 

F_u_EUR=iFractals("EURJPY",15,MODE_UPPER, i);
F_d_EUR=iFractals("EURJPY",15,MODE_LOWER, i);
F_u_GBP=iFractals("GBPJPY",15,MODE_UPPER, i);
F_d_GBP=iFractals("GBPJPY",15,MODE_LOWER, i);
F_u_USD=iFractals("USDJPY",15,MODE_UPPER, i);
F_d_USD=iFractals("USDJPY",15,MODE_LOWER, i);

if ( F_u_EUR> F_d_EUR&& F_u_GBP> F_d_GBP&& F_u_USD> F_d_USD)
{
val1[ i]=High[ i]+35*Point;
}
if ( F_u_EUR< F_d_EUR&& F_u_GBP< F_d_GBP&& F_u_USD< F_d_USD) 
{
val2[ i]=Low[ i]-35*Point;
}


}
   return(0);
  }
 

Vinin grazie per l'aiuto. Corretto l'indicatore messo in visualizzazione ma ancora non disegna nuovi valori !!!!

Non capisco niente.

 
Kostay писал(а) >>

Vinin grazie per l'aiuto. Corretto l'indicatore messo in visualizzazione ma ancora non disegna nuovi valori !!!!

Non capisco niente.

Immagino che il numero di barre aggiornate sia sempre inferiore a tre e che la condizione del ciclo non sia mai soddisfatta

for(int i=3; i< limite; i++)
perché le nuove barre arrivano una alla volta. Forse qualcosa come

for(int i=3; i< limite+3; i++)

 
Kostay писал(а) >>

Vinin grazie per l'aiuto. Corretto l'indicatore messo in visualizzazione ma ancora non disegna nuovi valori !!!!

Non capisco niente.

Questo è il modo in cui l'indicatore multivaluta non dovrebbe funzionare nella visualizzazione. Prende i dati di altri timeframe dal grafico corrente. Dovete fare la sincronizzazione del tempo per questo tipo di lavoro.

 
Vinin >> :

Questo non è il modo in cui lo strumento multivaluta dovrebbe funzionare nella visualizzazione. Prende i dati di altri timeframe dal grafico corrente. La sincronizzazione temporale deve essere fatta per questo tipo di lavoro.

Ora capisco. grazie mille!!!!!!!!!!!!

 

Ciao!

È possibile cambiare le impostazioni di MT4 con un EA, ad esempio la dimensione del lotto?

Se sì, per favore avvisate!

 
vikon >> :

Ciao!

È possibile cambiare le impostazioni di MT4 con un EA, ad esempio la dimensione del lotto?

Se sì, consiglia!

La dimensione del lotto non è rilevante per le impostazioni di MT4. :) Viene specificato come parametro della funzione OrderSend quando si invia una richiesta di apertura di un ordine.

 
Everlost >> :

La dimensione del lotto non è legata alle impostazioni di MT4. :) Viene specificato come parametro della funzione OrderSend quando si invia una richiesta di apertura di un ordine.

So come aprire un ordine usando un codice.

Ho bisogno di creare un sistema semi-automatico con proprietà di gestione.

Apro una posizione manualmente, ma la dimensione del lotto è monitorata dall'EA e la cambia di default in MT (servizio/impostazioni/trading/volume predefinito)

È possibile farlo?