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

 
aero >>:

1. почему нe знаю, но можно попробовать перед импортом удалить все содержимое папки history

Sì, ho cancellato tutta la storia.

 

Aiutami a riparare l'indicatore. Devi essere in grado di cambiare le proprietà delle frecce e della croce nella casella di modifica dell'oggetto indicatore.


File:
 

Buon pomeriggio, amici.


Potete dirmi come usare correttamente la funzione iCustom?


Per esempio, avete un indicatore

"Accumulazione/Distribuzione di Williams, W A/D - Accumulazione/Distribuzione di Larry Williams"(https://www.mql5.com/ru/code/7064)


e voglio accedere a questo indicatore da un altro indicatore utilizzando la funzione iCustom:

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red

extern string Symbol1="USDJPY";
extern int SignalMA_Period=5;
extern int SignalMA_Method=0;

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
string short_name="ind";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
SetIndexLabel(1,"Signal");
SetIndexDrawBegin(1,SignalMA_Period);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
double ad1, ad2;
//----
if(counted_bars<0) return(-1);
//----
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
//----
for(int i=0; i<limit; i++)
{

ad1=iCustom(Symbol1,0,"WAD",1,i);

ExtMapBuffer1[i]=ad1;
}
//----
for(i=0; i<limit; i++)
ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1,Bars,SignalMA_Period,0,SignalMA_Method,i);
//----
return(0);
}
//+------------------------------------------------------------------+


L'indicatore Williams nel mio sistema si chiama WAD.

Ma, sfortunatamente, visualizza una finestra vuota con l'indicatore (cioè, non c'è nessun indicatore nella finestra... non è costruito)


Come risolvere il problema, si prega di consigliare, se possibile.

Grazie mille in anticipo.

 
Morzh09 писал(а) >>

Buon pomeriggio, amici.

Potresti per favore consigliarmi come usare correttamente la funzione iCustom?

Per esempio, c'è un indicatore

"Accumulazione/Distribuzione di Williams, W A/D - Accumulazione/Distribuzione di Larry Williams"(https://www.mql5.com/ru/code/7064)


Voglio applicare a questo indicatore da un altro indicatore utilizzando la funzione iCustom:


ad1=iCustom(Symbol1,0,"WAD",1,i);


L'indicatore Williams nel mio sistema si chiama WAD.

Ma, sfortunatamente, visualizza una finestra vuota con l'indicatore (cioè, non c'è nessun indicatore nella finestra... non è costruito)

Come risolvere il problema, si prega di consigliare, se possibile.

Molte grazie in anticipo.

A quanto pare vi state rivolgendo al buffer sbagliato. Potrebbe essere necessario 0. Ho una buona idea di cosa fare con l'indicatore.

 

Sì. Devi trattarlo in modo diverso

ad1=iCustom(Symbol1,0,"WAD",0,i); 
 

Mi sono imbattuto in questa funzione:

aprire il meta-editor,

cambiare i valori delle variabili esterne nel sorgente,

compilare,

apriamo il terminale - lo stesso Expert Advisor è già sul grafico, ma viene eseguito con i vecchi valori delle variabili esterne!

Se si compila quando l'EA è in esecuzione - i valori saranno aggiornati.

Il problema può essere risolto con #define e riassegnazione nell'inizializzazione, ma questo è un po' disordinato...

Il terminale memorizza i vecchi valori delle variabili esterne di EA, ma non l'ho trovato.

cosa significa questo e come posso affrontarlo?

 
beruk >>:

сталкнулся с такой особенностью:

открываем метаэдитор,

меняем в исходнике значения внешних переменных,

компилируем,

открываем терминал - на графике уже висит этот-же советник, но запускается он со старыми значениями внешних переменных!

если откомпилировать при запущенном советнике - значения обновятся.

проблему можно решить через #define и переназначение в инициализации, но это как-то коряво...

видимо терминал хранит где-то старые значения внешних переменных советника, но я не нашол.

шо сие означает и как с этим бороться?


i valori sono memorizzati in un file grafico con chr nella cartella profili/(profilo selezionato)
 
xeon писал(а) >>

i valori sono memorizzati in un file grafico con chr nella cartella profiles/(profilo selezionato)

giusto!

ma immagino che non ci si possa fare nulla, e riassegnare tramite #define è la cosa migliore da fare, se necessario?

 

Cari amici, potreste consigliarmi su questa domanda?


Voglio usare le quotazioni delle obbligazioni americane ed europee per l'analisi del trading, ma il mio broker non le fornisce...


In tale situazione, per quanto ho capito, ci sono due modi possibili:


1. Cambiare broker

2. importare quotazioni da una fonte esterna nella piattaforma Metatrader.


Ci sono 2 domande a questo proposito:


I. Da dove posso scaricare le citazioni:


1) US 10 Yr T-Note

2) Euro Bund


E come importarli nella piattaforma Metatrader?


II. Quale broker commercia questi strumenti?

(Per la seconda domanda, si prega di inviarla al mio messaggio personale, non deve essere considerata come una promozione)


Grazie mille in anticipo.
 

Cosa c'è di sbagliato qui?

Attacco questo EA al grafico orario e se il prezzo all'inizio dell'ora è superiore a cn1 e il prezzo attuale è 8 punti sopra di esso, l'ordine dovrebbe aprirsi (anche se il prezzo è sotto il livello attuale), ma il mio EA apre la posizione immediatamente per qualche motivo. Perché?

  int i=0;
   double a,b;
   while (i==0)
   {
     a=MarketInfo("USDCAD", MODE_ASK);
     b=MarketInfo("USDCAD", MODE_BID); 
     if((Open[0]<cn1)&&((a-cn1)<0.0008))
      {
       OrderSend("USDCAD",OP_BUY,1,a,1,SL,cn2);
       i=1;
       }
     if((Open[0]>cn11)&&((cn11-b)<0.0008))
      {
       OrderSend("USDCAD",OP_SELL,1,b,1,SL1,cn21);
       i=1;
      }  
   }
Motivazione: