Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Visualizações:
1954
Avaliação:
(23)
Publicado:
2018.10.04 11:11
\MQL5\Experts\TradingBoxing\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Ao desenvolvê-lo, nós fomos inspirados pelo código TradingBoxing. No entanto, o código abaixo é baseado apenas na ideia, enquanto absolutamente toda a implementação está na MQL5 e em novas classes de negociação.

O painel de negociação possui apenas um parâmetro de entrada, magic number - o identificador exclusivo para o EA.

Aparência do painel de negociação:

TradingBoxing

Para exibir o volumes (para posições e ordens pendentes), a classe padrão Biblioteca Padrão -> Painéis e caixas de diálogo -> CSpinEdit" target="_blank">CSpinEdit foi ligeiramente modificada e salva como CSpinEditDouble. Infelizmente, não conseguimos criá-la usando herança, pois precisávamos mudar os membros da classe declarados como "privados".

Como você pode ver no nome da classe, ele foi criado para exibir os dados do tipo double. Portanto, nós adicionamos o método DisplayedDigits - define a precisão da exibição de texto no controle.

O campo de texto nesse controle também ficou editável. Por exemplo, ele pode ser útil quando você precisa inserir um preço ou um volume que difere muito do valor no campo de texto. Para o texto do campo de texto a ser salvo como um valor, o método EndEdit foi adicionado à classe CSpinEditDouble:

   int               m_digits;              // dígitos para exibição
   //---
   void              EndEdit() { Value(StringToDouble(Text())); }

public:
                     CSpinEditDouble(void);

Este método memoriza o texto digitado como um valor.


O método EndEdit é chamado da classe OnEvent CSpinEditDouble:

//+------------------------------------------------------------------+
//| Manipulador comum de eventos gráficos                            |
//+------------------------------------------------------------------+
EVENT_MAP_BEGIN(CSpinEditDouble)
  ON_EVENT(ON_CLICK,m_inc,OnClickInc)
  ON_EVENT(ON_CLICK,m_dec,OnClickDec)
  ON_EVENT(ON_END_EDIT,m_edit,EndEdit)
EVENT_MAP_END(CWndContainer)

Para que as ordens de negociação sejam processadas o mais rápido possível (mesmo em um mercado muito quieto onde os ticks são gerados em grandes intervalos), cada clique no botão do painel de negociação chamará forçadamente o manipulador interno CTradingBoxingDialog::OnTick().

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/20860

Intraday_Intensity_Index Intraday_Intensity_Index

Intraday Intensity Index.

HWC HWC

Indicador de canal HWC (Holt-Winters Channel).

Notis Notis

Oscilador Notis% V mede a volatilidade do mercado, com base na diferença entre a Máxima (High) e Mínima (Low) intradiária.

PDO PDO

Indicador PDO (Percent Difference Oscillator).