Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 114
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
R Quali oggetti non sono diversi? e cosa significa cambiare il tipo di oggetto, le proprietà crolleranno?
Questo significa che se sostituisco l'oggetto linea orizzontale con una linea di tendenza o una linea verticale sulla candela corrente nel mio codice attuale, un oggetto funzionerà ancora e sarà rosso indipendentemente dai parametri dell'altro oggetto.
Lo scopo di tutte queste manipolazioni è di combinare l'indicatore e l'EA, ora sto cercando di trovare l'errore stesso.
cioè crea movimenti e cancella abbastanza normalmente, ma ho bisogno del blu quando compro, non del rosso quando vendo comunque.Saluti. Puoi dirmi qual è la voce della parentesi () dopo "double bb" e qual è la voce della parentesi {} per"double bb(int buff,int shift)" in questo caso?
Anche qui. Buy e Sell hanno il tipo bool. Come posso capire cosa viene assegnato loro quando si usa "< , &&, >"? ?
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
Saluti. Puoi dirmi qual è la voce della parentesi () dopo "double bb" e qual è la voce della parentesi {} per"double bb(int buff,int shift)" in questo caso?
Anche qui. Buy e Sell hanno il tipo bool. Come posso capire cosa viene assegnato loro quando si usa "< , &&, >"? ?
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
2) Le variabili booleane sono assegnate con il risultato dell'intera espressione logica, seguendo il segno di assegnazione (=). Se tutte le condizioni sono vere, alla variabile viene assegnato true, altrimenti - false
Questo significa che se sostituisco l'oggetto linea orizzontale con una linea di tendenza o una linea verticale sulla candela corrente nel mio codice attuale, un oggetto funzionerà ancora e sarà rosso indipendentemente dai parametri dell'altro oggetto.
Lo scopo di tutte queste manipolazioni è quello di combinare l'indicatore e l'EA, ora sto cercando di trovare l'errore stesso a causa di ciò che accade.
cioè si muove e cancella abbastanza normalmente, ma ho bisogno del blu quando compro, non del rosso quando vendo in qualsiasi modo.Quindi stai di nuovo impostando male i parametri dell'oggetto grafico.
molto probabilmente.
Sembra seguire i tutorial, ma il risultato non è lo stesso, ecco perché ho buttato qui il codice.
Non riesco a capire perché c'è una variabile globale Client Terminal nel terminale se non l'ho creata io(GlobalVariablesTotal() mostra "1"). Forse c'è qualche preimpostazione del terminale? Allora perché quando voglio sapere il suo nome e chiamo la funzione GlobalVariableName(0) o GlobalVariableName(1), non viene mostrato alcun nome. Per favore, ditemi quale potrebbe essere il problema?
Saluti. Ho bisogno di ottenere i dati sulla linea rossa dell'indicatore che non è sovrapposta al grafico del prezzo ma è visualizzata separatamente sotto di esso. Sto cercando di fare come con gli indicatori che si sovrappongono al grafico, ma qualcosa non va. Dove mi sbaglio?
Ecco l'indicatore stesso
#property link "yuriytokman@gmail.com"
//ну если проще запулить в одно окно три мульти с настройками
//1 EUR-USD
//2 EURGBP
//3 EURJPY
//если все три в состоянии перекупленности значит Бай и наоборот
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 Yellow
#property indicator_level1 0
#property indicator_level2 5
#property indicator_level3 -5
extern string Symbol_1 = "EURUSD";
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
double buf[];
double MA_buf[];
double buf2[];
double MA_buf2[];
double buf3[];
double MA_buf3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(0, buf);
SetIndexStyle(4,DRAW_NONE);
SetIndexBuffer(4,MA_buf);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(1, buf2);
SetIndexStyle(3,DRAW_NONE);
SetIndexBuffer(3,MA_buf2);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(2, buf3);
SetIndexStyle(5,DRAW_NONE);
SetIndexBuffer(5,MA_buf3);
IndicatorShortName("ytg_Def_RSI_3_Symbol");
Comment("yuriytokman@gmail.com");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment("");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
double RSI_1, RSI_2, RSI_12, RSI_22, RSI_13, RSI_23;
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(int i=limit; i>=0; i--)
{
RSI_1 = iRSI(Symbol_1,0,RSI_1_Period,applied_price,i);
RSI_2 = iRSI(Symbol_1,0,RSI_2_Period,applied_price,i);
MA_buf[i] = (RSI_1-RSI_2);
RSI_12 = iRSI(Symbol_2,0,RSI_1_Period,applied_price,i);
RSI_22 = iRSI(Symbol_2,0,RSI_2_Period,applied_price,i);
MA_buf2[i] = (RSI_12-RSI_22);
RSI_13 = iRSI(Symbol_3,0,RSI_1_Period,applied_price,i);
RSI_23 = iRSI(Symbol_3,0,RSI_2_Period,applied_price,i);
MA_buf3[i] = (RSI_13-RSI_23);
}
for(i=limit; i>=0; i--)
{
buf[i] = iMAOnArray(MA_buf,0,ma_period,0,ma_method,i);
buf2[i] = iMAOnArray(MA_buf2,0,ma_period,0,ma_method,i);
buf3[i] = iMAOnArray(MA_buf3,0,ma_period,0,ma_method,i);
}
//----
return(0);
}
Saluti. Ho bisogno di ottenere i dati sulla linea rossa dell'indicatore che non è sovrapposta al grafico del prezzo ma è visualizzata separatamente sotto di esso. Sto cercando di fare come con gli indicatori che si sovrappongono al grafico, ma qualcosa non va. Dove mi sbaglio?
Ecco l'indicatore stesso
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
Si apre la finestra dei parametri di input e li si elenca iniCustom in ordine.
Ti mancano i valori delle prime tre linee: