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

 
alexey1979621:
Grazie. So della chiamata dell'indicatore. Ma i parametri regolabili dell'indicatore dovrebbero essere elencati quando li applichiamo in test o in funzione e dato che questo EA non può essere testato nel tester (dato che due coppie sono coinvolte nel trading), semplicemente non possiamo scegliere questi parametri sulla storia.

Qualcosa mi dice che non hai capito bene di cosa stiamo parlando. Questo indicatore prende le letture di due diverse coppie di valute, queste coppie sono impostate nelle impostazioni esterne dell'indicatore. E se si applica a questo indicatore con parametri predefiniti in diversi Expert Advisors su diverse coppie di valute, si otterranno valori sbagliati da esso. E non importa se lo testate o lo spoofate - dovete prescrivere correttamente il lavoro con l'indicatore!
alexey1979621:
Un'altra piccola domanda che abbiamo in due strumenti i trade si aprono o per vendere o per comprare, ma se abbiamo bisogno di uno per aprire a vendere per uno strumento, e per un altro per aprire a comprare, allora come?

Come specifichi le condizioni di apertura, è così che gli ordini saranno aperti. Se non sapete cosa dice l'indicatore, non posso aiutarvi.

alexey1979621:
C'erano 5 EA che lavoravano (fratelli gemelli - per coppie diverse), naturalmente con Majics diversi.

Nella tua versione, il lavoro con il Mago non è specificato correttamente. Gli ordini vengono aperti con il Magik specificato, ma il controllo degli ordini nel mercato viene eseguito con il Magik predefinito. Dovrebbe essere così:

NumberOfPositions (/*рабочий символ*/, -1, Magic);
 

alexey1979621, perché non provi prima a scrivere un EA su una coppia senza errori, e poi su quelle multi-valuta?

 

Cercando di organizzare un tic per un esperto - senza fortuna. Il fine settimana mi ha colto di sorpresa. Come organizzarlo correttamente? Per esempio, abbiamo il seguente Expert Advisor elementare:

int delay = 180;
datetime read_now;
int init(){
   read_now = TimeCurrent() + delay;
}
int start(){
   int how_many_remains = read_now - TimeCurrent();
   Comment(StringConcatenate(
      StringSubstr("-", (how_many_remains%60 >= 0), 0),
      StringSubstr("0", (MathAbs(how_many_remains/60) > 9), 0),
      MathAbs(how_many_remains/60),
      ":",
      StringSubstr("0", (MathAbs(how_many_remains%60) > 9), 0),
      MathAbs(how_many_remains%60)
   ));
   return(0);
}

- come simulare i tick e avviare un timer?

Capisco che è il fine settimana, ma nel mercato il calendario delle vacanze non coincide con quello di RF, e c'è del lavoro da fare...

 
gyfto:

Cercando di organizzare un tic per un esperto - senza fortuna. Il fine settimana mi ha colto di sorpresa. Come organizzarlo correttamente? Per esempio, abbiamo il seguente Expert Advisor elementare:

- come simulare i tick e avviare un timer?

Capisco che è un fine settimana, ma nel mercato il calendario delle vacanze non coincide con quello di RF, e bisogna comunque lavorare...


Perché soffrire per qualcosa che non è necessario?

ci sarà un rilascio ufficiale delle nuove build intorno al 20 gennaio e.

C'è un timer implementato, con quale frequenza avete bisogno con quello e sarà chiamato.

È meglio spendere le proprie energie nello studio del 5, per non avere migliaia di domande stupide.

 
ALXIMIKS:


C'è un timer implementato


Questo è per l'indicazione fino al prossimo parsing dei dati. Alle 03:00 il parsing viene avviato dall'EA stesso da uno script di terze parti, alle 00:00 i dati vengono visualizzati sul grafico, e tutto riparte con la frequenza di aggiornamento dei dati configurata in secondi. Un display per il conto alla rovescia come questo sarebbe più facile da implementare su un cinque?
 
Purtroppo non sono competente in materia, ma ho salvato https://forum.mql4.com/ru/59441 per leggerlo a vostro piacimento, forse vi sarà utile.
 
#property indicator_separate_window
#property indicator_buffers 3
#property  indicator_color1 Gold
#property  indicator_color2 Gold
#property  indicator_color3 Gold
//+---------------------------------------------------------------------+
extern double _N_ = 1; 
extern double _M_ = -1; 
extern int History = 10000;
//+---------------------------------------------------------------------+
int p; 
//+---------------------------------------------------------------------+
double Buf_0[];
double Buf_1[];
double Buf_2[];
double RSI;
double ADX_Main; 
double ADX_dD;
double ADX_DD;
double price;
//+---------------------------------------------------------------------+  
bool R_adx;
bool R_time;
bool R_adx_time;
bool R_rsi_time;
bool R_rrsi_time;
//+---------------------------------------------------------------------+
int init()
{
//+---------------------------------------------------------------------+  
SetIndexBuffer(0,Buf_0);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
SetIndexBuffer(1,Buf_1);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
SetIndexBuffer(2,Buf_2);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
return;
}
//+---------------------------------------------------------------------+
int start()
{
//+---------------------------------------------------------------------+  
for(
p=0;
p<History;
p++)
{
//+---------------------------------------------------------------------+  
price = Bid;
//+---------------------------------------------------------------------+  
ADX_Main    = iADX(Symbol(),0,25,0,0,p);
ADX_dD      = iADX(Symbol(),0,25,0,1,p);
ADX_DD      = iADX(Symbol(),0,25,0,2,p);
RSI         = iRSI(Symbol(),0,25,0,p);
//+---------------------------------------------------------------------+  
R_adx         = (ADX_DD - ADX_dD) * ADX_Main; 
R_time        = Seconds() * Minute() * Hour(); 
//+---------------------------------------------------------------------+  
R_adx_time    = _N_ * (R_time + R_adx); 
R_rsi_time    = _N_ * (R_time + RSI);
R_rrsi_time   = _M_ * (R_time + RSI);
//+---------------------------------------------------------------------+  
Buf_0[p] = R_adx_time;
Buf_1[p] = R_rsi_time;
Buf_2[p] = R_rrsi_time;
//+---------------------------------------------------------------------+  
return; 
}
}
//+---------------------------------------------------------------------+  
Ciao di nuovo!
Buon anno a tutti!

Un'altra voce di aiuto.
L'indicatore "H" non mostra alcuna linea.

Non riesco a capire di cosa si tratta.

Il codice per l'indicatore "H" è mostrato sopra.
 
ALXIMIKS:
Ho salvato https://forum.mql4.com/ru/59441 per leggerlo a tuo piacimento, forse lo troverai utile.

Ho già implementato il parsing stesso, perché. Sono interessato a come emulare il tick per far funzionare questo timer. Ho bisogno di tempo per riqualificarmi a mql5 che perderò e il tempo è denaro.
 
Link_x:
Ciao di nuovo!
Buon anno a tutti!

Un'altra voce di aiuto.
L'indicatore "H" non mostra alcuna linea.

Non riesco a capire di cosa si tratta.

Il codice per l'indicatore "H" è mostrato sopra.

I valori estremi stanno uscendo qualcosa come risultato del calcolo...
 
evillive:

I valori eccezionali vengono fuori qualcosa come risultato del calcolo...
L'importante è che siano visualizzati. :)

R_adx_time    = _N_ * (R_time + R_adx) / 500; 
R_rsi_time    = _N_ * (R_time + RSI) / 50 0;
R_rrsi_time   = _M_ * (R_time + RSI) / 50 0;
Fate questo e i valori limite evaporano, ma il problema rimane.