![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
mladen & mrtools
У меня есть советник, который сам себя взрывает сделками. Мне нужна помощь в создании Void или функции, которая может быть добавлена к существующему советнику. Эта функция должна решать следующие задачи:
input bool doBasketExit = true; // Проверка условий выхода из корзины
input double BasketTP = 250.0; // Тейк-профит корзины (валюта счета) Пара графика
input double BasketSL = -100.0; // Стоп-лосс корзины (валюта счета) График Пара
Я управляю 9 парами/графиками с агрессивным советником на H1 и хочу торговать корзиной на каждом из 9 графиков.
Вот что со мной произошло. Работают 9 графиков, 3 графика находятся в торговле с, конечно, 3 отдельными парами, каждая с 15 сделками, да 45 сделок открыто, 2 в прибыли и одна сильно проигрывает. Я ищу способ сложить каждую группу/пару из 15 отдельно и оттереть каждую группу от границ SL и TP корзины. Я нашел корзину, но, конечно, она нуждается в доработке. Хитрость заключается в том, чтобы добиться суммирования одной и той же пары из колонки Order Profit Trade. Находясь на графике с конкретной парой, я думал, что придумал пустоту, но это довольно сложно. Функция должна каким-то образом считывать OrderProfit по паре?
Смотрите мой код в качестве плохого примера;
void closeTrades( CURRENCY* ¤cies[] ) {
// Проверка на выход из корзины
if ( doBasketExit ) {
double basketProfit = getBasketProfit();
if ( ( ( BasketTP > 0.0 ) && ( basketProfit > BasketTP ) ) ||
( ( BasketSL < 0.0 ) && ( basketProfit < BasketSL ) ))) {
closeAll();
}
}
double getBasketProfit() {
double basketProfit = 0.0;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--) {
if (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
if ((OrderMagicNumber() == MagicNumber) {
if ( (OrderType() == OP_BUY) || (OrderType() == OP_SELL) ) {
basketProfit += OrderProfit() + OrderSwap() + OrderCommission();
}
}
}
}
return(basketProfit);
}
void closeAll() {
double closePrice;
string symbolName;
int result;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--) {
if (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
if ((OrderMagicNumber() == MagicNumber) {
if ( (OrderType() == OP_BUY) || (OrderType() == OP_SELL) ) {
symbolName = OrderSymbol();
closePrice = ( OrderType() == OP_BUY ) ? MarketInfo( symbolName, MODE_BID ) : MarketInfo( symbolName, MODE_ASK );
result = OrderCloseReliable(OrderTicket(), OrderLots(), closePrice, 50 );
}
}
Очень признателен, если вы рассмотрите это.
Спасибо
Рэй
Рэй
Вам нужен своего рода "материнский советник" - который будет знать все магические числа, обрабатываемые другими советниками, и затем выполнять операции "на группе", которые вам нужны.
Попробуйте сделать следующее:
Вместо
Рэй
Вам нужен некий "материнский советник" - который будет знать все магические числа, обрабатываемые другими советниками, и затем выполнять операции "на группе", которые вам нужны.
mladen
спасибо за ваши мысли по этому вопросу. Так что НЕТ.
еще раз спасибо
Рэй
я пытался сделать так, чтобы стрелка появлялась после закрытия сигнальной свечи, чтобы избежать перерисовки, но все безрезультатно. пожалуйста, помогите мне MR. TOOLS и MLADEN, ниже приведен код.
Привет Младен
Мне нужен индикатор ITM X-Gen Daily Scalper Indicator.mq4
Помогите мне
Спасибо
Привет, Младен
Мне нужен ITM X-Gen Daily Scalper Indicator.mq4
Помогите мне
Спасибо
alozard
Этот индикатор переименован в мой индикатор Centered TMA bands. Вы можете найти его здесь: https: //www.mql5.com/en/forum/181241
Г-н Младен, пожалуйста, посмотрите на приведенные ниже коды, стрелка не появляется в реальном времени, пока я не переключу таймфрейм.
Г-н Младен, пожалуйста, посмотрите на приведенные ниже коды, стрелка не появляется в реальном времени, пока я не переключу таймфрейм.
kapoo
Как я уже говорил вам несколько раз: этот индикатор - плохой перерисовщик, и именно поэтому он делает то, что делает. Мой лучший совет - забудьте о нем.