Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 417

 
Saudações estimada comunidade!
Aconselha-se, é possível guardar uma série de objectos de classe num ficheiro? Ou será que precisam de ser convertidas num conjunto de estruturas para as guardar num ficheiro?
 
BlackTomcat:
Saudações estimada comunidade!
Aconselha-se, é possível guardar uma série de objectos de classe num ficheiro? Ou, para os guardar num ficheiro, devem ser convertidos num conjunto de estruturas?
É possível.
 
Dmitriy Skub:
Talvez.
Obrigado, vou tentar. Se não funcionar, voltarei com outra pergunta. :) Se bem entendi, então toda a informação sobre os métodos de aula é cortada?
 
Alexey Volchanskiy:
Não existe um indicador Fibonacci que comece por "i", está escondido nos objectos gráficos. E_Ghazaryan, veja a Ajuda neste caminho, há um exemplo em MQL4 Reference / Standard Constants, enumerations and structures / Object constant / Object constant / Object types / OBJ_FIBO
Obrigado, vou tentar utilizá-lo.
 
BlackTomcat:
Se bem entendi, toda a informação sobre os métodos de aula é despojada?
Sim, apenas os dados são retidos durante a serialização.
 

A ajuda é silenciosa, no website dizem que é a data de expiração nos bares. Procurei de 1 a 100 e o pendente não expira por si só.

Nunca trabalhei com encomendas pendentes. (Nunca trabalhei com encomendas pendentes antes no meu EA)

 
Leanid Aladzyeu:

A ajuda é silenciosa, no website dizem que é a data de expiração nos bares. Procurei de 1 a 100 e o pendente não expira por si só.

Nunca trabalhei com encomendas pendentes. (Nunca trabalhei com encomendas pendentes antes no meu EA)

Talvez seja um carimbo de data/hora.
 
Leanid Aladzyeu:

A ajuda é silenciosa, no website dizem que é a data de expiração nos bares. Já tentei tudo de 1 a 100, o pendente não expira por si só.

Nunca trabalhei com encomendas pendentes. (Nunca trabalhei com encomendas pendentes antes no meu EA)

Porquê ler tais disparates? Basta tentar colocar manualmente uma encomenda pendente e definir um prazo de validade para a mesma.


Verá imediatamente que não define o tempo em relação a algo, em barras, minutos ou segundos; define um tempo específico para remover a ordem pendente. A única observação é que o tempo de expiração não pode estar mais próximo do que dez minutos do tempo de abertura da encomenda. A perda de tempo na abertura da ordem deve ser tida em consideração.

 
Alexey Viktorov:

Porquê ler tais disparates? Basta tentar colocar manualmente uma encomenda pendente e definir um prazo de validade.

...

Não se deve ser tão imprudente. A questão é que quando uma EA é gerada utilizando o MQL5 Wizard, existe um parâmetro de expiração e este é efectivamente medido em barras:

//+------------------------------------------------------------------+
//|                                                         тест.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Include                                                          |
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//--- available signals
#include <Expert\Signal\SignalAC.mqh>
//--- available trailing
#include <Expert\Trailing\TrailingNone.mqh>
//--- available money management
#include <Expert\Money\MoneyFixedLot.mqh>
//+------------------------------------------------------------------+
//| Inputs                                                           |
//+------------------------------------------------------------------+
//--- inputs for expert
input string Expert_Title         ="тест"; // Document name
ulong        Expert_MagicNumber   =31146;  // 
bool         Expert_EveryTick     =false;  // 
//--- inputs for main signal
input int    Signal_ThresholdOpen =10;     // Signal threshold value to open [0...100]
input int    Signal_ThresholdClose=10;     // Signal threshold value to close [0...100]
input double Signal_PriceLevel    =0.0;    // Price level to execute a deal
input double Signal_StopLevel     =50.0;   // Stop Loss level (in points)
input double Signal_TakeLevel     =50.0;   // Take Profit level (in points)
input int    Signal_Expiration    =4;      // Expiration of pending orders (in bars)
input double Signal_AC_Weight     =1.0;    // Accelerator Oscillator Weight [0...1.0]
//--- inputs for money
input double Money_FixLot_Percent =10.0;   // Percent
input double Money_FixLot_Lots    =0.1;    // Fixed volume
//+------------------------------------------------------------------+
//| Global expert object                                             |
//+------------------------------------------------------------------+


O significado físico da expiração do sinal em barras: se o sinal (ordem pendente) não disparar dentro de um número especificado de barras, esta ordem será eliminada.

 
Karputov Vladimir:

Não se deve ser tão imprudente. O problema é que ao gerar uma EA usando o MQL5 Wizard, existe um parâmetro de expiração, e este é efectivamente medido em barras:


O significado físico de expiração em barras: se o sinal (ordem pendente) não disparar dentro de um determinado número de barras, esta ordem será eliminada.

O número de barras deve ser convertido em tempo e passado para a função aberta.
Razão: