[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 235

 
Zhunko:
Если исходник есть, но изменён, то такое возможно. Т.е. изменение содержимого исходника. Если исходник потерян или переименован, то он не найдётся.

Благодарю Вадим. Понятно.
 
ikatsko:

Как рассчитать маржу (необходимых средств для открытия ордера лотом N) при различных значениях AccountFreeMarginMode


Маржа для ордера в 1 лот равна:

   double OneLotMarg =MarketInfo(Symbol(),MODE_MARGINREQUIRED);

Далее разберетесь.

И еще надо проверить, хватит ли свободных средств:

   double Free = AccountFreeMargin();
   
   if(Lts*OneLotMarg>Free) return(0);
 
DhP:


И еще надо проверить, хватит ли свободных средств:

   double Free = AccountFreeMargin();
   
   if(Lts*OneLotMarg>Free) return(0);

Данное условие необходимое, но недостаточное... Как Я понял, нужно ещё учитывать стоимость спреда, то есть нужно учитывать убыток, который будет сразу же при открытии соответствующего ордера! :))) Или Я что-то ещё забыл?
 

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

https://www.mql5.com/ru/code/9588

 
MaxZ:
Данное условие необходимое, но недостаточное... Как Я понял, нужно ещё учитывать стоимость спреда, то есть нужно учитывать убыток, который будет сразу же при открытии соответствующего ордера! :))) Или Я что-то ещё забыл?
Думаю, что Вы правы, но вряд ли на практике это имеет значение.
 
DhP:
Думаю, что Вы правы, но вряд ли на практике это имеет значение.

Например, Я практикуюсь в различных конкурсах. И бывали подобные ситуации. Выдавалась ошибка 134. Но Я функцию расчёта лота так и не доработал. Лень... Чуть позже повторяется запрос и ордер открывается. А ещё чуть позже сливаем демо-депозит! :)))

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

Несколько нюансов и не более.

 
DhP:
MaxZ:
Данное условие необходимое, но недостаточное... Как Я понял, нужно ещё учитывать стоимость спреда, то есть нужно учитывать убыток, который будет сразу же при открытии соответствующего ордера! :))) Или Я что-то ещё забыл?
Думаю, что Вы правы, но вряд ли на практике это имеет значение.

Оказывается то, что ордер открывается с убытком в размере спреда, не влияет. Если ставить Risk = 100%, то открывается ордер с максимально возможным объёмом, а AccountFreeMargin() сразу после открытия показывает либо "+", либо "-" (в "Тестере стратегий")...

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

Для расчёта лота используется код:

double Free    = AccountFreeMargin();
double One_Lot = MarketInfo(Symbol(), MODE_MARGINREQUIRED);      
double Step    = MarketInfo(Symbol(), MODE_LOTSTEP);
newLots = MathFloor(Free*Risk/100/One_Lot/Step)*Step;

p.s.: не люблю ляпы Свои оставлять...

 

Приветствую, господа!

Помогите пожалуйста вставить в советник функцию закрытия ордеров.

Идея такова:

1) если цена открытого ордера SELL становится меньше чем цена выставленного TP данного ордера, то этот ордер закрывается.

2) если цена открытого ордера BUY становится больше чем цена выставленного TP данного ордера, то этот ордер закрывается.

Если получится помочь напишите пожалуйста на адрес oniava@gmail.com, с нетерпением жду от Вас ответа.

Зарание спасибо.

С уважением Олег.


P.S. Можно сделать отдельного советника помощника с магик номером.

 
belck:

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

https://www.mql5.com/ru/code/9588

Начните делать и поможем. А так выглядит как "сделайте за меня". Там же практически всё готово, что вам нужно. Осталось только в цикле выставлять тейки и стопы вашим ордерам.
 

Всем Привет. Подскажите как прописать в советнике,

При достижении определенной прибыли советник больше не открывал позиции,

А открывал только при следующем запуске или перезагрузки советника.

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