Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 675

 
Se você sabe: Existe alguma restrição ao uso de se dentro do operador do interruptor?
 
não.
 

fenômenos estranhos

Olá, encontrei um problema pouco claro. Eu tenho testado a EA em diferentes pares e prazos. Tudo funcionou bem, pelo menos adequadamente, até que eu executei um teste no USDCAD. Neste par é observado um comportamento completamente inadequado do consultor especializado (ou melhor, do testador). As ordens podem abrir em algum lugar "no vazio" e fechar a preços que nunca foram vistos no comércio real com este símbolo. Você pode ver na foto toda uma série de ordens de compra que são abertas e quase imediatamente fechadas com um lucro enorme (vários milhares de pontos). Eles abrem e fecham dentro de um bar (30 minutos). Dito isto, o relatório do testador mostra resultados gráficos inadequados. Tenho a impressão de que o testador modela os preços a partir de algum outro símbolo. Talvez alguém tenha encontrado algo semelhante?

 

Especialista compila sem nenhuma pergunta. Executando-o no testador... Surge um erro:

2014.07.28 00:36:36.942 EURUSD,H1: 1 tick events (1491 bars, 456560 bar states) processed within 0 ms (total time 4742 ms)
2014.07.28 00:36:36.942 2014.06.24 00:00  BaseTemplate EURUSD,H1: initialization failed (-1)
2014.07.28 00:36:36.942 2014.06.24 00:00  array out of range in 'BaseInfo.mqh' (175,19)
2014.07.28 00:36:36.931 BaseTemplate inputs: id_Lots=0.1; id_SL=0; id_TP=10; ii_Slippage=2; ib_Bootstrap=0; ib_RealTrade=1; ib_VirtualTrade=1; ib_NeedLogs=1; ib_PrintUP=1; ib_CommentUP=1; ii_MaxSpread=50; ii_NumberOfTry=10; ib_LotMoreMaxLot=0; 

Cheguei à linha a que a revista se refere e vejo isso:

O que isso tem a ver? Nada como isto nunca aconteceu antes...

 
hoz:

Especialista compila sem nenhuma pergunta. Executando-o no testador... Surge um erro:

Fui à linha para a qual o registro está se referindo e vejo isso:

O que isso tem a ver? Nada como isto nunca aconteceu antes...


Por favor, me dê todo o código para o arquivo de inclusão
 
evillive:

Favor fornecer todos os códigos do arquivo de inclusão

O código inteiro é um pouco longo. Aqui está o código da função onde se encontra o bug:

// 1.1 Получение рыночной информации по выбранному инструменту. ===========================================================================
BaseInfo::GetMarkerInfo (string fs_Symbol,
                         int    fi_Ticket = 0)
{
   bool lb_CondON = true;
   //----
   if (fs_Symbol == SPos.gs_Symbol)
   {
      if (fi_Ticket >= 0)
           lb_CondON = false;
   }
   
   if (lb_CondON)
   {
      if (fi_Ticket > 0)
      {
         SPos.gs_Symbol = OrderSymbol();
      }
      else
      {
         SPos.gs_Symbol = fs_Symbol;
      }
      
      if (SPos.gs_Symbol == _Symbol)
      {
         SSym.gi_Digits = _Digits;
         SSym.gd_Pt = _Point;
      }
      else
      {
         SSym.gi_Digits = (int) MarketInfo (fs_Symbol, MODE_DIGITS);
         SSym.gd_Pt = MarketInfo (fs_Symbol, MODE_POINT);
      }
      
      if (SSym.gd_Pt == 0.0)
      {
         SSym.gd_Pt = GetPoint (fs_Symbol);
      }
   }
   
   if (fi_Ticket > 0)
   {
      GetOrderDetails (fi_Ticket);
   }
   //---- Получение текущих цен по инструменту
   RefreshRates();
   SSym.gda_Price [0] =   ND (GetTradePrice (0, RealTrade, SPos.gs_Symbol));
   SSym.gda_Price [1] = ND (GetTradePrice (1, RealTrade, SPos.gs_Symbol));
   SSym.gd_Spread = ND (SSym.gda_Price [1] - SSym.gda_Price [0]);
   //----
}

O bug está na linha:

SSym.gda_Price [0] =   ND (GetTradePrice (0, RealTrade, SPos.gs_Symbol));

Aparentemente, a mesma coisa vai acontecer abaixo da linha.

Presumo que não haja célula de matriz onde eu queira escrever o valor. Esta variável gda_Price[] é declarada na estrutura como esta:

// =================================================_______ СВОЙСТВА СИМВОЛА _______=======================================================
struct Symbol_Properties
{
   datetime    gdt_Quote;           // Время поступления последней котировки
   double      gda_Price[];         // Текущие рыночные цены (0 - Bid, 1- Ask)
   double      gd_Spread;           // Размер спреда в пунктах
   double      gd_Swap;             // Своп
   double      gd_Comission;        // Комиссия
   double      gd_Pt;               // Величина одного пункта
   int         gi_Digits;           // Количество знаков в цене после запятой
   int         gi_StopLevel;        // Минимально-допустимый уровень стоп-лосса/тейк-профита в пунктах
   int         gi_FreezLevel;       // Уровень заморозки ордеров в пунктах
   //---- Конструктор и деструктор
   Symbol_Properties (void);
  ~Symbol_Properties (void);
};
//---- Создадим объект структуре Symbol_Properties
Symbol_Properties SSym;
//=========================================================================================================================================
// Конструктор структуры. =================================================================================================================
Symbol_Properties::Symbol_Properties (void) {
   gd_Pt = _Point;
   gi_Digits = _Digits;
}
//=========================================================================================================================================
// Деструктор структуры. ==================================================================================================================
Symbol_Properties::~Symbol_Properties (void) {
}

Tudo parece estar bem...

 

Eu tenho uma pergunta.

Tenho um programa de trabalho que funciona de forma soberba, mas é sensível ao tempo, portanto, às vezes não tenho tempo para executá-lo à mão. Isto requer otimização automática, o que custa 10.000-15.000 rublos.

Posso encontrar um investidor que me teria pago a otimização automática e, após 2-3 semanas, eu a teria devolvido em 2 vezes mais. Pronto para o Skype para demonstrar a confiabilidade e a capacidade de serviço do programa, para discutir todas as nuances, o fato de que ele funciona sem dúvida.

Não tenho dúvidas de que funciona. É mesmo possível, há pessoas dispostas a arriscar uma pequena quantia?

Os riscos são mínimos, o lucro é de 100% em 2-3 semanas, por mais ridículo que possa parecer.

 
366366:

Eu tenho uma pergunta.

Tenho um programa de trabalho que funciona de forma soberba, mas é sensível ao tempo, portanto, às vezes não tenho tempo para executá-lo à mão. Isto requer otimização automática, o que custa 10.000-15.000 rublos.

Posso encontrar um investidor que me teria pago a otimização automática e, após 2-3 semanas, eu a teria devolvido em 2 vezes mais. Pronto para o Skype para demonstrar a confiabilidade e a capacidade de serviço do programa, para discutir todas as nuances, o fato de que ele funciona sem dúvida.

Não tenho dúvidas de que funciona. É mesmo possível, há pessoas dispostas a arriscar uma pequena quantia?

Os riscos são mínimos, o lucro é de 100% em 2-3 semanas, por mais ridículo que possa parecer.

O melhor investidor é uma instituição bancária. Mais de uma cabeça "quente" já esfriou a iminência da punição por um pagamento tardio do empréstimo.
 
barabashkakvn:
O melhor investidor é uma instituição bancária. Mais de uma cabeça "quente" já esfriou a iminência da punição por atraso no pagamento do empréstimo.


Os riscos são mínimos)

Estou disposto a provar minha capacidade de trabalho a qualquer um, se ao menos eles estivessem dispostos.

Infelizmente, não há como contrair um empréstimo.

 
366366:


Os riscos são mínimos)

Estou disposto a provar minha capacidade de trabalho a qualquer um, se ao menos eles estivessem dispostos.

Infelizmente, não há como contrair um empréstimo.


Se os riscos forem mínimos, hipotecar o apartamento)