Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как улучшить эти результаты?!
Здравствуйте,
Я пишу свой первый советник, который частично показывает хорошие результаты при обратном тестировании. Однако я не могу понять, как улучшить плохие стороны.
Во-первых, он имеет высокий процент выигрыша 86%, но только небольшой коэффициент прибыли, потому что убыточные сделки теряют гораздо больше, чем выигрывают победители!
У меня есть ММ, который не использует более 5% баланса счета на сделку, а на всю активную торговлю может быть использовано не более 11% баланса счета. Также я отслеживаю все стоп-лоссы.
Кажется, что я закрываю (OrderClose) выигрышные сделки слишком рано, а проигрышные сделки слишком поздно (или S/L).
Какова хорошая стратегия для этого? Я реализовал что-то вроде "не закрывать выигрышные сделки, даже если есть сигнал closebuy", но и это сработало не лучше!
Буду признателен за любые советы! Полный отчет можно найти здесь.
самый простой способ добавить тейк-профит в 3 пункта для каждой ручной сделки?
Мне нужно добавить тейк-профит в 3 пункта на форекс для каждой сделки, заключенной вручную. какой самый простой способ сделать это? у меня нет навыков программирования, и я не могу найти значение по умолчанию, которое можно установить в опциях metatrader 4.
Сброс стоп-приказа на покупку
Здравствуйте,
Я написал этот код, и хотя он компилируется, он не работает. (Имеется в виду, что он не удаляет бай-стоп).
Я подумал, что может быть что-то не так с оператором "for", но я довольно новичок, поэтому не уверен.
Если кто-то может указать мне на проблему, я буду очень признателен.
спасибо
if( StopResetMinutes > 0)
{
total = OrdersTotal();
if(total>0)
for(i=0;i<total;i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
{
if((TimeCurrent() - OrderOpenTime()) /60 > StopResetMinutes ) OrderDelete(OrderTicket());
{
if(PrintComments) Print("Buy Stop Deleted.");
}
}
}
}
Привет,
Я написал этот код, и хотя он компилируется, он не работает. (Имеется в виду, что он не удаляет buystop).
Я подумал, что может быть что-то не так с оператором "for", но я довольно новичок, поэтому не уверен.
Если кто-то может указать мне на проблему, я буду очень признателен.
спасибо
if( StopResetMinutes > 0)
{
total = OrdersTotal();
if(total>0)
for(i=0;i<total;i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
{
if((TimeCurrent() - OrderOpenTime()) /60 > StopResetMinutes ) OrderDelete(OrderTicket());
{
if(PrintComments) Print("Buy Stop Deleted.");
}
}
}
}
[/code][CODE] if( StopResetMinutes > 0)
{
total = OrdersTotal();
if(total>0)
for(i=0;i<total;i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol())
{
if((TimeCurrent() - OrderOpenTime()) /60 > StopResetMinutes )
{
OrderDelete(OrderTicket());
if(PrintComments) Print("Buy Stop Deleted.");
}
}
}
}Привет,
Я написал этот код, и хотя он компилируется, он не работает. (То есть он не удаляет buystop).
Если вы хотите закрыть ордера BUY или SELL, вы должны использовать функцию OrderClose().
if(OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol())
{
if((TimeCurrent() - OrderOpenTime()) /60 > StopResetMinutes )
{
OrderDelete(OrderTicket());
if(PrintComments) Print("Buy Stop Deleted.");
}
}
}
}Знаете, я работал над этим два дня, а вы решили проблему за несколько секунд...
Спасибо, спасибо, спасибо... Спасибо и спасибо...
Надеюсь, я звучу благодарно, потому что я в восторге!
ура
Уважаемые все,
У меня простой, на мой взгляд, вопрос.
У меня есть индикатор, который уведомляет меня всплывающим окном (alert), и я хотел добавить пользовательский звук (кроме стандартного alert.wav).
Я заметил, что когда происходит событие и появляется оповещение, неважно, какой "пользовательский" звук я запрограммировал в индикаторе, Metatrader 4 ВСЕГДА воспроизводит звук, который я назначил для оповещения (по умолчанию это alert.wav, см. меню MT4 Tools>Options>Events).
Возможно ли запрограммировать индикатор таким образом, чтобы я получал и визуальное оповещение, и назначенное мной звуковое оповещение...?
Заранее большое спасибо!
На самом деле, вы можете взять любой звук, назвать его alert.wav и заменить оригинальный файл.
Изменение пользовательского оповещения
Уважаемые все,
У меня простой, на мой взгляд, вопрос.
У меня есть индикатор, который уведомляет меня всплывающим окном (алертом), и я хотел добавить пользовательский звук (кроме стандартного alert.wav).
Я заметил, что когда происходит событие и появляется оповещение, неважно, какой "пользовательский" звук я запрограммировал в индикаторе, Metatrader 4 ВСЕГДА воспроизводит звук, который я назначил для оповещения (по умолчанию это alert.wav, см. меню MT4 Tools>Options>Events).
Возможно ли запрограммировать индикатор таким образом, чтобы я получал и визуальное оповещение, и назначенное мной звуковое оповещение...?
Заранее большое спасибо!Здравствуйте, Snowski,
Try............
if (alert_ON == true) // для включения или выключения звукового оповещения
{
Alert ("Key in you custom PopUp Here",Symbol(),"-",TimeFrame);
PlaySound("custom.wav");
}
Я не так хорош в кодировании, но вы можете попробовать это, так как это должно работать. Пользовательский .wav, вы можете ввести свое собственное имя файла в ("??????.wav").
если вы хотите иметь возможность включать и выключать оповещение, вам также нужно добавить
extern bool alert_ON = True; // или false в начале кода вашего индикатора.
Функция истории
Здравствуйте,
У меня есть следующий код. Я пытаюсь реализовать задержку между моими ордерами buystop в случае, если они были удалены. Я никогда раньше не использовал функцию истории.
Я не могу скомпилировать его из-за ошибки несбалансированных круглых скобок, может ли кто-нибудь сказать мне, почему они несбалансированные?
Кроме того, может ли кто-нибудь сказать мне, на правильном ли я пути или мне следует поискать другой способ сделать это?
if ((type == _OP_BUYSTOP) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))//Time Delay for the next Buy Stop Order
int hstTotal=OrdersHistoryTotal();
for(i=0;i<hstTotal;i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
Print("Access to history failed (",GetLastError(),")"); break;
{
if (OrderDelete() && (((TimeCurrent() - OrderCloseTime())/60) =< NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;
}
}
Спасибо