ATTIVARE E DISATTIVARE ESECUZIONE ORDINI SU VPS MT5

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico
Rispondi
lucini1954
Messaggi: 20
Iscritto il: 27/05/2020, 16:49

ATTIVARE E DISATTIVARE ESECUZIONE ORDINI SU VPS MT5

Messaggio da lucini1954 »

Ciao a tutti vediamo chi mi piò dare una mano per un'esigenza che potrebbe interessare molti
Uso un ottimo expert che ho trovato in M5 Market che da eccellenti risultati ma quando una tendenza è particolarmente forte e protratta nel tempo va in stop loss (rari 1/3 all'anno di media ma fortemente demoralizzanti se non altro a livello psicologico) .
Sto lavorando ad un indicatore che mi da un alert quando una tendenza si presenta eccessivamente forte e vorrei usare questo alert per interdire l'esecuzione dell'ordine da parte della VPS ossia vorrei inibire il funzionamento della VPS per un certo intervallo di tempo al sopraggiungere della notifica da parte dell'indicatore di tendenza.
Che ne dite?
Ciao a tutti e se posso contraccambiare non ho difficoltà a darvi indicazioni sull'ottimo expert che merita di essere conosciuto
Semporasere
Messaggi: 20
Iscritto il: 19/02/2021, 15:00

Re: ATTIVARE E DISATTIVARE ESECUZIONE ORDINI SU VPS MT5

Messaggio da Semporasere »

Non sono pratico di VPS ma un' opzione alternativa potrebbe essere quella d' inserire nell'indicatore il codice per simulare la pressione dei tasti Ctrl+E (Attiva/Disattiva AutoTrading).
Per esempio:

Codice: Seleziona tutto

#property copyright ""
#property link      ""
#property version   ""
#property strict

//--- "Allow DLL imports" deve essere selezionato
#import "user32.dll" 
    void keybd_event(int bVk, int bScan, int dwFlags,int dwExtraInfo);
#import

bool SwEA; 
...
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit(){

   // verifica abilitazione/disabilitazione AutoTrading
   SwEA= IsExpertEnabled();
   
...
   return(INIT_SUCCEEDED);	
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
...
   // tendenza forte, se il tradin automatico é abilitato lo disabilita
   if(Tendenza() > 10){ 
      if(SwEA){ AbDsEA(); SwEA= false;}
   }else
   // tendenza normale, se il trading automatico é disabilitato lo abilita 
   if(!SwEA) AbDsEA();
	
...
   return(rates_total);
}

//+------------------------------------------------------------------+
//|  Abilita/Disabilita EA                                                            
//+------------------------------------------------------------------+
void AbDsEA(){
   keybd_event(0xA2, 0, 0, 0);      // press left CTRL
   keybd_event(0x45, 0, 0, 0);      // press E
   keybd_event(0xA2, 0, 0x0003, 0); // release left CTRL
   keybd_event(0x45, 0, 0x0003, 0); // release E
}
Saluti
Semporasere
Messaggi: 20
Iscritto il: 19/02/2021, 15:00

Re: ATTIVARE E DISATTIVARE ESECUZIONE ORDINI SU VPS MT5

Messaggio da Semporasere »

Ops, un'omissione nel copia/incolla:

Codice: Seleziona tutto

// tendenza normale, se il trading automatico é disabilitato lo abilita 
   if(!SwEA){ AbDsEA(); SwEA= true;}
Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti