Обсуждение статьи "Пошаговое руководство по написанию советников в MQL5 для начинающих" - страница 9

 
Karputov Vladimir:

Скорее всего всё дело в:


Спасибо, Владимир, попробую в понедельник
 

Добрый день!

Снова

My_First_EA (EURUSD,H1) 2016.03.01 07:00:00   Alert: Запрос на установку ордера Sell не выполнен - код ошибки:4756.

ZeroMemory(mrequest)  добавил перед    mrequest.action = TRADE_ACTION_DEAL;  

В коде еще

MqlRates mrate[];           // Будет содержать цены, объемы и спред для каждого бара

   ZeroMemory(mrequest);

/*

     Установим индексацию в массивах котировок и индикаторов 

     как в таймсериях

*/

// массив котировок

   ArraySetAsSeries(mrate,true); 

 

Подскажите, как пофиксить, пожалуйста!

 

Upd.        

 

 mrequest.type_filling = ORDER_FILLING_IOC; 

 mrequest.type_time    = ORDER_TIME_DAY;  

 

Спасибо, Karputov Vladimir 2016.02.26 06:10!

 https://www.mql5.com/ru/forum/15020#comment_1950544

Неполные сведения FOK заявки
Неполные сведения FOK заявки
  • www.mql5.com
Другие функции OrderOpen, PositionOpen с параметром тип ордера ORDER_TYPE_BUY_LIMIT тоже не получается. - - Категория: биржевой трейдинг
 
Сделки, указанные на приведённой части графика цены при тестировании у меня совпадают, однако график баланса/средств разительно отличается. ))  Я не понимаю, просто, за каким фигом вставлять в такие статьи липовые графики, изображая прибыльность? Это же пример! Никто не будет в претензии, если пример даёт стабильный убыток, но зачем вводить людей в заблуждение?! Я кучу времени потратил, разбираясь, что я делаю не так, почему у меня график баланса другой. Я, конечно, извиняюсь, что был слегка наивен, ожидая графика как на картинке. Может тут типа все в курсе, что это "для красоты" делается, но я, вот, не знал.
 
AsketSD:

После некоторых трудностей тестер отработал полностью и выдал результаты, совпадаюшие с заявленными результатами в статье.

А как это может такое быть: одинаковый код, одинаковые входные данные, а результат разный? ))

Я не понимаю. У меня ничего похоже на приведённый график баланса не выходит.

 

Сначала открывает 1 sell затем 1 buy и следом шарашит еще кучу позиций на покупку, в итоге все быстро сливает. Код проверки на открытые позиции некорректный. В коде ничего не правил

 

Попытался в исходном коде поменять условие на открытие позиции при пересечении SAR - получилось. Затем добавил код трейлинга (изменения позиции по SAR) из справочника MQL5 по структуре MqlTradeRequest. Но устойчиво выдает ошибку [Invalid stops]. Видимо что-то с запросом не так. Кстати и пытаюсь изучать его (запрос на открытие позиции) в разных вариантах. И застрял на модификации позиции. Вообще не пойму, что не так делаю??? Советника прикрепил с этому сообщению.

Файлы:
SAR_SAR.mq5  27 kb
 

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

после чего только срабатывает новый сигнал бай

Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит...
 

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

Советник не видит что уже есть открытые позиции Buy и Sell и открывает новые, несмотря на то что в коде есть проверка

на уже открытые позиции. Проверка почему то не срабатывает.

 
Korobejnik:
Подскажите как решить проблему. Советник открывает несколько позиций подряд на покупку. Тоже самое на продажу.

Ошибка в строке №230. Исправьте ошибку.

 
Vladimir Karputov:

Ошибка в строке №230. Исправьте ошибку.

Vladimir Karputov:

Ошибка в строке №230. Исправьте ошибку.

bool Sell_Condition_1 = (maVal[0]<maVal[1]) && (maVal[1]<maVal[2]);  // MA-8 падает

А что в ней не так?

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