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 281

 
Integer:

Incluir não é uma importação.

É compreensível. Estou importando bibliotecas. E o inline é apenas para inserir um pedaço de código em algum lugar. Economiza espaço no quadro.

Inteiro:

Deveríamos tentar chamar alguma função de um arquivo que não parece estar conectado. O que está escrito nos registros pode não ser necessário, não vale a pena prestar atenção.

Carregando estas bibliotecas em outro furo, tudo funciona bem. Quero dizer, que as funções dessas bibliotecas funcionam. Mas há um ponto. O outro furo, eu carreguei estas bibliotecas diretamente no furo. E em coruja, onde agora não há nenhum tipo de bug, surgiram estas bibliotecas dentro de 1 das bibliotecas usadas. Assim:

Em sovok assim no chapéu:

#property copyright "hoz"
#property link      ""

#include <hoz_Base@Include.mqh>
#include <hoz_Base@ListOfFunc.mqh>
#include <hoz_MakeListOfInstruments@Include.mqh>
#include <hoz_MakeListOfInstruments@ListOfFunc.mqh>

extern string ___H1 = " ________ Параметры общие _________ ";

extern string ___H3 = " _______ Параметры фильтров _______ ";

extern string ___H4 = " __ Параметры торговых операций ___ ";
extern double  i_Lot = 0.1,
               i_KLot = 2,
               i_SL = 0,
// ДРУГИЕ ВНЕШНИЕ ПАРАМЕТРЫ ЭКСПЕРТА

Portanto, #include <hoz_Base@Include.mqh> é uma inclusão da biblioteca básica (declarações de variáveis), e #include <hoz_Base@ListOfFunc.mqh> já é uma inclusão na qual as funções importadas desta biblioteca deste formato são prescritas:

#import "hoz_Base@Library.ex4"
    void fInitBase (string fs_SymbolList, string fs_MagicList, string fs_Delimiter = ",");
    double ND (double v);
    string DToS (double v);
    double SToD (string v);
    int SToI (string v);
    datetime SToT (string v);
    double NDByMinLotPres(double v);
// ДРУГИЕ ФУНКЦИИ
    void fShiftIndex (double& ar_MAS[], bool fb_Conditions = false);
    void fSort_InDecreasingSequance (int& fia_INDEX[], double fda_Value[]);
    void fCreat_ArrayGV (string& fsa_Base[], string fsa_Add[]);
#import

A própria biblioteca hoz_Base@Library.ex4 requer 3 bibliotecas de terceiros para funcionar. Estas são as que são importadas no início da própria biblioteca base:

//+---------------------------------------------------------------------------------------------------------------------------------------+
//|                                                                                                                  hoz_Base@Library.mq4 |
//|                                                                                                                                   hoz |
//|                                                                                                                                       |
//+---------------------------------------------------------------------------------------------------------------------------------------+

#property copyright "hoz"
#property link      ""
#property library

//+---------------------------------------------------------------------------------------------------------------------------------------+
//| Библиотека базовых функций.                                                                                                           |
//+---------------------------------------------------------------------------------------------------------------------------------------+
// ================================================== Включения и импорт внешних модулей =================================================+
#include <hoz_Base@Include.mqh>
//+---
#import "hoz_LoggingToAnyWere@library.ex4"
    void fWrite_Log (string fs_Txt);
    void fPrint (string fs_Text);
#import
//+---
#import "hoz_HandlingWithErrorS@library.ex4"
    bool fErrorHandling (int fi_Error, bool& fb_InvalidSTOP);
    void fReConnect();
    string fErrorToString (int fi_Error);
    string fErrorDescription (int fi_Error);
#import
//+---
#import "hoz_ReturningSomeInfo@library.ex4"
    string fGet_NameOP (int fi_Type);
    string fGet_NameTF (int fi_TF = 0);
#import

Entendo que se houvesse um bug em alguma dessas bibliotecas que o hoz_Base@Library.mq4 usa , a biblioteca base não carregaria, e conseqüentemente nenhuma dessas bibliotecas seria carregada. Na verdade, no momento, nem mesmo a primeira linha de partida está funcionando. Como posso procurar a causa desta situação?
 

Olá a todos!

Tive uma falha no meu EA. Os erros 138 e 129 estavam saindo. Preços incorretos.

Pergunta: Como a EA não é um pips, ela teve muito tempo para abrir o comércio, especialmente o preço passou claramente o nível do sinal e ficou lá tempo suficiente, mesmo com a licitação, pedir correções.

Fiz o teste, o negócio foi aberto. Como lidar com este problema e por que ele ocorre (tudo estava bem antes, a EA abriu negócios)?

Tenho a sensação de que depois que o sinal foi processado, a EA desligou e não aceitou mais sinais ou talvez eu devesse ter recarregado o Metatrader depois da recente construção?

 

Boa tarde!

Como (fora do topo da minha cabeça) pintar sob a linha da carta principal toda a parte inferior com uma cor e a parte superior com outra, se você não se importa, talvez alguém tenha algum trabalho a fazer?

 
_new-rena:

Boa tarde!

Como (fora do topo da minha cabeça) pintar sob a linha da carta principal toda a parte inferior em uma cor e a parte superior em outra, se você não se importa, talvez alguém tenha algum trabalho a fazer?


Em uma captura de tela, mostre o que você quer
 
ALXIMIKS:

em uma captura de tela mostrar o que você quer

há uma tabela de preços - uma linha. Debaixo dele em um tom de azul, acima dele em branco (algo semelhante - princípio)

 
ALXIMIKS:

em uma captura de tela mostra o que você quer

OK, não se preocupe, eu já fiz... Espere aqui...

 
Forexman77:

Olá a todos!

Tive uma falha no meu EA. Os erros 138 e 129 estavam saindo. Preços incorretos.

Pergunta: Como a EA não é um pips, ela teve muito tempo para abrir o comércio, especialmente o preço passou claramente o nível do sinal e ficou lá tempo suficiente, mesmo com a licitação, pedir correções.

Fiz o teste, o negócio foi aberto. Como lidar com este problema e por que ele ocorre (tudo estava bem antes, a EA abriu as negociações)?

Tenho a sensação de que após o processamento do sinal a EA congelou e não reagiu a outros sinais ou talvez o Metatrader deva ser reiniciado após a última construção?

Use os preços através do MarketInfo(), não Ask and Bid. Por exemplo, como este:

double pa=MarketInfo(Symbol(),MODE_ASK);
double pb=MarketInfo(Symbol(),MODE_BID);

Em suas ordens comerciais, não use Ask, mas pa, não Bid, mas pb.

Você ficará feliz

 
artmedia70:

Use MarketInfo() em vez de Ask and Bid prices. Por exemplo, assim:

E nas ordens comerciais, substitua pa, não Ask, e pb, não Bid.

E você ficará feliz


E qual é a diferença entre Ask e MarketInfo(Symbol(),MODE_ASK)?
 
evillive:
E qual é a diferença entre Ask e MarketInfo(Symbol(),MODE_ASK)?


Ask é uma variável, armazenada no computador, ela muda quando o próximo cálculo da função de início ocorre ou quando é atualizada.

MarketInfo(Symbol(),MODE_ASK) - este valor é retirado do servidor ou do Ask ?

 
evillive:
E qual é a diferença entre Ask e MarketInfo(Symbol(),MODE_ASK)?
Esta função leva os dados de preços mais recentes. Isto é, ao utilizá-lo em funções de abertura de posições e colocação de pedidos, não há necessidade em RefreshRates(). Mas após receber alguns erros do servidor, que requerem espera ou atualização de preços, é necessário atualizar o ambiente comercial usando RefreshRates() e enviar um segundo pedido.
Razão: