Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 111

 
Artyom Trishkin:

Спасибо, помогло.

Если не оч. сложно , можете объяснить почему мой вариант не работает, в помощи написано 0 и 0 - текущий символ и текущий тайм фрейм???

 
Cyn123:

Спасибо, помогло.

Если не оч. сложно , можете объяснить почему мой вариант не работает, в помощи написано 0 и 0 - текущий символ и текущий тайм фрейм???

NULL и 0

 
Artyom Trishkin:

Спасибо!

 

Граждане помогите! Делаю трейлинг стоп и никак не могу понять куда тут вставлять ШАГ для него??? посмотрите плиз....


 if(OrdersTotal() > 0)

    {

     for(int pos = 0; pos < OrdersTotal(); pos ++)

     {

     OrderSelect(pos, SELECT_BY_POS, MODE_TRADES);

     if(OrderMagicNumber() == Magic && OrderSymbol() == Symbol() && OrderType() == OP_BUY && 

     NormalizeDouble(Ask - sl, Digits) > NormalizeDouble(OrderStopLoss(), Digits) &&  NormalizeDouble(Ask - sl, Digits) < NormalizeDouble(Bid, Digits))

     OrderModify(OrderTicket(), 0,  Ask - sl, 0, 0, Green);

     else if(OrderMagicNumber() == Magic && OrderSymbol() == Symbol() && OrderType() == OP_SELL && 

     NormalizeDouble(Bid + sl, Digits) < NormalizeDouble(OrderStopLoss(), Digits) && NormalizeDouble(Bid + sl, Digits) > NormalizeDouble(Ask, Digits))

     OrderModify(OrderTicket(), 0, Bid + sl, 0, 0, Red);

    }

 

есть следующие imput-дата:

торговые сессии часовой пояс DST on/of  открытие сессии переход на летный сезон переход на зимный сезон
месяц неделя день месяц неделя день
Токио 9 false (1) 9  -1 -1 -1  -1  -1  -1 
Лондон 0 true (0) 8 3 0 (посл) 0 (воскр) 10 0 (посл) 0 (воскр)
Нью Йорк -5 true (0) 8 3 2 0 (воскр) 11 1 0 (воскр)


Как можно заполнить массив array[тор.сессии][час.пояс][DST on/of][открытие][месяц][неделя][день][месяц][неделя][день] с этими вводными параметрами?

 

С массива newarray[a] надо убрать b значении  (-1) , потом установит новый размер массива newarray[a-b].

Подскажите пожалуйста как это делаются

 
Kamol Kurbonov:

С массива newarray[a] надо убрать b значении  (-1) , потом установит новый размер массива newarray[a-b].

Подскажите пожалуйста как это делаются

Просматриваете массив и встретив ЛИШНЕЕ значение ArrayMove и ArrayResize. Посмотрите пример на этой странице.
 
Kamol Kurbonov:

есть следующие imput-дата:

торговые сессии часовой пояс DST on/of  открытие сессии переход на летный сезон переход на зимный сезон
месяц неделя день месяц неделя день
Токио 9 false (1) 9  -1 -1 -1  -1  -1  -1 
Лондон 0 true (0) 8 3 0 (посл) 0 (воскр) 10 0 (посл) 0 (воскр)
Нью Йорк -5 true (0) 8 3 2 0 (воскр) 11 1 0 (воскр)

Как можно заполнить массив array[тор.сессии][час.пояс][DST on/of][открытие][месяц][неделя][день][месяц][неделя][день] с этими вводными параметрами?

Массив - это объединение элементов с одинаковыми атрибутами (вспомните: лесной массив, жилой массив). у Вас атрибуты разные: string + bool + integer. Выход - описать структуру и массив структур. Или 10 массивов
 
Дед пенсионер:
Массив - это объединение элементов с одинаковыми атрибутами (вспомните: лесной массив, жилой массив). у Вас атрибуты разные: string + bool + integer. Выход - описать структуру и массив структур. Или 10 массивов
торговые сессии можно отметить целым числом (например, i=1 (Токио, i=2 Лондон). значение bool тоже вернет целое число(0 если тру. 1 если фалс) Самое главное все типы данных можно преобразовать в один тип (double).
 

Здравствуйте. Написал в своем советнике расчет лота таким вот образом:

lot=NormalizeDouble(AccountBalance()*risk/(SL*MarketInfo(Symbol(),MODE_TICKVALUE)),2);

Цель - при заданных рисках и стоп лоссе получать корректную величину лота вне зависимости от валюты счета и пары. risk задается как доля потерь при срабатывании стоп лосса. Стоп лосс SL в пунктах ( где пункт – минимальное возможное изменение цены пары). Собираюсь запускать данный советник на реальном счету. Но, есть сомнения. Если кто-нибудь, из более опытных программистов подскажет, какие могут возникнуть ошибки, буду очень благодарен.