Ora non riesco a capire come implementare la selezione dei giorni di trading nei parametri esterni. In dettaglio, voglio che uno stesso Expert Advisor operi su una coppia di scambi il lunedì e non su un'altra.
Come scriverlo in "extern" e poi implementarlo in condizione (if...else)?
Ora non riesco a capire come implementare la selezione dei giorni di trading nei parametri esterni. In dettaglio, voglio che uno stesso Expert Advisor operi su una coppia di scambi il lunedì e non su un'altra.
Come scriverlo in "extern" e poi implementarlo in condizione (if...else)?
Ecco un semplice esempio che permette di fare trading solo il lunedì. Questo codice funziona in MT4 e MT5
} //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ voidOnTick() { //--- TimeToStruct(TimeCurrent(),time); if(time.day_of_week!=dayofweek)return; // выйдем из OnTick() если текущий день не равен установленному дню
// тут остальной код советника. } //+------------------------------------------------------------------+
Ora non riesco a capire come implementare la selezione dei giorni di trading nei parametri esterni. In dettaglio, voglio che uno stesso Expert Advisor faccia trading su una coppia di trade il lunedì, e non su un'altra.
Come scriverlo in "extern" e poi implementarlo in condizione (if...else)?
voidOnTick() { //--- TimeToStruct(TimeCurrent(),time); if(time.day_of_week!=dayofweek)return; // esce da OnTick() se il giorno corrente non è uguale al giorno impostato
// qui il resto del codice EA } //+------------------------------------------------------------------+
...
Grazie!
Davvero, ora dobbiamo affrontare il punto, che ogni coppia ha un numero diverso di giorni "lavorativi".
Probabilmente è necessario inserire 5 variabili:giorno della settimana1,giorno della settimana2,...?
Ma di nuovo, cosa dovrei inserire nelle restanti 2 variabili se ci sono 3 giorni di trading?
Buon pomeriggio, potreste dirmi come risolvere questo problema? C'è un codice con entrata su M15, ma il segnale da H1 è preso in considerazione. Mentre c'è un segnale su H1, su M15 l'indicatore dà diversi segnali. La questione è di limitarlo a uno (cioè il primo segnale).
MqlDateTime time; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit() { //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ voidOnTick() { //-- if(TradeAllow()) { ClosePos(); // Только закрытие } else { ClosePos(); // Закрытие OpenPos(); // Открытие Function() // Ещё что-то }
//- } //+------------------------------------------------------------------+ //| Функция закрытия | //+------------------------------------------------------------------+ void ClosePos() { // код }
//+------------------------------------------------------------------+ //| Функция открытия | //+------------------------------------------------------------------+ void OpenPos() { // код }
Ciao a tutti! Uso l'indicatore delta di clusterdelta.com nel mio trading MT4. Ho bisogno di un freelancer che possa fare in modo che quando una certa soglia nei valori dell'indicatore viene raggiunta, venga emesso un allarme o qualche altro suono. Potete dirmi chi contattare per questo problema?
Lexx1: Ciao a tutti! Uso l'indicatore delta di clusterdelta.com nel mio trading MT4. Ho bisogno di un freelancer che possa fare in modo che quando una certa soglia nei valori dell'indicatore viene raggiunta, venga emesso un allarme o qualche altro suono. Può dirmi chi contattare per questo?
C'è una barra blu in alto con molte lettere diverse. Cerca la parola "Freelance" e cliccaci sopra. Penso che tu sappia cosa fare da lì.
Ho un EA, voglio che sia in grado di scegliere in quali giorni fare trading e in quali no.
Lun - falso
Mar - vero
Cp- ...
Si prega di consigliare come implementarlo?
Ho un EA, voglio che sia in grado di scegliere in quali giorni fare trading e in quali no.
Lun - falso
Mar - vero
Cp- ...
Si prega di consigliare come implementarlo?
DayOfWeek
Restituisce il numero sequenziale del giorno della settimana dell'ultima ora conosciuta del server.
intDayOfWeek();
Valore restituito
Numero sequenziale del giorno della settimana (domenica-0,1,2,3,4,5,6).
Nota
Durante i test, viene simulato l'ultimo orario noto del server.
Esempio:
// non lavora nei fine settimana.
if(DayOfWeek()==0 ||DayOfWeek()==6)return(0);
DayOfWeek
Restituisce il numero di sequenzadel giorno della settimana dell'ultima ora conosciuta del server.
Grazie, questo ha più senso.
Ora non riesco a capire come implementare la selezione dei giorni di trading nei parametri esterni. In dettaglio, voglio che uno stesso Expert Advisor operi su una coppia di scambi il lunedì e non su un'altra.
Come scriverlo in "extern" e poi implementarlo in condizione (if...else)?
DayOfWeek
Restituisce il numero di sequenzadel giorno della settimana dell'ultima ora conosciuta del server.
Grazie, questo ha più senso.
Ora non riesco a capire come implementare la selezione dei giorni di trading nei parametri esterni. In dettaglio, voglio che uno stesso Expert Advisor operi su una coppia di scambi il lunedì e non su un'altra.
Come scriverlo in "extern" e poi implementarlo in condizione (if...else)?
Ecco un semplice esempio che permette di fare trading solo il lunedì. Questo codice funziona in MT4 e MT5
//| test08.mq4 |
//| Sergey Gritsay |
//| https://www.mql5.com/ru/users/sergey1294 |
//+------------------------------------------------------------------+
#property copyright "Sergey Gritsay"
#property link "https://www.mql5.com/ru/users/sergey1294"
#property version "1.00"
#property strict
input ENUM_DAY_OF_WEEK dayofweek=MONDAY;
MqlDateTime time;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
TimeToStruct(TimeCurrent(),time);
if(time.day_of_week!=dayofweek)return; // выйдем из OnTick() если текущий день не равен установленному дню
// тут остальной код советника.
}
//+------------------------------------------------------------------+
...
DayOfWeek
Restituisce il numero di sequenzadel giorno della settimana dell'ultima ora conosciuta del server.
Grazie, questo ha più senso.
Ora non riesco a capire come implementare la selezione dei giorni di trading nei parametri esterni. In dettaglio, voglio che uno stesso Expert Advisor faccia trading su una coppia di trade il lunedì, e non su un'altra.
Come scriverlo in "extern" e poi implementarlo in condizione (if...else)?
Utilizzare l'enumerazione ENUM_DAY_OF_WEEK
Alla fine della pagina.
void OnTick()
{
//---
TimeToStruct(TimeCurrent(),time);
if(time.day_of_week!=dayofweek)return; // esce da OnTick() se il giorno corrente non è uguale al giorno impostato
// qui il resto del codice EA
}
//+------------------------------------------------------------------+
...
Grazie!
Davvero, ora dobbiamo affrontare il punto, che ogni coppia ha un numero diverso di giorni "lavorativi".
Probabilmente è necessario inserire 5 variabili:giorno della settimana1,giorno della settimana2,...?
Ma di nuovo, cosa dovrei inserire nelle restanti 2 variabili se ci sono 3 giorni di trading?
...
Grazie!
Ora, però, dobbiamo affrontare il fatto che ogni coppia ha un numero diverso di giorni "lavorativi".
Probabilmente è necessario inserire 5 variabili:giorno della settimana1,giorno della settimana2,...?
Ma di nuovo, cosa dovrei inserire nelle restanti 2 variabili se ci sono 3 giorni di trading!
Possiamo provare a farlo in questo modo:
#property strict
//-
enum YesNo {
_no = 0, // NoTrade
_yes = 1 // Trade
};
//-
sinput YesNo day1 = _yes; // Пн
sinput YesNo day2 = _yes; // Вт
sinput YesNo day3 = _yes; // Ср
sinput YesNo day4 = _no; // Чт
sinput YesNo day5 = _yes; // Пт
MqlDateTime time;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//--
// здесь какой-то код, например закрытие
...
// проверка запрета на торговлюif(TradeAllow()) return;
// далее код
}
//+------------------------------------------------------------------+
//| Разрешение на торговлю по дням |
//+------------------------------------------------------------------+
bool TradeAllow() {
TimeToStruct(TimeCurrent(),time);
switch(time.day_of_week) {
case 1 : return(!day1);
case 2 : return(!day2);
case 3 : return(!day3);
case 4 : return(!day4);
case 5 : return(!day5);
default: return( true);
}
}
C'è un divieto di trading il giovedì
Si può fare un po' più bello, tutto dipende dal compito:
#property strict
//-
enum YesNo {
_no = 0, // No trade
_yes = 1 // Trade
};
//-
sinput YesNo day1 = _yes; // Пн
sinput YesNo day2 = _yes; // Вт
sinput YesNo day3 = _yes; // Ср
sinput YesNo day4 = _no; // Чт
sinput YesNo day5 = _yes; // Пт
MqlDateTime time;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//--
if(TradeAllow()) {
ClosePos(); // Только закрытие
} else {
ClosePos(); // Закрытие
OpenPos(); // Открытие
Function() // Ещё что-то
}
//-
}
//+------------------------------------------------------------------+
//| Функция закрытия |
//+------------------------------------------------------------------+
void ClosePos()
{
// код
}
//+------------------------------------------------------------------+
//| Функция открытия |
//+------------------------------------------------------------------+
void OpenPos()
{
// код
}
//+------------------------------------------------------------------+
//| Разрешение на торговлю по дням |
//+------------------------------------------------------------------+
bool TradeAllow() {
TimeToStruct(TimeCurrent(),time);
switch(time.day_of_week) {
case 1 : return(!day1);
case 2 : return(!day2);
case 3 : return(!day3);
case 4 : return(!day4);
case 5 : return(!day5);
default: return( true);
}
}
//+------------------------------------------------------------------+
Ciao a tutti! Uso l'indicatore delta di clusterdelta.com nel mio trading MT4. Ho bisogno di un freelancer che possa fare in modo che quando una certa soglia nei valori dell'indicatore viene raggiunta, venga emesso un allarme o qualche altro suono. Può dirmi chi contattare per questo?