Nello sviluppo di un trading system a volte è utile calcolare il margine che serve per mandare un ordine a mercato e confrontarlo con il margine che abbiamo a disposizione. Per fare ciò dobbiamo usare la funzione che ci fornisce mql5, bool  OrderCalcMargin(ENUM_ORDER_TYPE action,string symbol,double volume, double price,  double& margin)”. La funzione restituisce true in caso di successo o false in caso di errore. Dobbiamo fornire 4 parametri che sono : il tipo di ordine (Buy o Sell), il simbolo a cui vogliamo sia applicata, il volume, il prezzo dell’ ordine e una variabile in cui sarà scritto il valore del margine. Vediamo un esempio :

double margin;  //Variabile che ci restituirà il valore del margine

double Lots=0.5; //Volume

double currentBid=1.12; //Prezzo dell’ordine

if(!OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,Lots,currentBid,margin))
Print(“Margin non trovato”);

Infine confrontiamo il margine che occorre con il margine libero del nostro account ed eventualmente facciamo l’ordine

if(margin<=AccountInfoDouble(ACCOUNT_MARGIN_FREE))

//Facciamo l’ordine

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

You may also like