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

  • Автор темы Автор темы LUKA.
  • Дата начала Дата начала
Ок, почитаю ещё в сети, но в целом на это окно "тестирование" при вызове справки особо нет описания по функциям. Спасибо огромное
В справке всё расписано подробно. Кроме генетического алгоритма. Вместо его описания ссылка на статью с подробным описанием -https://www.mql5.com/ru/articles/1408
 
Последнее редактирование модератором:
Подскажите пожалуйста, в МТ4 при подгонке сетов (оптимизации) на реальном ECN счете сегодня обнаружил такой столбец (на скрине), до этого на центовом счете в тестере такого столбца не было. Это что за столбец, о чем он говорит?1622013546284.png
 
Подскажите пожалуйста, в МТ4 при подгонке сетов (оптимизации) на реальном ECN счете сегодня обнаружил такой столбец (на скрине), до этого на центовом счете в тестере такого столбца не было. Это что за столбец, о чем он говорит?Посмотреть вложение 436450
ECN тут не при чём. В советнике используется функция OnTester. Она работает только при тестировании или оптимизации. Что она считает, вопрос к автору советника. Это зависит от его желаний и умений.
 
ECN тут не при чём. В советнике используется функция OnTester. Она работает только при тестировании или оптимизации. Что она считает, вопрос к автору советника. Это зависит от его желаний и умений.
Спасибо
 
Вопрос знатокам 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

В каком варианте истина?
 
Вопрос знатокам 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

В каком варианте истина?
В чём вопрос? Оба варианта правильно. Смотря что нужно получить. Стоимость пункта и размер залога это разные вещи.
Хотя и то и другое может быть использовано для вычисления процентного лота. Зависит от ситуации.
 
В чём вопрос? Оба варианта правильно. Смотря что нужно получить. Стоимость пункта и размер залога это разные вещи.
Хотя и то и другое может быть использовано для вычисления процентного лота. Зависит от ситуации.
А, все понял, не сообразил сразу что в первом варианте считается средства, во втором - кол-во пунктов. Спасибо.
 
Вопрос знатокам 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);//сколько бабла нужно
 
Возникла идея, как не допустить уровень просадки в % на автомате в советнике. Например в рынке несколько ордеров на разных парах и уровень просадки установлен на 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%. Как только просадка поднялась до 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.
 
Не обязательно, достаточно удалить пару убыточных. 20% это я загнул крутовато, а если для 5-10% ?
 
Не обязательно, достаточно удалить пару убыточных. 20% это я загнул крутовато, а если для 5-10% ?
Не имея вводных сложно давать рекомендации, потому что не понятно на каком тф чел торгует и какого объема идут первоначальные позиции. Может ты на м5 первой сделкой грузишь 10% баланса, через -5% догружаешь еще 20% депо. Там хоть крой первую сделку, хоть потом открывай новую по текущей, объем самой позиции может просто не спасти.
Я могу говорить с учетом своего понимания а чел с учетом своего, и, все в итоге "запорет". Нужно еще понимать, позы по тренду или против и где вообще тренд смотрится, на каком тф.
То есть суть понятна да? Может эта просадка формируется за 10 минут. При таких скоростях, по идее, ничего не спасет.
 
Мне комфортно работать на H1-H4-D1, ниже не опускаюсь - там "скачки с препятствиями". Обьем расчитывается по заданному риску от FreeMargin и еще задаю кол-во ордеров на этот риск. Например задал 10% от 10000$ на 10 ордеров, получаю 1000$ для торговли т.е. заведомо готов с ними расстаться. Только жму кнопку Buy или Sell, советник сам все расчитывает и ставит ордера. Обьемы распределяются также равномерно. Позы не имеют значения, хоть поперк, хоть вдоль тренда. Если "сел" на тренд, то какая разница куда "ехать". Так что 20% от 1000$ не так страшно для депозита. Вот и спрашиваю, может кто с просадками имел дело.
 
Подскажите, на робофорекс центовых счетах при открытии позиции лотом 0,1 какая маржа берется по валютным парам? Если можно и по золоту отпишитесь тоже. Спасибо
 
Возникла идея, как не допустить уровень просадки в % на автомате в советнике. Например в рынке несколько ордеров на разных парах и уровень просадки установлен на 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
 
Подскажите пожалуйста:
в советнике нужно вытащить цвет линий индикатора Triggerlines (прикрепил), на графике 2 линии, они перекрашиваются, но не на каждом пересечении между собой,
через iCustom вытащил значение буферов, но там только ценовые значения линий, бывает линии пересекаются, а цвет индикатора не меняеется, пример на скриншоте,
вопрос в том,как в советнике получить цвет индикатора:
либо в советнике прописать логику работы индикатора, которую я не понимаю (вообще индикаторы не понимаю с их буферами),
либо еще както получить цвет,
подскажите пожалуйста как можно решить данную задачу...

1.jpg
 

Вложения

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

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

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

Посмотрели (185) Посмотреть

Отслеживают (491) Посмотреть

Назад
Верх