Discussione sull’articolo "Un Gestore degli Ordini Virtuale per tenere traccia degli ordini all'interno dell'ambiente MetaTrader 5 incentrato sulla posizione" - pagina 4

 

Ho utilizzato il VOM sin dalla prima stesura, ho corretto una serie di bug, soprattutto con la gestione dello stop protettivo, e ho anche modificato il codice per adeguarlo alle modifiche apportate a MT5. In allegato i file aggiornati.

Commenti molto graditi.

Paolo

File:
VOM2p0.zip  609 kb
 
phampton:

Ho utilizzato il VOM fin dalla prima stesura, ho risolto una serie di bug, soprattutto con la gestione dello stop protettivo, e ho anche modificato il codice per adeguarlo alle modifiche apportate a MT5. In allegato i file aggiornati.

La nuova versione è allegata all'articolo.
 
Paul, grazie per la nuova versione di vom. Grazie per il rapido aggiornamento e per le risposte altrettanto rapide.
 

Ho inventato una bicicletta per una settimana, ci sono riuscito abbastanza bene, e poi bang! Eccola pronta, e che bella!

Paul, grazie mille! Auguro al progetto di svilupparsi!

 
phampton:

Ho utilizzato il VOM sin dalla prima stesura, ho risolto una serie di bug, soprattutto con la gestione dello stop protettivo, e ho anche modificato il codice per adeguarlo alle modifiche apportate a MT5. In allegato i file aggiornati.

Commenti molto graditi.

Paolo

 

Questa nuova versione, inoltre, non contiene un vero e proprio file "Supporti e resistenze...", ma solo una seconda copia di un altro EA. Inoltre il "...Order Manager Tester" è in realtà intitolato "...Order Tester". Si tratta del file giusto?

Grazie!

[Eliminato]  

Ciao Paul,

Puoi aiutarmi per favore?

Sto ricevendo un errore Lots, ma come vedi sotto, il lotto è hardcoded e anche così non funziona (immagine allegata).

Puoi per favore aiutarmi se possibile?

Saluti,

MRC

      if(glOrder==-1)
        {
         mrequest.type=ORDER_TYPE_SELL;
         mrequest.price=NormalizeDouble(price_info.bid,_Digits);
         mrequest.sl=NormalizeDouble(price_info.bid+StopLoss,_Digits);
         mrequest.tp=NormalizeDouble(price_info.bid-TakeProfit,_Digits);
         mrequest.comment="SELL";

         VOM.Sell(Ativo,5.0,(int)StopLoss,(int)TakeProfit);

         if(UsaRelatorio==true) Report("B VENDA");
        }

2014.07.21 16:05:10.497 YouBotG3VOM (WINQ14,H1) CVirtualOrderManager::OrderSend error: failed to adjust position at server, returning -1

2014.07.21 16:05:10.497 YouBotG3VOM (WINQ14,H1) CVirtualOrderManager::PositionChangeSizeAtServer error: Problema con OrderSend TRADE_ACTION_DEAL, codice di ritorno Autotrading disabilitato dal terminale client. OrderCheck() ha restituito Trading da parte di Expert Advisors vietato

2014.07.21 16:05:10.495 YouBotG3VOM (WINQ14,H1) CVirtualOrderManager::PositionChangeSizeAtServer(WINQ14,5.00,ORDER_TYPE_BUY,57765)


 

"Il VOM controlla questo rischio mantenendo uno stop basato sul server a una distanza configurabile dallo stop virtuale più stretto".

All'inizio sembra corretto, ma (in alcuni casi) accade che lo stop basato sul server finisca per essere più stretto dello stop virtuale più lento.

Ciò è particolarmente vero se si diminuisce la distanza, ad esempio:

Config.ServerStopLossMargin=1;

Inoltre, sarebbe bello avere lo stesso sistema di sicurezza per mantenere i profitti, mantenendo un take profit basato sul server. Non credete?

 

Ho passato gli ultimi giorni a cercare di farlo funzionare, ma ottengo sempre lo stesso tipo di errore menzionato da Marcelo. Qualcuno sa se funziona ancora? L'errore si verifica ogni volta che cerco di aprire un trade, anche quando utilizzo gli esempi forniti con VOM. Qualcuno è in grado di aiutarmi a farlo funzionare? Qualsiasi aiuto sarebbe molto apprezzato.

2018.01.31 07:49:36.762 VirtualOrderManagerTester (AUDCAD,H1)   CVirtualOrderManager::OnTick - startup tick or first local time tick of new day
 2018.01.31 07:49:43.683 VirtualOrderManagerTester (AUDCAD,H1)   CVirtualOrderManager::PositionChangeSizeAtServer(AUDCAD,0.10,ORDER_TYPE_BUY,0.99455)
2018.01.31 07:49:43.686 VirtualOrderManagerTester (AUDCAD,H1)   CVirtualOrderManager::PositionChangeSizeAtServer error: Problem with OrderSend TRADE_ACTION_DEAL, return code Invalid request
 
kenshin71:

Ho passato gli ultimi giorni a cercare di farla funzionare, ma ricevo sempre lo stesso tipo di errore menzionato da Marcelo. Qualcuno sa se funziona ancora? L'errore si verifica ogni volta che cerco di aprire un'operazione, anche quando utilizzo gli esempi forniti con VOM. Qualcuno è in grado di aiutarmi a farla funzionare? Qualsiasi aiuto sarebbe molto apprezzato.

Questa libreria è ormai per lo più obsoleta in quanto MT5 fornisce un conto di copertura. È ancora possibile utilizzarla sul conto di compensazione, ma ne vale davvero la pena.