Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 281

 
Integer:

Инклуд это не импорт.

Это понятно. У меня ж библиотеки импортятся. А инклюд лишь чтоб вставить в какое-то место кусок кода. Так экономится место в сове.

Integer:

Надо попробовать вызвать какую-нибудь функцию из файла который кажется, что не подключился. То что в логах там пишется, может и не обязано, на это не стоит внимания обращать.

Загрузил данные библиотеки в другом совке, всё работает отлично. Имею ввиду, что функции, с тех библиотек работают. НО есть один момент. В другой сов я эти библиотеки загружал сразу в совок. А в совке, где щяс не какой-то косяк возник эти библиотеки внутри 1 из используемых библиотек. Вот так:

В сове так в шапке:

#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,
// ДРУГИЕ ВНЕШНИЕ ПАРАМЕТРЫ ЭКСПЕРТА

Так вот #include <hoz_Base@Include.mqh> это инклюд базовой библиотеки (объявления переменных), а #include <hoz_Base@ListOfFunc.mqh> это уже инклюд, в котором прописаны импортируемые функции данной библиотеки такого формата:

#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

Сама же библиотека hoz_Base@Library.ex4 для работы требует 3 сторонние библиотеки. Вот они в начале этой самой базовой библиотеки и импортируются:

//+---------------------------------------------------------------------------------------------------------------------------------------+
//|                                                                                                                  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

Я так понимаю, если б косяк был в какой-нить из этих библиотек, которые использует hoz_Base@Library.mq4, то базовая библиотека не загрузилась бы, и соответственно, не загрузилась бы ни одна из тех библиотек. По факту, на данный момент даже первая строчка старта не отрабатывается. Как искать в такой ситуации причину?
 

Всем привет!

У меня заглючило советник. Выходили ошибки 138 и 129. Неправильные цены.

Вопрос: так как советник не пипсовый, у него была масса времени открыть сделку, тем более цена явно проходила уровень сигнала и была там достаточно долго, даже с поправками на bid, ask.

Запустил в тестере сделка открылась. Как бороться с данной проблемой и почему она возникает (раньше все было отлично, сделки советник открывал)?

Есть ощущение, что после обработки сигнала советник завис, а дальнейшие сигналы не воспринимал или может надо было перезагрузить метатрейдер после недавнего билда?

 

Добрый день!

Как (на вскидку) закрасить под чертой основного чарта весь низ одним цветом, а верх - другим, если не затруднит, может быть у кого есть наработки?

 
_new-rena:

Добрый день!

Как (на вскидку) закрасить под чертой основного чарта весь низ одним цветом, а верх - другим, если не затруднит, может быть у кого есть наработки?


на скрине покажите что хотите
 
ALXIMIKS:

на скрине покажите что хотите

есть график цены - линия. Под ней в один тон красим синим, над ней - белым (что то похожее - принцип)

 
ALXIMIKS:

на скрине покажите что хотите

Ладно, не парься, я уже сделал... Дождешься тут...

 
Forexman77:

Всем привет!

У меня заглючило советник. Выходили ошибки 138 и 129. Неправильные цены.

Вопрос: так как советник не пипсовый, у него была масса времени открыть сделку, тем более цена явно проходила уровень сигнала и была там достаточно долго, даже с поправками на bid, ask.

Запустил в тестере сделка открылась. Как бороться с данной проблемой и почему она возникает (раньше все было отлично, сделки советник открывал)?

Есть ощущение, что после обработки сигнала советник завис, а дальнейшие сигналы не воспринимал или может надо было перезагрузить метатрейдер после недавнего билда?

Цены используйте не Ask и Bid, а через MarketInfo(). Например так:

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

И в торговые приказы подставляйте не Ask, а pa, не Bid, а pb

И будет вам счастие

 
artmedia70:

Цены используйте не Ask и Bid, а через MarketInfo(). Например так:

И в торговые приказы подставляйте не Ask, а pa, не Bid, а pb

И будет вам счастие


И чем же отличается Аск от MarketInfo(Symbol(),MODE_ASK)?
 
evillive:
И чем же отличается Аск от MarketInfo(Symbol(),MODE_ASK)?


аск - это переменная, хранится на компе, изменяется при наступлении следующего расчета функции старт или при рефреше.

MarketInfo(Symbol(),MODE_ASK) это значение берется с сервака или с аск ? а то в документации пишется не ясно.

 
evillive:
И чем же отличается Аск от MarketInfo(Symbol(),MODE_ASK)?
Этой функцией берутся самые свежие данные по ценам. Т.е., при её использовании в функциях открытия позиций и установки ордеров, отпадает необходимость в RefreshRates(). Но вот после получения некоторых ошибок от сервера, требующих ожидания или обновления цен, необходимо после ожидания обновить торговое окружение при помощи RefreshRates() и отослать повторный запрос.