Вопросы новичков к профессионалам Форекс

Ugar

Гуру форума
Ок, почитаю ещё в сети, но в целом на это окно "тестирование" при вызове справки особо нет описания по функциям. Спасибо огромное
В справке всё расписано подробно. Кроме генетического алгоритма. Вместо его описания ссылка на статью с подробным описанием -https://www.mql5.com/ru/articles/1408
 
Последнее редактирование модератором:

Vetal2905

Активный участник
Подскажите пожалуйста, в МТ4 при подгонке сетов (оптимизации) на реальном ECN счете сегодня обнаружил такой столбец (на скрине), до этого на центовом счете в тестере такого столбца не было. Это что за столбец, о чем он говорит?1622013546284.png
 

Ugar

Гуру форума
Подскажите пожалуйста, в МТ4 при подгонке сетов (оптимизации) на реальном ECN счете сегодня обнаружил такой столбец (на скрине), до этого на центовом счете в тестере такого столбца не было. Это что за столбец, о чем он говорит?Посмотреть вложение 436450
ECN тут не при чём. В советнике используется функция OnTester. Она работает только при тестировании или оптимизации. Что она считает, вопрос к автору советника. Это зависит от его желаний и умений.
 

Vetal2905

Активный участник
ECN тут не при чём. В советнике используется функция OnTester. Она работает только при тестировании или оптимизации. Что она считает, вопрос к автору советника. Это зависит от его желаний и умений.
Спасибо
 

Xuligan

Интересующийся
Вопрос знатокам MQL4
Нарисовалась задачка расчитать сколько потребуется средств для Х лот, по 2 вариантам. (GerchikCo Demo, 5 значная котировка)

int LotX = 0.5;
double Ax = LotX * MarketInfo(Symbol(),MODE_MARGINREQUIRED); //Размер свободных средств, необходимых для открытия 1 лота по цене Ask
double Bx = Ax / MarketInfo(Symbol(),MODE_TICKVALUE); //стоимость 1 пункта 1 лота

если xxxUSD - равнозначные значения :
пример EURUSD - Ax= 593, Bx= 593

если USDxxx и кросс пары значения не равны :
пример USDRUB - Ax= 750, Bx= 5454
NZDCAD - Ax= 346, Bx= 431
EURAUD - Ax= 593, Bx= 793

В каком варианте истина?
 

Ugar

Гуру форума
Вопрос знатокам MQL4
Нарисовалась задачка расчитать сколько потребуется средств для Х лот, по 2 вариантам. (GerchikCo Demo, 5 значная котировка)

int LotX = 0.5;
double Ax = LotX * MarketInfo(Symbol(),MODE_MARGINREQUIRED); //Размер свободных средств, необходимых для открытия 1 лота по цене Ask
double Bx = Ax / MarketInfo(Symbol(),MODE_TICKVALUE); //стоимость 1 пункта 1 лота

если xxxUSD - равнозначные значения :
пример EURUSD - Ax= 593, Bx= 593

если USDxxx и кросс пары значения не равны :
пример USDRUB - Ax= 750, Bx= 5454
NZDCAD - Ax= 346, Bx= 431
EURAUD - Ax= 593, Bx= 793

В каком варианте истина?
В чём вопрос? Оба варианта правильно. Смотря что нужно получить. Стоимость пункта и размер залога это разные вещи.
Хотя и то и другое может быть использовано для вычисления процентного лота. Зависит от ситуации.
 

Xuligan

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

AlexeNP

Гуру форума
Вопрос знатокам MQL4
Нарисовалась задачка расчитать сколько потребуется средств для Х лот, по 2 вариантам. (GerchikCo Demo, 5 значная котировка)

int LotX = 0.5;
double Ax = LotX * MarketInfo(Symbol(),MODE_MARGINREQUIRED); //Размер свободных средств, необходимых для открытия 1 лота по цене Ask
double Bx = Ax / MarketInfo(Symbol(),MODE_TICKVALUE); //стоимость 1 пункта 1 лота

если xxxUSD - равнозначные значения :
пример EURUSD - Ax= 593, Bx= 593

если USDxxx и кросс пары значения не равны :
пример USDRUB - Ax= 750, Bx= 5454
NZDCAD - Ax= 346, Bx= 431
EURAUD - Ax= 593, Bx= 793

В каком варианте истина?
double lot=0.1;//количество лотов
int cmd=0;//планируемая торговая операция
double free_margin=AccountInfoDouble(ACCOUNT_MARGIN_FREE);//свободные средства
double margin_curlot=free_margin-AccountFreeMarginCheck(NULL,cmd,lot);//сколько бабла нужно
 

Xuligan

Интересующийся
Возникла идея, как не допустить уровень просадки в % на автомате в советнике. Например в рынке несколько ордеров на разных парах и уровень просадки установлен на 20%. Как только просадка поднялась до 20%, автомат сработал, закрывается самый убыточный ордер. По идее просадка сразу должна бы уменьшиться, но это не так, просадка все еще стоит на 20%, поэтому следом удаляется следующий убыточный ордер и так будет продолжаться, пока уровень просадки не опуститься ниже 20%. У кого есть какие идеи, предложения или другой алгоритм решения этой проблемы?
Расчет просадки:
double profit= 0,profitB= 0; // объявляем локальные переменные
for (int i=OrdersTotal()-1; i >= 0; i--) // перебираем все ордера
if (OrderSelect(i,SELECT_BY_POS))//порядковый номер ордера в списке,
{
profit += OrderProfit()+OrderCommission()+OrderSwap(); // суммируем профит(убыток) + комиссия + своп

}
profitB = profit / (Balans/100); // высчитываем процент просадки
 

megapont

VIP-участник
Возникла идея, как не допустить уровень просадки в % на автомате в советнике. Например в рынке несколько ордеров на разных парах и уровень просадки установлен на 20%. Как только просадка поднялась до 20%, автомат сработал, закрывается самый убыточный ордер. По идее просадка сразу должна бы уменьшиться, но это не так, просадка все еще стоит на 20%, поэтому следом удаляется следующий убыточный ордер и так будет продолжаться, пока уровень просадки не опуститься ниже 20%. У кого есть какие идеи, предложения или другой алгоритм решения этой проблемы?
Расчет просадки:
double profit= 0,profitB= 0; // объявляем локальные переменные
for (int i=OrdersTotal()-1; i >= 0; i--) // перебираем все ордера
if (OrderSelect(i,SELECT_BY_POS))//порядковый номер ордера в списке,
{
profit += OrderProfit()+OrderCommission()+OrderSwap(); // суммируем профит(убыток) + комиссия + своп

}
profitB = profit / (Balans/100); // высчитываем процент просадки
Если потолок 20%, вариант тут один, Close All Order., иначе валово можно улететь и на -30 и на -40.
 

Xuligan

Интересующийся
Не обязательно, достаточно удалить пару убыточных. 20% это я загнул крутовато, а если для 5-10% ?
 

megapont

VIP-участник
Не обязательно, достаточно удалить пару убыточных. 20% это я загнул крутовато, а если для 5-10% ?
Не имея вводных сложно давать рекомендации, потому что не понятно на каком тф чел торгует и какого объема идут первоначальные позиции. Может ты на м5 первой сделкой грузишь 10% баланса, через -5% догружаешь еще 20% депо. Там хоть крой первую сделку, хоть потом открывай новую по текущей, объем самой позиции может просто не спасти.
Я могу говорить с учетом своего понимания а чел с учетом своего, и, все в итоге "запорет". Нужно еще понимать, позы по тренду или против и где вообще тренд смотрится, на каком тф.
То есть суть понятна да? Может эта просадка формируется за 10 минут. При таких скоростях, по идее, ничего не спасет.
 

Xuligan

Интересующийся
Мне комфортно работать на H1-H4-D1, ниже не опускаюсь - там "скачки с препятствиями". Обьем расчитывается по заданному риску от FreeMargin и еще задаю кол-во ордеров на этот риск. Например задал 10% от 10000$ на 10 ордеров, получаю 1000$ для торговли т.е. заведомо готов с ними расстаться. Только жму кнопку Buy или Sell, советник сам все расчитывает и ставит ордера. Обьемы распределяются также равномерно. Позы не имеют значения, хоть поперк, хоть вдоль тренда. Если "сел" на тренд, то какая разница куда "ехать". Так что 20% от 1000$ не так страшно для депозита. Вот и спрашиваю, может кто с просадками имел дело.
 

Vetal2905

Активный участник
Подскажите, на робофорекс центовых счетах при открытии позиции лотом 0,1 какая маржа берется по валютным парам? Если можно и по золоту отпишитесь тоже. Спасибо
 

AlexeNP

Гуру форума
Возникла идея, как не допустить уровень просадки в % на автомате в советнике. Например в рынке несколько ордеров на разных парах и уровень просадки установлен на 20%. Как только просадка поднялась до 20%, автомат сработал, закрывается самый убыточный ордер. По идее просадка сразу должна бы уменьшиться, но это не так, просадка все еще стоит на 20%, поэтому следом удаляется следующий убыточный ордер и так будет продолжаться, пока уровень просадки не опуститься ниже 20%. У кого есть какие идеи, предложения или другой алгоритм решения этой проблемы?
Расчет просадки:
double profit= 0,profitB= 0; // объявляем локальные переменные
for (int i=OrdersTotal()-1; i >= 0; i--) // перебираем все ордера
if (OrderSelect(i,SELECT_BY_POS))//порядковый номер ордера в списке,
{
profit += OrderProfit()+OrderCommission()+OrderSwap(); // суммируем профит(убыток) + комиссия + своп

}
profitB = profit / (Balans/100); // высчитываем процент просадки
double percent_drawdown=20;
double drawdown=100*(1-AccountInfoDouble(ACCOUNT_EQUITY)/AccountInfoDouble(ACCOUNT_BALANCE));
if(drawdown>percent_drawdown)
{
int ticket,type;
double max_drawdown=0;
for(int i=OrdersTotal()-1; i>=0; i--)
if(OrderSelect(i,SELECT_BY_POS)==true && OrderType()<=1)
{
double profit=OrderProfit()-OrderCommission()+OrderSwap();
if(max_drawdown>profit)
{
max_drawdown=profit;
ticket=OrderTicket();
type=OrderType();
}
}
}
//Закрыть ордер ticket
 

malojorsk

Новичок форума
Подскажите пожалуйста:
в советнике нужно вытащить цвет линий индикатора Triggerlines (прикрепил), на графике 2 линии, они перекрашиваются, но не на каждом пересечении между собой,
через iCustom вытащил значение буферов, но там только ценовые значения линий, бывает линии пересекаются, а цвет индикатора не меняеется, пример на скриншоте,
вопрос в том,как в советнике получить цвет индикатора:
либо в советнике прописать логику работы индикатора, которую я не понимаю (вообще индикаторы не понимаю с их буферами),
либо еще както получить цвет,
подскажите пожалуйста как можно решить данную задачу...

1.jpg
 

Вложения

  • Triggerlines.mq4
    3,6 КБ · Просмотры: 32

Xuligan

Интересующийся
как в советнике получить цвет индикатора:
Зачем так усложнять задачу, цвета индикатора прописаны в самом индикаторе.
#property indicator_color1 Red
#property indicator_color2 Red
#property indicator_color3 Blue
#property indicator_color4 Blue

Или вы имеете в ввиду что-то другое?
 

malojorsk

Новичок форума
Зачем так усложнять задачу, цвета индикатора прописаны в самом индикаторе.
#property indicator_color1 Red
#property indicator_color2 Red
#property indicator_color3 Blue
#property indicator_color4 Blue

Или вы имеете в ввиду что-то другое?
а как в советнике получить текущий цвет индикатора? (на свечах 1 и 2), через iCustom их не вытащиш...
 
Верх