Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо за ваши усилия, Николишен. К сожалению, это не сработало. Он изменяет ордера, но в обе стороны. Я имею в виду, что в ситуации покупки он передвигает стоп вверх по точкам трейла, но он также передвигает его вниз. Мне нужно остановить движение вниз.
Я понимаю, что вы имеете в виду, но код правильный. Либо другой советник модифицирует эти ордера, либо в советнике есть другой код, который это делает, потому что это точно не этот код. Вам нужно остановить все другие советники и проверить код основного советника на наличие других вызовов OrderModify().
Удачи =)
Спасибо, что уделили время моему бестолковому "я".
единственная другая ордерная модификация в коде - это безубыток и блокировка пипсов. я прикреплю ее.
BEx=количество пунктов для блокировки.
Я проходил через это столько раз, что уверен, что это смотрит прямо на меня, но я не профессионал, в лучшем случае халтурщик.
Еще раз спасибо Николишен!
{
for (int i = 0; i < OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // only look if mygrid and symbol...
{
if (OrderType() == OP_BUY) if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);
if (OrderType() == OP_SELL) if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);
}
}
}О, забыл добавить, это единственный советник. Просто в настоящее время бэктестирую.
Спасибо, что уделили время моему бестолковому "я"
единственная другая ордерная модификация в коде - это безубыток и блокировка пипсов. я прикреплю ее.
BEx=количество пипсов для фиксации.
Я проходил это столько раз, что уверен, что это смотрит прямо на меня, но я не профессионал, в лучшем случае халтурщик.
Еще раз спасибо Николишен!
{
for (int i = 0; i < OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName)) ) // only look if mygrid and symbol...
{
if (OrderType() == OP_BUY) if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);
if (OrderType() == OP_SELL) if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT)) if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);
}
}
}[/PHP]
Oh forgot to add, this is the only EA. Just currently backtesting.Вероятно, происходит то, что одна фукция обнуляет другую. Вам нужно проверить логику так, чтобы только одна функция работала одновременно.
[PHP]void DoBE(int byPips)
{
for (int i = 0; i < OrdersTotal(); i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if ( OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueGridMagic) || (OrderComment() == GridName))) ) // смотрим только если mygrid и symbol...
{
if (OrderType() == OP_BUY)
{
if (Bid - OrderOpenPrice() > byPips * MarketInfo(OrderSymbol(), MODE_POINT))
{
if (OrderStopLoss() != (OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT))))
{
OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);
}
}
}
if (OrderType() == OP_SELL)
{
if (OrderOpenPrice() - Ask > byPips * MarketInfo(OrderSymbol(), MODE_POINT))
{
if (OrderStopLoss() != (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT))))
{
OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_POINT)*BEx, OrderTakeProfit(), Red);
}
}
}
}
}
return;
}Проверка команд/кода MQL4
Сообщение удалено. Извините за неудобства.
Код для 'Allow live trading'
Здравствуйте, для работы советника нам необходимо включить опцию "Разрешить торговлю в реальном времени", поэтому вместо того, чтобы постоянно отмечать ее при загрузке советника, какую строку кода я должен добавить, чтобы автоматически включить эту опцию в советнике?
Спасибо
Вам не нужен код для этого...
Здравствуйте, чтобы советник работал, мы должны включить опцию "Разрешить торговлю в реальном времени", поэтому вместо того, чтобы постоянно отмечать ее при загрузке советника, какую строку кода я должен добавить, чтобы эта опция автоматически включалась в советнике? Спасибо
Hallo Matrixebiz,
Вы можете сделать это легко, зайдя в меню MetaTrader. Перейдите в "Инструменты", затем "Опции" (или просто наберите CRTL-O). Затем, на вкладке "Советник", отметьте опцию "Разрешить торговлю в реальном времени". Вот так, все советники, которые вы подключите после этого, будут разрешены для торговли в реальном времени.
-RJ1-
О, хорошо, это было легко Спасибо.
Временной код эксперта
Мне нужен временной код советника. Например, чтобы он позволял торговать только с 18:00 до 1:00. Возможно ли это?
Нашел следующее
if (UseHourTrade){
if(!(Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){
Comment("Неторговые часы!");
return(0);
Один вопрос:
Он использует время моего форекс брокера: Да или Нет?
Я думаю да, но я хочу быть уверен.
И как я могу поставить там минуты, например 15:30? Есть только часы?