Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1524

 
MrBrooklin #:

Алексей, извини меня за тупизну и бестолковость, но тогда вот этот код, взятый мною из MetaEditor, что за код?

С уважением, Владимир.

1 — технический (штатный)

Получение хендла

int  iAlligator(
   string              symbol,            // имя символа
   ENUM_TIMEFRAMES     period,            // период
   int                 jaw_period,        // период для расчета челюстей
   int                 jaw_shift,         // смещение челюстей по горизонтали
   int                 teeth_period,      // период для расчета зубов
   int                 teeth_shift,       // смещение зубов по горизонтали
   int                 lips_period,       // период для расчета губ
   int                 lips_shift,        // смещение губ по горизонтали
   ENUM_MA_METHOD      ma_method,         // тип сглаживания
   ENUM_APPLIED_PRICE  applied_price      // тип цены или handle
   );

2 — пользовательский. Не смотря на то, что поставляется с терминалом…

А этот так

int  iCustom(
   string           symbol,     // имя символа
   ENUM_TIMEFRAMES  period,     // период
   string           name        // папка/имя_пользовательского индикатора
   ...                          // список входных параметров индикатора
   );
 
Alexey Viktorov #:

1 — технический (штатный)

2 — пользовательский. Не смотря на то, что поставляется с терминалом…

Понятно. Спасибо за разъяснение. Не думал, что у одного и того же индикатора, размещенных в разных местах, такая катастрофическая разница. Наверное и работают по разному?

С уважением, Владимир.

 
MrBrooklin #:
Наверное и работают по разному?

Отвечу на свой же вопрос. Оказалось, что при одних и тех же входных параметрах, оба индикатора показывают одну и туже картинку.

С уважением, Владимир.


 
ESTARIX #:
Я новичок в бэктестинге. Пытаюсь протестировать советник на основе Мартингейла на MT4. По какой-то причине мой график не работает. Когда советник мартингейлит, чтобы компенсировать убыточную позицию, вы должны видеть большие провалы на графике, но я этого не вижу. Я вижу большие горбы, когда должен видеть большие провалы. Есть какие-нибудь мысли?
Ваш советник при закрытии серии позиций начинает закрывать с самой прибыльной позиции. Поэтому баланс сначала растет, а потом падает, когда начинают закрываться убыточные позиции. Если хотите увидеть провалы, то измените порядок закрытия.
 

в чем может быть ошибка если я имею такой код: 

void SendBuy(double lot)
{
    MqlTradeRequest request = {};
    MqlTradeResult result = {};
    double priceAsk = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
    request.action = TRADE_ACTION_DEAL;
    request.symbol = _Symbol;
    request.volume = lot;
    request.type = ORDER_TYPE_BUY;
    request.price = priceAsk;
    double tp = priceAsk + TakeProfit* _Point;
    if(EnableTakeProfit)
        request.tp = tp;
    else 
        request.tp = 0;
    double sl = priceAsk - StopLoss* _Point;
    if(EnableStopLoss)
        request.sl = sl;
    else 
        request.sl = 0;
    request.deviation = OrderDeviation;
    request.magic = MagicNumber;
    request.comment = "BidAskProfitEA";

    if(OrderSend(request, result)) {
    } else {
        PrintFormat("Ошибка открытия ордера Buy: GetLastError=%d, priceAsk=%g, lot=%g, tp=%g, sl=%g", GetLastError(), priceAsk, lot, tp, sl);
    }
}

2024.04.22 04:02:36.906	BidAskProfitBollEAv5.5(CounterTrend and Scalping) (XAUUSD,M1)	Buy Error: GetLastError=4752, priceAsk=2381.01, lot=0.1, tp=2391.01, sl=2371.01

если других ордеров у меня нет, MagicNumber=222222222 , OrderDeviation=500 , lot=1 на счету 96 тысяч USD, StopLoss==500 , TakeProfit=500 , EnableStopLoss=true , EnableTakeProfit=true


 
AkaEdie #:

в чем может быть ошибка если я имею такой код: 

https://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes

ERR_TRADE_DISABLED

4752

Торговля для эксперта запрещена

Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
  • www.mql5.com
GetLastError() – функция, возвращающая код последней ошибки, которая хранится в предопределенной переменной _LastError . Значение этой переменной...
 
вот блин, я уже весь код перелопатил ну надо же, я же знал что код нормальный, забыл извините
 
AkaEdie #:
вот блин, я уже весь код перелопатил ну надо же, я же знал что код нормальный, забыл извините

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

 

Уважаемые эксперты, вопрос - какими способами можно отделить так называемый шум.

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

 
maxvoronin74 #:

Уважаемые эксперты, вопрос - какими способами можно отделить так называемый шум.

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

В каком-то советнике Владимира Карпутова была проверка движения цены в размере Х пунктов за N количество тиков. Поищите в CodeBase, возможно, это то, что ищите.

С уважением, Владимир.

Причина обращения: