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

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
Descrizione dell'intersezione nel programma. Sembra funzionare, ma non come dovrebbe. Sto arrotondando le variabili a una cifra in modo che
catturi l'intersezione. E questo Alert() mi tamburella finché i mezzi sono nella stessa posizione. Come faccio a farlo chiamare una volta, bene fino a 5 volte.
//| Глобальные переменные |
//+------------------------------------------------------------------+
extern int Period_MA_Blue = 4; // Период 4-х расчётной синей МА (4 часа)
extern int Period_MA_Green = 13; // Период 13-ти расчётной зеленой МА (13 часов)
extern int Period_MA_Orange = 50; // Период 50-ти расчётной оранжевой МА (2 дня 2 часа)
double MA_Blue_EURUSD, MA_Green_EURUSD, MA_Orange_EURUSD;
string SMA_Blue_EURUSD,SMA_Green_EURUSD,SMA_Orange_EURUSD;
//+------------------------------------------------------------------+
//| Начало программы |
//+------------------------------------------------------------------+
int init(){return(0);}
int EURUSD()
{
if(SMA_Green_EURUSD == SMA_Orange_EURUSD && SMA_Blue_EURUSD > SMA_Orange_EURUSD)
{
// Если зеленая МА пересекает оранжевую МА и при этом синяя МА выше - сигнал к покупке.
Alert("Cигнал на ПОКУПКУ паре EURUSD");
return(11); // 11 - на первой паре сигнал на покупку.
}
if(SMA_Green_EURUSD == SMA_Orange_EURUSD && SMA_Blue_EURUSD < SMA_Orange_EURUSD)
{
// Если зеленая МА пересекает оранжевую МА и при этом синяя МА ниже - сигнал к продаже.
Alert("Cигнал на ПРОДАЖУ паре EURUSD");
return(10); // 20 - на первой паре сигнал на продажу.
}
}
int start()
{
//+------------------------------------------------------------------+
//| Блок работы с EURUSD |
//+------------------------------------------------------------------+
if(EURUSD() != 11 || EURUSD() != 10)
{
// Если функция EURUSD() не зафиксировала ни один из сигналов, обрабатываем данные дальше.
MA_Blue_EURUSD = iMA("EURUSD",PERIOD_H1,Period_MA_Blue,0,MODE_EMA,PRICE_CLOSE,0);
MA_Green_EURUSD = iMA("EURUSD",PERIOD_H1,Period_MA_Green,0,MODE_EMA,PRICE_CLOSE,0);
MA_Orange_EURUSD = iMA("EURUSD",PERIOD_H1,Period_MA_Orange,0,MODE_EMA,PRICE_CLOSE,0);
SMA_Blue_EURUSD = MA_Blue_EURUSD; // Преобразование int в string
SMA_Blue_EURUSD = StringSetChar(SMA_Blue_EURUSD, 6, ''); // Округление до х.хххх
SMA_Green_EURUSD = MA_Green_EURUSD; // Преобразование int в string
SMA_Green_EURUSD = StringSetChar(SMA_Green_EURUSD, 6, ''); // Округление до х.хххх
SMA_Orange_EURUSD = MA_Orange_EURUSD; // Преобразование int в string
SMA_Orange_EURUSD = StringSetChar(SMA_Orange_EURUSD, 6, ''); // Округление до х.хххх
}
}
int deinit(){return(0);}
Se è tutto sbagliato alla radice, suggerisci dei metodi per rintracciare l'intersezione. Grazie.
Buon pomeriggio, per favore aiutatemi, c'è un'idea semplice per implementare una chiamata Alert() quando tre MAs si intersecano.
Descrizione dell'intersezione nel programma. Sembra funzionare, ma non come dovrebbe. Sto arrotondando le variabili a una cifra per
per prendere l'incrocio. E questo Alert() mi tamburella fino a quando i mezzi sono nella stessa posizione. Come faccio a farlo chiamare una volta, bene fino a 5 volte.Se non è proprio alla radice, suggerisci dei metodi per tracciare l'intersezione. Grazie.
Un posto come questo a colpo d'occhio...
O sono stupido o c'è qualcosa di sbagliato nel terminale. Volevo ottimizzare un EA, ma non c'è una scheda "parametri di input" nelle proprietà dell'EA. Ho cercato di ottimizzare il mio EA, ma non c'è una scheda "parametri di input" nelle sue proprietà.
https://forum.mql4.com/ru/46980/page417#702426
https://www.mql5.com/ru/forum/138609/page417#702426
È possibile usare un array nei parametri di una funzione? Per esempio, voglio creare una funzione che gestisca le informazioni in un array:
È possibile usare un array nei parametri di una funzione? Per esempio, voglio creare una funzione che gestisca le informazioni in un array:
Cosa dice il tutorial qui?
"
I parametri da passare sono indicati tra parentesi dopo il nome della funzione da chiamare e sono elencati, separati da virgole. Il numero di parametri passati a una funzione non deve superare 64. La funzione può anche non utilizzare i parametri passati. In questo caso, viene indicata una lista di parametri vuota, vale a dire che le parentesi di apertura e di chiusura sono poste immediatamente dopo il nome della funzione.
Il numero, il tipo e l'ordine dei parametri passati nella chiamata di funzione devono coincidere con il numero, il tipo e l'ordine dei parametri formali, specificati nella descrizione della funzione (l'eccezione è la chiamata di una funzione, che ha parametri predefiniti - vedi Chiamata di funzione e Descrizione della funzione e operatore di ritorno). Se non c'è tale coincidenza, il MetaEditor produrrà un messaggio di errore. Costanti, variabili, espressioni e array possono essere usati come parametri passati. "
È possibile usare un array nei parametri di una funzione? Per esempio, voglio creare una funzione che gestisca le informazioni in un array:
Prova questo:
https://docs.mql4.com/ru/basis/variables/formalLo stesso vale per Close - iClose, Open - iOpen, Time - iTime Volume - iVolume ecc.
E l'indicatore può disegnare fino a 8 linee da 0 a 7 https://docs.mql4.com/ru/customind/indicatorbuffers
grazie mille :) l'indicatore non è ancora disegnato, ho avuto picchi in linee come price=iL[k]; dove iL è il mio iLow...ex Low
Comunque, ho scoperto un sacco di cose utili... ma non voglio scavare oltre...
c'è un metodo più semplice per visualizzare il ridisegno... senza un indicatore personalizzato.
Cosa dice il libro di testo qui?
"
I parametri da passare sono indicati tra parentesi dopo il nome della funzione da chiamare e sono elencati, separati da virgole. Il numero di parametri passati alla funzione non deve superare 64. La funzione può anche non utilizzare i parametri passati. In questo caso, viene indicata una lista di parametri vuota, vale a dire che le parentesi di apertura e di chiusura sono poste immediatamente dopo il nome della funzione.
Il numero, il tipo e l'ordine dei parametri passati nella chiamata di funzione devono coincidere con il numero, il tipo e l'ordine dei parametri formali, specificati nella descrizione della funzione (l'eccezione è la chiamata di una funzione, che ha parametri predefiniti - vedi Chiamata di funzione e Descrizione della funzione e operatore di ritorno). Se non c'è tale coincidenza, il MetaEditor produrrà un messaggio di errore. Costanti, variabili, espressioni e array possono essere usati come parametri passati. "