Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 127

 
nsd63Можно ли сделать с этим индикатором  

Нужен исходник MQ4

 

Граждане подскажите как выразить в коде такую логику!

У меня есть на графике МА....и мне надо что бы срабатывал SELL, если свеча пересекла МА всерху вниз и BUY, если свеча пересекла снизу вверх....

Заранее благодпрен!

 
sviter-pro:

Граждане подскажите как выразить в коде такую логику!

У меня есть на графике МА....и мне надо что бы срабатывал SELL, если свеча пересекла МА всерху вниз и BUY, если свеча пересекла снизу вверх....

Заранее благодпрен!

в терминале есть советник Moving Average.mq4 - там это уже сделано. Отлично работает

 

Приветствую.

Подскажите, пожалста,  как "подсунуть" в тестер МТ4 созданный файл истории с таймфремом которого нет в тестере (или другие варианты)?

Суть в том что есть советник, отсюда  который в реальном времени создает файл истории в свечах ренко с нестандартным таймфремом. Необходимо по созданному файлу, после, тестировать. Переименовать получившийся файл истории с нестандартным таймфреймом на стандартный не помогает, тестер выдает TestGenerator: no history data 'GBPUSD5' from 2017.01.05 to 2017.06.14 Именно по созданному в в реальном времени а не с истории тк с истории график получается не очень корректно. Или же сам индикатор подправить так чтоб он создавал график со стандартным таймфреймом, предварительно удалив соответствующий из истории. У меня пока получилось подправить только так что он файл создает но он пустой.  

Торгуй с удовольствием! Свечи Ренко — построение графика «по кирпичику»
Торгуй с удовольствием! Свечи Ренко — построение графика «по кирпичику»
  • tradelikeapro.ru
Здравствуйте, друзья! На нашем сайте уже было несколько форекс стратегий для торговли по графикам Ренко (Renko), думаю стоит рассмотреть этот тип графиков отдельно, обсудить плюсы и минусы такого подхода к торговле. Также в рамках этого обзора мы познакомимся с альтернативным индикатором для построения графиков Ренко, т.к. часть старых утилит...
 
Andrey Sokolov:

Приветствую.

Подскажите, пожалста,  как "подсунуть" в тестер МТ4 созданный файл истории с таймфремом которого нет в тестере (или другие варианты)?

Суть в том что есть советник, отсюда  который в реальном времени создает файл истории в свечах ренко с нестандартным таймфремом. Необходимо по созданному файлу, после, тестировать. Переименовать получившийся файл истории с нестандартным таймфреймом на стандартный не помогает, тестер выдает TestGenerator: no history data 'GBPUSD5' from 2017.01.05 to 2017.06.14 Именно по созданному в в реальном времени а не с истории тк с истории график получается не очень корректно. Или же сам индикатор подправить так чтоб он создавал график со стандартным таймфреймом, предварительно удалив соответствующий из истории. У меня пока получилось подправить только так что он файл создает но он пустой.  

график Ренко - результат наложения на историю фильтра низких частот с люфтом. МА дает плавную кривую, а Ренко - из-за люфта ступенчатую. Сохраните результат фильтрации в массиве и работайте дальше... Недели через две освобожусь и займусь этим вплотную

 

Ребята подскажите пож. как записать в коде советника чтобы при едино разовом  выполнении условия советник открывал 3 сделки сразу с возможностью установки LS?

Вот моё условие

if(MA_1>MA_2)
ticket=OrderSend(_Symbol,OP_BUY,Lots,Ask,0,Ask-SL*Point,Bid+TP*Point,NULL,0,0,clrGreen);
if(MA_1<MA_2)
ticket=OrderSend(_Symbol,OP_SELL,Lots,Bid,0,Bid+SL*Point,Ask-TP*Point,NULL,0,0,clrRed);

Мне советовали использовать функцию OrdersTotal() ) но она не подходит в моём случае. Я записал так

void OnTick()
  {
//---
   double MA_1;
   MA_1=iMA(_Symbol,0,1,0,1,0,0);
   double MA_2;
   MA_2=iMA(_Symbol,0,6,0,1,0,0);
   int ticket=0;
   if(OrdersTotal()<=3)
     {
      if(MA_1>MA_2)
         ticket=OrderSend(_Symbol,OP_BUY,Lots,Ask,0,Ask-SL*Point,Bid+TP*Point,NULL,0,0,clrGreen);
      if(MA_1<MA_2)
         ticket=OrderSend(_Symbol,OP_SELL,Lots,Bid,0,Bid+SL*Point,Ask-TP*Point,NULL,0,0,clrRed);
     }
//---
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }

Компилируется ошибок нет но это не для моего случая данная функция.

 
Граждане подскажите где найти советника (перевертыша ордеров)...
Тоесть его логика такова:
Открывается первый ордер по условию, и когда появляются другие условия, то первый ордер закрывается и открывается второй ордер по другим условиям!!! Может есть где почитать про это?

я сделал как мог! но ордера не закрываются Помогите плиз...

MA1_0 = iMA(_Symbol, _Period, ma1, 0, ma1_method, ma1_Price, 1); 
MA1_1 = iMA(_Symbol, _Period, ma1, 0, ma1_method, ma1_Price, 2);

MA2_0 = iMA(_Symbol, _Period, ma2, 0, ma2_method, ma2_Price, 1); 
MA2_1 = iMA(_Symbol, _Period, ma2, 0, ma2_method, ma2_Price, 2); 

if(MA1_0 < MA2_0 && MA1_1 >= MA2_1) //продажа
{
if(tp > 0) TP = NormalizeDouble(Bid - tp * _Point, _Digits); else TP = NULL;
ticket = OrderSend(_Symbol, OP_SELL, lot, Bid, slippage, 0, TP, NULL, Magic, 0, clrRed); //продажа
Print("Ошибка открытия ордера на продажу");

else 
{
Print("Успешное открытие ордера на продажу");
}
else if(MA1_0 > MA2_0 && MA1_1 <= MA2_1)//покупка
{
ticket_close = OrderClose (ticket, lot, Bid, slippage, clrRed);
Print("Успешное закрытие ордера на продажу");

else 

Print("Ошибка закрытия ордера на продажу");
}
 
Подскажите пожалуйста, почему советник перестает видеть свои ордера (открывает вместо одного,по условию, несколько)если помимо его ордеров присутствуют сторонние ордера? Если ордера только советника - проблем нет. "Меджик" при открытиии ордера указывается,по условию открытия ордера выбираются ордера только с этим" меджиком".
 
sviter-pro:
Граждане подскажите где найти советника (перевертыша ордеров)...
Тоесть его логика такова:
Открывается первый ордер по условию, и когда появляются другие условия, то первый ордер закрывается и открывается второй ордер по другим условиям!!! Может есть где почитать про это?

я сделал как мог! но ордера не закрываются Помогите плиз...

MA1_0 = iMA(_Symbol, _Period, ma1, 0, ma1_method, ma1_Price, 1); 
MA1_1 = iMA(_Symbol, _Period, ma1, 0, ma1_method, ma1_Price, 2);

MA2_0 = iMA(_Symbol, _Period, ma2, 0, ma2_method, ma2_Price, 1); 
MA2_1 = iMA(_Symbol, _Period, ma2, 0, ma2_method, ma2_Price, 2); 

if(MA1_0 < MA2_0 && MA1_1 >= MA2_1) //продажа
{
if(tp > 0) TP = NormalizeDouble(Bid - tp * _Point, _Digits); else TP = NULL;
ticket = OrderSend(_Symbol, OP_SELL, lot, Bid, slippage, 0, TP, NULL, Magic, 0, clrRed); //продажа
Print("Ошибка открытия ордера на продажу");

else 
{
Print("Успешное открытие ордера на продажу");
}
else if(MA1_0 > MA2_0 && MA1_1 <= MA2_1)//покупка
{
ticket_close = OrderClose (ticket, lot, Bid, slippage, clrRed);
Print("Успешное закрытие ордера на продажу");

else 

Print("Ошибка закрытия ордера на продажу");
}

        Ордер на продажу закрывается по цене Ask

 
Anatoliy Ryzhakov:
Подскажите пожалуйста, почему советник перестает видеть свои ордера (открывает вместо одного,по условию, несколько)если помимо его ордеров присутствуют сторонние ордера? Если ордера только советника - проблем нет. "Меджик" при открытиии ордера указывается,по условию открытия ордера выбираются ордера только с этим" меджиком".

у Вас стоит break а нужно continue

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