Erros, bugs, perguntas - página 809

 

Voltando à questão da determinação de stoplosses e takeprofits no evento da OnTradeTransaction. Tenho o seguinte registo de saída de todos os campos das estruturas (retirado de MetaQuotes exemplo), e isto já não é um testador mas sim um concurso online. Aqui temos uma compra:

ON 0 transacções (EURUSD,H1) 11:14:23 OrderSendWrapper:0.10 EURUSD BUY JK 0 transacções (EURUSD,H1) 11:14:23 _OrderSend price=1.23575 vol=0.10 Transacções GM 0 (EURUSD,H1) 11:14:24 TRADE_TRANSACTION_REQUEST OH 0 transactions (EURUSD,H1) 11:14:24 ------------RequestDescrição PK 0 transactions (EURUSD,H1) 11:14:24 TRADE_ACTION_DEAL DJ 0 transactions (EURUSD,H1) 11:14:24 Símbolo: EURUSD FN 0 transactions (EURUSD,H1) 11:14:24 Número Mágico: 0 transacções PD 0 (EURUSD,H1) 11:14:24 Encomendar bilhete: 11670896 PL 0 transacções (EURUSD,H1) 11:14:24 Tipo de encomenda: ORDER_TYPE_BUY JF 0 transacções (EURUSD,H1) 11:14:24 Preenchimento de encomenda: ORDER_FILLING_FOK FM 0 transacções (EURUSD,H1) 11:14:24 Tipo de tempo de encomenda: ORDER_TIME_GTC NG 0 transacções (EURUSD,H1) 11:14:24 Expiração da encomenda: 1970.01.01 00:00:00 HI 0 transacções (EURUSD,H1) 11:14:24 Preço: 1.23579 EG 0 transacções (EURUSD,H1) 11:14:24 Pontos de desvio: 10 DR 0 transacções (EURUSD,H1) 11:14:24 Stop Loss: 1.2354 PJ 0 transacções (EURUSD,H1) 11:14:24 Take Profit: 1,2361 ON 0 transacções (EURUSD,H1) 11:14:24 Stop Limit: 0 MK 0 transacções (EURUSD,H1) 11:14:24 Volume: 0.1 IQ 0 transacções (EURUSD,H1) 11:14:24 Comentário: FG 0 transacções (EURUSD,H1) 11:14:24 MF 0 transacções (EURUSD,H1) 11:14:24 ------------ResultadoDescrição JL 0 transacções (EURUSD,H1) 11:14:24 Retcode 10009 ME 0 transacções (EURUSD,H1) 11:14:24 Pedido ID: 1 RL 0 transacções (EURUSD,H1) 11:14:24 Pedido ticket: 11670896 NK 0 transacções (EURUSD,H1) 11:14:24 Pedido ticket: 10809619 QS 0 transacções (EURUSD,H1) 11:14:24 Volume: 0.1 LJ 0 transacções (EURUSD,H1) 11:14:24 Preço: 1.23579 RR 0 transacções (EURUSD,H1) 11:14:24 Perguntar: 1.23579 PI 0 transacções (EURUSD,H1) 11:14:24 Oferta: 1.23566 transacções GE 0 (EURUSD,H1) 11:14:24 Comentário: Transacções DS 0 (EURUSD,H1) 11:14:24 Transacções GE 0 (EURUSD,H1) 11:14:24 Bilhete de encomenda pendente 11670896 LR 0 transacções (EURUSD,H1) 1114:24 Transacções LG 0 (EURUSD,H1) 11:14:24 ------------TransactionDescription FQ 0 transactions (EURUSD,H1) 11:14:24 TRADE_TRANSACTION_ORDER_ADD HF 0 transactions (EURUSD,H1) 11:14:24 Símbolo: Transacções EURUSD HM 0 (EURUSD,H1) 11:14:24 Bilhete de compra: 0 DK 0 transacções (EURUSD,H1) 11:14:24 Tipo de transacção: DEAL_TYPE_BUY DQ 0 transacções (EURUSD,H1) 11:14:24 Bilhete de compra: 11670896 DI 0 transacções (EURUSD,H1) 11:14:2424 Tipo de encomenda: ORDER_TYPE_BUY CR 0 transacções (EURUSD,H1) 11:14:24 Estado da encomenda: ORDER_STATE_STARTED RI 0 transacções (EURUSD,H1) 11:14:24 Tipo de tempo de encomenda: ORDER_TIME_GTC JS 0 transacções (EURUSD,H1) 11:14:24 Expiração da encomenda: 1970.01.01 00:00 DE 0 transacções (EURUSD,H1) 11:14:24 Preço: 1.23579 QN 0 transacções (EURUSD,H1) 11:14:24 Preço: 0 PG 0 transacções (EURUSD,H1) 11:14:24 Stop Loss: 1.2354 LM 0 transacções (EURUSD,H1) 11:14:24 Take Profit: 1.2361 EF 0 transacções (EURUSD,H1) 11:14:24 Volume: 0.1 transacções JI 0 (EURUSD,H1) 11:14:24 NS 0 transacções (EURUSD,H1) 11:14:24 ------------TransactionDescription HH 0 transacções (EURUSD,H1) 11:14:24 TRADE_TRANSACTION_ORDER_DELETE DR 0 transacções (EURUSD,H1) 11:14:24 Símbolo: EURUSD LJ 0 transacções (EURUSD,H1) 11:14:24 Bilhete de transacções: 0 PN 0 transacções (EURUSD,H1) 11:14:24 Tipo de transacção: DEAL_TYPE_BUY PD 0 transacções (EURUSD,H1) 11:14:24 Encomendar bilhete: 11670896 PL 0 transacções (EURUSD,H1) 11:14:24 Tipo de encomenda: ORDER_TYPE_BUY NJ 0 transacções (EURUSD,H1) 11:11:14:24 Estado da encomenda: ORDER_STATE_FILLED PM 0 transactions (EURUSD,H1) 11:14:24 Tipo de tempo de encomenda: ORDER_TIME_GTC HG 0 transactions (EURUSD,H1) 11:14:24 Expiração da encomenda: 1970.01.01 00:00 Transacções JI 0 (EURUSD,H1) 11:14:24 Preço: 1.23579 Transacções OJ 0 (EURUSD,H1) 11:14:24 Preço: 0 NS 0 transacções (EURUSD,H1) 11:14:24 Stop Loss: 1.2354 JJ 0 transacções (EURUSD,H1) 11:14:24 Take Profit: 1.2361 transacções FS 0 (EURUSD,H1) 11:14:24 Volume: 0 HE 0 transacções (EURUSD,H1) 11:14:24 HN 0 transacções (EURUSD,H1) 11:14:24 ------------TransactionDescription FI 0 transacções (EURUSD,H1) 11:14:24 TRADE_TRANSACTION_HISTORY_ADD HN 0 transacções (EURUSD,H1) 11:14:24 Símbolo: EURUSD HE 0 transacções (EURUSD,H1) 11:14:24 Bilhete de transacções: 0 DS 0 transacções (EURUSD,H1) 11:11:14:24 Tipo de transacção: Transacções DEAL_TYPE_BUY DI 0 (EURUSD,H1) 11:14:24 Título de encomenda: 11670896 DQ 0 transacções (EURUSD,H1) 11:14:24 Tipo de encomenda: Transacções ORDER_TYPE_BUY RF 0 (EURUSD,H1) 1114:24 Estado da encomenda: ORDER_STATE_FILLED LQ 0 transacções (EURUSD,H1) 11:14:24 Tipo de tempo de encomenda: ORDER_TIME_GTC DK 0 transacções (EURUSD,H1) 11:14:24 Expiração da encomenda: 1970.01.01 00:00 FM 0 transacções (EURUSD,H1) 11:14:24 Preço: 1.23579 CF 0 transacções (EURUSD,H1) 11:14:24 Preço: 0 RO 0 transacções (EURUSD,H1) 11:14:24 Stop Loss: 1.2354 NE 0 transacções (EURUSD,H1) 11:14:24 Take Profit: 1.2361 transacções RO 0 (EURUSD,H1) 11:14:24 Volume: 0 transacções DQ 0 (EURUSD,H1) 11:14:24 DJ 0 transacções (EURUSD,H1) 11:14:24 ------------TransactionDescription LQ 0 transacções (EURUSD,H1) 11:14:24 TRADE_TRANSACTION_DEAL_ADD FK 0 transacções (EURUSD,H1) 11:14:24 Símbolo: EURUSD DR 0 transacções (EURUSD,H1) 11:14:24 Bilhete de transacções: 10809619 PF 0 transacções (EURUSD,H1) 11:14:24 Tipo de transacção: Transacções DEAL_TYPE_BUY PL 0 (EURUSD,H1) 11:14:24 Título de encomenda: 11670896 PD 0 transacções (EURUSD,H1) 11:14:24 Tipo de encomenda: Transacções ORDER_TYPE_BUY GN 0 (EURUSD,H1) 11:11:14:24 Estado da encomenda: ORDER_STATE_STARTED FE 0 transactions (EURUSD,H1) 11:14:24 Tipo de tempo de encomenda: ORDER_TIME_GTC NO 0 transactions (EURUSD,H1) 11:14:24 Expiração da encomenda: 1970.01.01 00:00:00 Transacções HQ 0 (EURUSD,H1) 11:14:24 Preço: 1.23579 MR 0 transacções (EURUSD,H1) 11:14:24 Preço: 0 transacções LK 0 (EURUSD,H1) 11:14:24 Stop Loss: 1.2354 HR 0 transacções (EURUSD,H1) 11:14:24 Take Profit: 1.2361 QJ 0 transacções (EURUSD,H1) 11:14:24 Volume: 0.1 NR 0 transacções (EURUSD,H1) 11:14:24

E aqui fecha com Take Profit:

DJ 0 transacções (EURUSD,H1) 11:20:38 ------------TransactionDescription JN 0 transacções (EURUSD,H1) 11:20:38 TRADE_TRANSACTION_ORDER_ADD DH 0 transacções (EURUSD,H1) 11:20:38 Símbolo: EURUSD PP 0 transacções (EURUSD,H1) 11:20:38 Bilhete de transacções: 0 transacções PH 0 (EURUSD,H1) 11:20:38 Tipo de transacção: DEAL_TYPE_BUY LR 0 transacções (EURUSD,H1)20:38 Título de encomenda: 11670968 HG 0 transacções (EURUSD,H1) 11:20:38 Tipo de encomenda: ORDER_TYPE_SELLL MO 0 transacções (EURUSD,H1) 11:20:38 Estado da encomenda: ORDER_STATE_STARTED HF 0 transacções (EURUSD,H1) 11:20:38 Tipo de tempo de encomenda: ORDER_TIME_GTC PN 0 transacções (EURUSD,H1) 11:20:38 Expiração da encomenda: 1970.01.01 00:00:00 JE 0 transacções (EURUSD,H1) 11:20:38 Preço: 1.2361 Transacções MS 0 (EURUSD,H1) 11:20:38 Interruptor de preço: 0 MJ 0 transacções (EURUSD,H1) 11:20:38 Stop Loss: 0 IR 0 transacções (EURUSD,H1) 11:20:38 Take Profit: 0 QD 0 transacções (EURUSD,H1) 11:20:38 Volume: 0.1 NÃO 0 transacções (EURUSD,H1) 11:20:38 NP 0 transacções (EURUSD,H1) 11:20:38 ------------TransactionDescription LN 0 transacções (EURUSD,H1) 11:20:38 TRADE_TRANSACTION_ORDER_DELETE DE 0 transacções (EURUSD,H1) 11:20:38 Símbolo: EURUSD PK 0 transacções (EURUSD,H1) 11:20:38 Bilhete de transacções: 0 PM 0 transacções (EURUSD,H1) 11:20:38 Tipo de transacção: DEAL_TYPE_BUY LG 0 transacções (EURUSD,H1) 11:20:38 Título de encomenda: 11670968 HR 0 transacções (EURUSD,H1) 11:20:38 Tipo de encomenda: ORDER_TYPE_SELLL HH 0 transacções (EURUSD,H1) 11:20:38 Estado da encomenda: ORDER_STATE_FILLED FK 0 transactions (EURUSD,H1) 11:20:38 Tipo de tempo de encomenda: ORDER_TIME_GTC NQ 0 transactions (EURUSD,H1) 11:20:38 Expiração da encomenda: 1970.01.01 00:00:00 HH 0 transacções (EURUSD,H1) 11:20:38 Preço: 1.2361 KL 0 transacções (EURUSD,H1) 11:20:38 Interruptor de preço: 0 GG 0 transacções (EURUSD,H1) 11:20:38 Stop Loss: 0 GI 0 transacções (EURUSD,H1) 11:20:38 Take Profit: 0 RS 0 transacções (EURUSD,H1) 11:20:38 Volume: 0 DJ 0 transacções (EURUSD,H1) 11:20:38 HO 0 transacções (EURUSD,H1) 11:20:38 ------------TransactionDescription JI 0 transacções (EURUSD,H1) 11:20:38 TRADE_TRANSACTION_HISTORY_ADD LN 0 transacções (EURUSD,H1) 11:20:38 Símbolo: Transacções EURUSD HF 0 (EURUSD,H1) 11:20:38 Bilhete de compra: 0 transacções HR 0 (EURUSD,H1) 11:20:38 Tipo de transacção: transacções DEAL_TYPE_BUY DH 0 (EURUSD,H1) 11:20:38 Bilhete de compra: 11670968 PM 0 transacções (EURUSD,H1) 11:20:3838 Tipo de ordem: ORDER_TYPE_SELL PF 0 transactions (EURUSD,H1) 11:20:38 Estado da ordem: ORDER_STATE_FILLED NQ 0 transactions (EURUSD,H1) 11:20:38 Tipo de tempo de ordem: ORDER_TIME_GTC FK 0 transactions (EURUSD,H1) 11:20:38 Expiração da ordem: 1970.01.01 00:00 PO 0 transacções (EURUSD,H1) 11:20:38 Preço: 1.2361 Transacções CF 0 (EURUSD,H1) 11:20:38 Gatilho de preço: 0 OM 0 transacções (EURUSD,H1) 11:20:38 Stop Loss: 0 OG 0 transacções (EURUSD,H1) 11:20:38 Take Profit: 0 JN 0 transacções (EURUSD,H1) 11:20:38 Volume: 0 transacções LP 0 (EURUSD,H1) 11:20:38 PE 0 transacções (EURUSD,H1) 11:20:38 ------------TransactionDescription MR 0 transacções (EURUSD,H1) 11:20:38 TRADE_TRANSACTION_POSITION JH 0 transacções (EURUSD,H1) 11:20:38 Símbolo: Transacções EURUSD JP 0 (EURUSD,H1) 11:20:38 Bilhete de compra: 0 transacções FH 0 (EURUSD,H1) 11:20:38 Tipo de transacção: DEAL_TYPE_BUY HQ 0 transacções (EURUSD,H1) 11:20:38 Bilhete de compra: 0 DK 0 transacções (EURUSD,H1) 11:20:38 Tipo de encomenda: ORDER_TYPE_BUY GQ 0 transacções (EURUSD,H1) 11:20:38 Estado da encomenda: ORDER_STATE_STARTED RH 0 transacções (EURUSD,H1) 11:20:38 Tipo de tempo de encomenda: ORDER_TIME_GTC JL 0 transacções (EURUSD,H1) 11:20:38 Expiração da encomenda: 1970.01.01 00:00:00 HG 0 transacções (EURUSD,H1) 11:20:38 Preço: 1.23579 QP 0 transacções (EURUSD,H1) 11:20:38 Preço: 0 LI 0 transacções (EURUSD,H1) 11:20:38 Stop Loss: 1.2354 transacções HO 0 (EURUSD,H1) 11:20:38 Take Profit: 1,2361 transacções QD 0 (EURUSD,H1) 11:20:38 Volume: 0.1 NÃO 0 transacções (EURUSD,H1) 11:20:38 NP 0 transacções (EURUSD,H1) 11:20:38 ------------TransactionDescription FO 0 transacções (EURUSD,H1) 11:20:38 TRADE_TRANSACTION_DEAL_ADD LE 0 transacções (EURUSD,H1) 11:20:38 Símbolo: Transacções EURUSD EH 0 (EURUSD,H1) 11:20:38 Bilhete de negócio: 10809689 RQ 0 transacções (EURUSD,H1) 11:20:38 Tipo de negócio: DEAL_TYPE_SELL DF 0 transacções (EURUSD,H1) 11:20:38 Título de encomenda: 11670968 HN 0 transacções (EURUSD,H1) 11:20:38 Tipo de encomenda: ORDER_TYPE_BUY CD 0 transacções (EURUSD,H1) 11:20:38 Estado da encomenda: ORDER_STATE_STARTED NK 0 transactions (EURUSD,H1) 11:20:38 Tipo de tempo de encomenda: ORDER_TIME_GTC FQ 0 transactions (EURUSD,H1) 11:20:38 Expiração da encomenda: 1970.01.01 00:00:00 PI 0 transacções (EURUSD,H1) 11:20:38 Preço: 1.2361 CL 0 transacções (EURUSD,H1) 11:20:38 Gatilho de preço: 0 OG 0 transacções (EURUSD,H1) 11:20:38 Stop Loss: 0 OI 0 transacções (EURUSD,H1) 11:20:38 Take Profit: 0 KQ 0 transacções (EURUSD,H1) 11:20:38 Volume: 0.1

A única coisa que une estas transacções é o preço(preço fechado é igual ao preço TP). Pergunta - é essa a forma de determinar o facto de TP? Imho, inconveniente e ambíguo (se bem me lembro, o preço exacto do TP pode não acontecer e o TP será fechado ao outro preço mais próximo).

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 

Boa tarde! Peço desculpa antecipadamente, talvez esteja a ser obtuso, ou não compreendo algumas coisas óbvias. Estou a tentar usar o indicador iMA, tentando escrever de acordo com exemplos que li.

Em geral, tento fazê-lo desta forma. Declaro no topo, acima de todas as funções da EA.

double      MA[];                // массив для индикатора iMA
//---- handles for indicators
int         MA_handle;           // указатель на индикатор iMA

Depois utilizo uma função que irá funcionar na função OnTick(). Na amostra, a própria função está no fundo. De facto, por agora, vou utilizar apenas o último valor zero da matriz.

 if (EURNZD_d1 != 0.0) countq++;
      EURUSD_d1 = CalculateStrengthPairsTF("EURUSD"+dop_symb, PERIOD_D1);
      if (EURUSD_d1 != 0.0) countq++;
      EURCAD_d1 = CalculateStrengthPairsTF("EURCAD"+dop_symb, PERIOD_D1);
      if (EURCAD_d1 != 0.0) countq++;
      EURGBP_d1 = CalculateStrengthPairsTF("EURGBP"+dop_symb, PERIOD_D1);
      if (EURGBP_d1 != 0.0) countq++;
      EURAUD_d1 = CalculateStrengthPairsTF("EURAUD"+dop_symb, PERIOD_D1);
      if (EURAUD_d1 != 0.0) countq++;
      EURCHF_d1 = CalculateStrengthPairsTF("EURCHF"+dop_symb, PERIOD_D1);
      if (EURCHF_d1 != 0.0) countq++;
      if (countq != 0) D1_eur = NormalizeDouble((EURJPY_d1 + EURNZD_d1 + EURUSD_d1 + EURCAD_d1 + EURGBP_d1 + EURAUD_d1 + EURCHF_d1) / countq, 0);
   }
   int l_count_4 = 0;
   AVG_eur = 0;
   if (M1_eur != 0.0) l_count_4++;
   if (M5_eur != 0.0) l_count_4++;
   if (M15_eur != 0.0) l_count_4++;
   if (M30_eur != 0.0) l_count_4++;
   if (H1_eur != 0.0) l_count_4++;
   if (H4_eur != 0.0) l_count_4++;
   if (D1_eur != 0.0) l_count_4++;
   if (l_count_4 != 0) AVG_eur = (M1_eur + M5_eur + M15_eur + M30_eur + H1_eur + H4_eur + D1_eur) / l_count_4;
}

double CalculateStrengthPairsTF(string a_symbol, int a_timeframe) {
    int DIGITS_ = SymbolInfoInteger(a_symbol,SYMBOL_DIGITS);
   //---
    MqlTick last_tick;
   if(SymbolInfoTick(a_symbol,last_tick));
   double BID_ = last_tick.bid;
   BID_ = NormalizeDouble( BID_, DIGITS_);
    MA_handle=iMA(a_symbol,a_timeframe,Period_,0,method_ma,price_applied);
    //--- заполнение массива MA[] текущими значениями индикатора iMA
   //--- в массив будет записано 100 элементов
   CopyBuffer(MA_handle,0,0,100,MA);
   //--- задаём порядок индексации массива MA[] как в MQL4
   ArraySetAsSeries(MA,true);  
   double iMA_ = NormalizeDouble(MA[0], DIGITS_);

Só utilizarei o último valor zero.

Erro 'a_timeframe' - não pode converter enum Owl.mq5 2009 28

Em relação a esta variável imino, está na instrução de tipo string, vê-se que ela própria brilha a azul...

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Dimka-novitsek:

Escreve erro 'a_timeframe' - não pode converter enum Owl.mq5 2009 28

Oblige it with type ENUM_TIMEFRAMES
 

Obrigado!!! É o mesmo que duplo, cordel ou int? Não compreendo, desculpe, onde ponho este tipo?

Muito bem, obrigado!

 
Valmars:
Isto é puramente um bug de teste. O campo Trans.price_tp em caso de TRADE_TRANSACTION_DEAL_ADD pode conter 0 ou qualquer porcaria. O comércio em linha produz tudo correctamente.
Obrigado. Fixo. Uma correcção estará disponível na próxima construção.
 
//+------------------------------------------------------------------+
//| cs2011.mq5 |
//| Copyright © 2011, Xupypr |
//+------------------------------------------------------------------+
#direitos de autor "Copyright © 2011, Xupypr"
#propriedade versão "1.1"
//+-----------------------------------+
risco duplo de entrada=3; // lote inicial
input int TP=2200;
input int SL=0;
input int Fast=30;
input int Slow=500;
input int Sign=36;
//+-----------------------------------+
int Money, Deposit=5000;
int MACD;
//+-----------------------------------+
nulo OnInit()
{
MACD=iMACD(NULL,0,Fast,Slow,Sign,PRICE_CLOSE);
}
//+-----------------------------------+
nulo OnTick()
{
bool UpSignal,DnSignal,DnSignal;
if(TradeSignalCounter(UpSignal,DnSignal)) TradePerformer(UpSignal,DnSignal);
}
//+-----------------------------------+
bool TradeSignalCounter(bool &UpSignal,bool &DnSignal)
{
if(Bars(_Symbol,0)<100) return(false);
estática int recontagem;
if(IsNewBar() || Recount)
{
duplo Ind[2],Sig[3];
DnSignal=falso;
UpSignal=falso;
Recontagem=falso;
if(CopyBuffer(MACD,0,1,2,Ind)<0) Recount=true;
if(CopyBuffer(MACD,1,1,1,3,Sig)<0) Recount=true;
if(Recount===verdadeiro) return(false);
if(Ind[0]>0 && Ind[1]<0) DnSignal=verdadeiro;
if(Ind[0]<0 && Ind[1]>0) UpSignal=true;
if(Ind[1]<0 && Sig[0]<Sig[1] && Sig[1]>Sig[2]) DnSignal=verdadeiro;
if(Ind[1]>0 && Sig[0]>Sig[1] && Sig[1]<Sig[2]) UpSignal=verdadeiro;
return(true);
}
devolução(falso);
}
//+-----------------------------------+
bool TradePerformer(bool &UpSignal,bool &DnSignal)
{
if(UpSignal)
{
if(PositionOpen(POSITION_TYPE_BUY)) UpSignal=falso;
}
if(DnSignal)
{
if(PositionOpen(POSITION_TYPE_SELL)) DnSignal=falso;
}
return(true);
}
//+-----------------------------------+
dinheiro duplo_M()
{
HistorySelect(0,TimeCurrent());
int total=HistóriaDealsTotal();
duplo lucro=0;
for(int i=0;i<total;i++)
{
ulong deal_ticket=HistoryDealGetTicket(i);
if(HistoryDealGetString(deal_ticket,DEAL_SYMBOL)!=_Symbol) continue;
if(HistoryDealGetInteger(deal_ticket,DEAL_TYPE)>1) continue;
profit+=HistoryDealGetDouble(deal_ticket,DEAL_PROFIT);
profit+=HistoryDealGetDouble(deal_ticket,DEAL_SWAP);
}
Money=Deposit+profit;
if(PositionSelect(_Symbol))
{
Money+=PositionGetDouble(POSITION_PROFIT);
Money+=PositionGetDouble(POSITION_SWAP);
}
double Min=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
double Limit=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_LIMIT);
double Lots=Risco*Money/Deposit;
Lots=MathMin(Limit,MathMax(Min,Lots));
devolução(Lotes);
}
//+-----------------------------------+
bool PositionOpen(ENUM_POSITION_TYPE Type)
{
Pedido MqlTradeRequest;
Resultado MqlTradeResult;
volume duplo=Money_M();
duplo takeprofit=0,stoploss=0;
if(PositionSelect(_Symbol))
{
double volumepos=PosiçãoGetDouble(POSITION_VOLUME);
if(PositionGetInteger(POSITION_TYPE)==Type) volume-=volumepos;
senão volume+=volumepos;
}
for(int i=0;i<10;i++)
{
volume=NormalizarDuplo(volume,1);
if(volume<=0) quebra;
if(Type==POSITION_TYPE_SELL)
{
request.type=ORDER_TYPE_SELL;
request.price=SymbolInfoDouble(_Symbol,SYMBOL_BID);
if(TP!=0) takeprofit = request.price-TP*_Point;
if(SL!=0) stoploss = request.price+SL*_Point;
}
if(Type==POSITION_TYPE_BUY)
{
request.type=ORDER_TYPE_BUY;
request.price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
if(TP!=0) takeprofit = request.price+TP*_Point;
if(SL!=0) stoploss = request.price-SL*_Point;
}
request.action = TRADE_ACTION_DEAL;
request.symbol = _Symbol;
request.volume = MathMin(volume,SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX))
request.sl = stoploss;
request.tp = takeprofit;
request.deviation=SymbolInfoInteger(_Symbol,SYMBOL_SPREAD);
request.type_filling=ORDER_FILLING_AON;
request.comment=DoubleToString(Money,2)+"$";
if(!OrderCheck(pedido,verificar))
{
if(check.margin_level<100) volume=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP);
Imprimir("OrderCheck Code: ",check.retcode);
continuar;
}
if(!OrderSend(request,result) ||| result.deal==0)
{
Imprimir("OrderSend Code: ",result.retcode);
if(result.retcode==TRADE_RETCODE_TRADE_DISABLED) break;
if(result.retcode==TRADE_RETCODE_MARKET_CLOSED) break;
if(result.retcode==TRADE_RETCODE_NO_MONEY) break;
if(result.retcode==TRADE_RETCODE_TOO_MANY_REQUESTS) Sleep(5000);
if(result.retcode==TRADE_RETCODE_FROZEN) break;
if(result.retcode==TRADE_RETCODE_CONNECTION) Sleep(15000);
if(result.retcode==TRADE_RETCODE_LIMIT_VOLUME) break;
}
senão volume-=result.volume;
Sleep(1000);
}
if(!PositionSelect(_Symbol)) return(false);
return(true);
}
//+-----------------------------------+
bool IsNewBar()
{
data/hora estática Told;
datatime Tnew[1];
CopyTime(_Symbol,PERIOD_CURRENT,0,1,Tnew);
if(Tnew[0]!=Told)
{
Told=Tnew[0];
return(true);
}
devolução(falso);
}
//+-----------------------------------+

Por favor informe porque é que o pedido.type_filling=ORDER_FILLING_AON; a linha no EA contém o erro 'ORDER_FILLING_AON' - identificador não declarado cs2011.mq5 127 28 na versão 697



Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результатов проверки торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результатов проверки торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура результатов проверки торгового запроса - Документация по MQL5
 
FRX154:

Por favor informe porque é que o pedido.type_filling=ORDER_FILLING_AON; a linha no EA contém o erro 'ORDER_FILLING_AON' - identificador não declarado cs2011.mq5 127 28 na versão 697

Porque a língua mudou desde que a EA foi escrita.

coloque request.type_filling=ORDER_FILLING_AON nesta linha;

request.type_filling=ORDER_FILLING_FOK; e boa sorte.

Ou pode apenas colocar 0

request.type_filling=0;

também irá funcionar.

PS ou, em alternativa (para evitar ter de editar toda a EA), pode colocar um remendo no topo de tudo

#define ORDER_FILLING_AON ORDER_FILLING_FOK

Isto é apenas no caso de ORDER_FILLING_AON ser mencionado várias vezes.

 
Por alguma razão vejo a seguinte imagem: quando colo no terminal um indicador do Navegador a um gráfico, mas o gráfico mostra uma área vazia para o indicador, o próprio indicador não é exibido, mas se eu abrir a lista de índices do gráfico, ele aparece lá com a nota "Debugging". O que é este insecto e como é que o combato?
 
marketeer:
Por alguma razão vejo a seguinte imagem: quando colo no terminal um indicador do Navegador a um gráfico, mas o gráfico mostra uma área vazia para o indicador, o próprio indicador não é exibido, mas se eu abrir a lista de índices do gráfico, ele aparece lá com a nota "Debugging". O que é este insecto e como lidar com ele?
Recompilar
 

Boa gente, ajudem!

Pegue no código mais simples.

#property copyright "Copyright 2011,"
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
double Vhod;
       Vhod=linfunc(15);

//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
     }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
     }
//+------------------------------------------------------------------+
double  linfunc(int b) // имя функции и список параметров
  {
  double a;
   while((a/b)<1 && !IsStopped())//---------
     {
      a=a+1;
     }
     double f=a+b;
// составной оператор
   return(a+b);           // возвращаемое значение

  }

Compilamo-lo na construção 687 e obtemos o Vhod=0 no depurador.

Como é que o entende? Ao mesmo tempo, às vezes tenho Vhod=30. (estranho mas verdadeiro).

devolver devolve alguns disparates...

O que são estas falhas ou estou a perder alguma coisa?