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

 
Мисс Фокс Про, ма, это были те дни.
 

Итак, сейчас я переделал советника.

Конечно, он неприносит прибыли, но, по крайней мере, он читаем (для меня).

Удачи в дальнейшей работе с ним.

Файлы:
 
Otto Pauser:

Теперь я перестроил советника.

Конечно, он не приносит прибыли, но, по крайней мере, он читаем (для меня).

Удачи в дальнейшей работе с ним.

СПАСИБО ВАМ БОЛЬШОЕ ЗА ЭТО!

Пока прощаюсь с отпуском без ноутбука.

 
vmajor:

Привет, я новичок, отличное руководство, спасибо!


Но у меня возникла проблема. Я скомпилировал предоставленный пример, прогнал через отладчик, точки останова сработали, возобновил отладку и получаю 4756 ошибку как на ордерах на покупку, так и на продажу, вот так:



Что может происходить и на что мне следует обратить внимание, чтобы исправить такое поведение?


V.


Это ошибка в советнике. Посмотрите на страницу 2, где находится решение.

Лучший подход: использовать класс https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade.

Documentation on MQL5: Standard Library / Trade Classes / CTrade
Documentation on MQL5: Standard Library / Trade Classes / CTrade
  • www.mql5.com
Standard Library / Trade Classes / CTrade - Reference on algorithmic/automated trading language for MetaTrader 5
 

Советник открывает много позиций как на покупку, так и на продажу.

Лучший способ исправить это - следующий:

if(Buy_Condition_1 && Buy_Condition_2)

{

if(Buy_Condition_3 && Buy_Condition_4)

{

// есть ли открытая позиция на покупку?

if(Buy_opened || Sell_opened)

{

Alert("У нас уже есть открытая позиция!!!");

return; // Не открывать новую позицию на покупку

}

---------------То же самое применимо к позиции на продажу-----------------------.


Оригинальный код под открывает несколько позиций:

if(Buy_Condition_1 && Buy_Condition_2)

{

if(Buy_Condition_3 && Buy_Condition_4)

{

// есть открытая позиция на покупку?

if(Buy_opened ) //Ошибка, должно быть: if(Buy_opened || Sell_opened)

Alert("У нас уже есть открытая позиция!!!");

return; // Не открывать новую позицию на покупку

}

 
chucks4sure:

Пожалуйста, отредактируйте свое сообщение и используйте кнопку кода (Alt + S) при размещении кода.

 
Кто-нибудь может помочь мне с оптимизацией советника?
Какие значения начала, конца и шага я должен использовать?
Могу ли я использовать генетическую оптимизацию?
 
Раз сюда еще заходят, хорошая статья, хороший труд))) Вопрос, правильно ли в статье рассчитаны цена открытия ордера, стоплосс и тейкпрофит для бай от цены аск, для селл от цены бид? Вроде правильно для бай цена открытия ордера - аск, а стоплосс и тейкпрофит рассчитываем от цены бид? Ведь закрывается бай ордер по цене бид. Извиняюсь за русский в терминах.
 
VikMorroHun:


Это ошибка в советнике. Посмотрите на страницу 2, где находится решение.

Лучший подход: использовать класс https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade.



У меня ошибка 4756, я видел решение на странице 2, и я проверил оригинальный код, там было ZeroMemory(mrequest); в самой строке 218. но у меня все равно ошибка 4756.

 
wefgoncalves:
Кто-нибудь может помочь мне с оптимизацией советника?
Какие значения начала, конца и шага я должен использовать?
Могу ли я использовать генетическую оптимизацию?

Привет, мой друг, я тоже новичок, но есть канал на YouTube, который очень помог мне с оптимизацией, канал Vilela!

Я нашел там много полезного, с отличным преподаванием. могу ли я пообщаться с тобой, чтобы мы могли обменяться опытом?
хорошей учебы!!!