Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1971

 

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

TrailingPositions(Trailing);

А запись a=-5; является короткой записью a=a-5;

так же

a+=5;

а/=5;

a*=5;

или a-=b; означает a=a-b;

эту строчку я просто для примера написал.


Позволю совет. Передавайте все переменные в Вашу функцию явным методом через скобки. При этом используйте префикс, чтобы переменные внутри функции всегда отличались от глобальных. Таким образом получится, что все Ваши функции будут изолированы от окружающего кода. И не будут происходить странные ошибки, которые тяжело найти. В Вашем случае так:

void TrailingPositions(bool eProfitTrailing, int eTrailingStop, int eTrailingStep, int &eTrailing)
 
Aleksei Stepanenko #:

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

А запись a=-5; является короткой записью a=a-5;

так же

a+=5;

а/=5;

a*=5;

Запись a = -5; о том и говорит, что А равно значению минус пять.

Запись a -= 5; говорит о том, что от значения А нужно вычесть значение 5 и присвоить результат переменной А

 
да опечатался
 
Aleksei Stepanenko #:

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

А запись a=-5; является короткой записью a=a-5;

так же

a+=5;

а/=5;

a*=5;

или a-=b; означает a=a-b;

эту строчку я просто для примера написал.


Позволю совет. Передавайте все переменные в Вашу функцию явным методом через скобки. При этом используйте префикс, чтобы переменные внутри функции всегда отличались от глобальных. Таким образом получится, что все Ваши функции будут изолированы от окружающего кода. И не будут происходить странные ошибки, которые тяжело найти. В Вашем случае так:

спасибо! буду разбираться

 
Tobias Johannes Zimmer #:
Woher wissen wir genau, dass es fehlerhafte Schließungen waren? Beobachten wir das Verhalten des EAs doch einmal genau im visuellen Tester...

Die Taktik des Expert Advisors besteht darin, den Kurs des Handels umzukehren, wenn er am Signal des Endes des Trends schließt und die Transaktion in die entgegengesetzte Richtung öffnet.

Ich bemerkte ein Muster des Schließens von Transaktionen während eines Putsches, ohne eine umgekehrte Transaktion zu eröffnen. Geschlossene verlierende Coup-Trades bleiben bestehen und werden hinzugefügt, ohne Reverse-Trades zu eröffnen. Ich werde Ihnen den Experten selbst hinzufügen, ich hoffe auf Ihr scharfes Auge und weisen Rat? 

Файлы:
 

Вопрос появился, в тестере как понять, локализовать общую ошибку код 2. В 4ке ОрдерСенд дает ошибку 2, уменьшаю лот, начинает работать без ошибок.

2022.06.16 14:51:24.451 2022.06.13 22:06:00  MityBuy_3 USDCHF,M5: Alert: Общая ошибка.
2022.06.16 14:51:24.451 2022.06.13 22:06:00  MityBuy_3 USDCHF,M5: OrderSend error 2
2022.06.16 14:51:24.451 2022.06.13 22:06:00  MityBuy_3 USDCHF,M5: Alert: Attempt to open Buy Waiting for a response.. Price 0.99698 SL 0.9946700000000001 TP 1.00035
2022.06.16 14:51:24.451 2022.06.13 22:06:00  MityBuy_3 USDCHF,M5: Alert:  Lot 5.58 Min_Lot 0.01 Free Margin 11175.84 Lts*One_Lot 1116.0 One_Lot 200.0 Step 0.01

Да, перед этим в тестере неправильные стопы раз 5.

2022.06.16 14:51:14.364 2022.05.18 22:27:42  MityBuy_3 USDCHF,M5: Alert: Attempt to open Buy Waiting for a response.. Price 0.98702 SL 0.9849599999999999 TP 0.99024
2022.06.16 14:51:14.364 2022.05.18 22:27:42  MityBuy_3 USDCHF,M5: Alert:  Lot 5.58 Min_Lot 0.01 Free Margin 11175.84 Lts*One_Lot 1116.0 One_Lot 200.0 Step 0.01
2022.06.16 14:51:14.363 2022.05.18 22:27:40  MityBuy_3 USDCHF,M5: Alert: Общая ошибка.
2022.06.16 14:51:14.363 2022.05.18 22:27:40  MityBuy_3 USDCHF,M5: OrderSend error 2
2022.06.16 14:51:14.363 2022.05.18 22:27:40  MityBuy_3 USDCHF,M5: Alert: Attempt to open Buy Waiting for a response.. Price 0.98695 SL 0.98489 TP 0.9902300000000001
2022.06.16 14:51:14.363 2022.05.18 22:27:40  MityBuy_3 USDCHF,M5: Alert:  Lot 5.58 Min_Lot 0.01 Free Margin 11175.84 Lts*One_Lot 1116.0 One_Lot 200.0 Step 0.01
2022.06.16 14:51:11.196 2022.05.11 22:30:40  MityBuy_3 USDCHF,M5: Alert:  Lot 5.0 Min_Lot 0.01 Free Margin 10000.0 Lts*One_Lot 1000.0 One_Lot 200.0 Step 0.01
2022.06.16 14:51:11.196 2022.05.11 22:30:32  MityBuy_3 USDCHF,M5: Alert: Возникла ошибка 130
2022.06.16 14:51:11.196 2022.05.11 22:30:32  MityBuy_3 USDCHF,M5: OrderSend error 130
 
 Подскажите,как сделать виртуальный уровень?
Пример:
 Требуется определить некий максимум и при пересечении его 
ценой снизу вверх(или закрытии свечи выше уровня) удалить 
имеющтеся ордера или сделать другое действие.

level =iHigh(_Symbol,0,iHighest(_Symbol,0,MODE_HIGH,3,1));//определил уровень
 
if(Close[1]>level){CloseOrders();} 

 Мне непонятно как переменную level оставить на месте,
т.к. с движением цены вниз она будет двигаться по highest из
следующих трех свечей.
 
sandrdinn #:
 Подскажите,как сделать виртуальный уровень?
Пример:
 Требуется определить некий максимум и при пересечении его 
ценой снизу вверх(или закрытии свечи выше уровня) удалить 
имеющтеся ордера или сделать другое действие.

level =iHigh(_Symbol,0,iHighest(_Symbol,0,MODE_HIGH,3,1));//определил уровень
 
if(Close[1]>level){CloseOrders();} 

 Мне непонятно как переменную level оставить на месте,
т.к. с движением цены вниз она будет двигаться по highest из
следующих трех свечей.

Нужно условие для определения "level"

if(условие) level =iHigh(_Symbol,0,iHighest(_Symbol,0,MODE_HIGH,3,1));

так "level" будет меняться только при соблюдении условий

 

Приветствую. Подскажите, пожалста. 


При отладке индикатора мт5 на исторических или реальных данных во вкладке "отладка" появляются все имеющиеся переменные и массивы, некоторые за ненадобностью удаляю, а после нажатия f5 снова появляются удаленные из списка строки. Как сделать чтоб не появлялись?

Раньше, вроде, в этом списке появлялось только то что сам добавил.

 
Andrei Sokolov #:

Приветствую. Подскажите, пожалста. 


При отладке индикатора мт5 на исторических или реальных данных во вкладке "отладка" появляются все имеющиеся переменные и массивы, некоторые за ненадобностью удаляю, а после нажатия f5 снова появляются удаленные из списка строки. Как сделать чтоб не появлялись?

Раньше, вроде, в этом списке появлялось только то что сам добавил.

10. MetaEditor: Добавлена возможность автоматического отображения локальных переменных в списке наблюдения в отладчике. Для этого включите опцию "Локальные" в контекстном меню. Во время отладки по мере перехода по коду в список будут автоматически выводиться переменные из текущей области видимости.


Когда переходите в другую функцию например, то и переменные меняются.

Вручную добавляются переменные глобального уровня.
Новая версия платформы MetaTrader 5 build 3300: Быстрая компиляция и улучшенная навигация по коду в MetaEditor
Новая версия платформы MetaTrader 5 build 3300: Быстрая компиляция и улучшенная навигация по коду в MetaEditor
  • 2022.05.19
  • www.mql5.com
В пятницу 20 мая 2022 года будет выпущена обновленная версия платформы MetaTrader 5...
Причина обращения: