Как кодировать? - страница 307

 

...

Да, вы правильно поняли.

Что касается настройки на fasle : mql - это C/C++ язык, что означает, что false == 0 и true == 1. Поэтому вы можете использовать этот способ. Вы не можете объявить тип глобальной переменной, так как они исключительно double, но используя верхние способы, вы можете использовать их как boolean.

crsnape@btinternet.com:
Ааа... Понятно. Потому что глобальные переменные сохраняют свои значения в памяти. Значит, как вы говорите, когда он заканчивает бэктест и его значение составляет 5000, это значение сохраняется в памяти, даже если бэктест запускается повторно, поэтому он никогда не вернет false, потому что BarsGV не ниже 5000? Боже, как это глубоко.

И еще, если он выдает ошибку, он устанавливает HasOrderedGV в false, чтобы можно было продолжить работу с остальным кодом?

Правильно ли я вас понял?

BTW - разрешено ли это?

GlobalVariableSet(HasOrderedGV, false);

Потому что в книге MQL4 написано:

datetime GlobalVariableSet([/TD] [TD]string name, double value)
Второе значение в моем примере является bool, а не double?
 

Он снова работает. Потрясающе.

Спасибо.

 

Или так и было...

Я поставил свои обычные тестовые даты 04.01.2011- 20.07.2012. Вчера вечером, когда я вставил BarsGV в init(), он работал хорошо, но когда я тестировал его сегодня утром без изменений, он разместил только один ордер 17.01.2011. Затем я снова протестировал его через 5 минут, не внося никаких изменений, и он вернул около 30 ордеров с 19.01.2011 по 21.04.2011!

В принципе, все работает как надо, но срывается раньше указанной мной даты окончания торгов. В журнале ошибок нет, print() выполняется как положено и т.д. Мои критерии входа должны развивать сделки вплоть до 20.07.2012.

Это кажется очень темпераментным, и я могу только предположить, что это связано с моей GlobalVariable. Что вы думаете?

 

Это мой журнал:

2012.07.23 09:08:16 2011.03.21 16:18 Тестер: тейк-профит #2 на 1.42100 (1.42100 / 1.42125)

2012.07.23 09:08:15 2011.03.04 14:39 Тестер: тейк-профит #1 на 1.40040 (1.40043 / 1.40068)

2012.07.23 09:08:14 2011.02.04 13:39 Тестер: стоп-лосс #3 на 1.35700 (1.35699 / 1.35724)

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Ticket Number 3 Symbol EURUSD Price 1.3718 SL 1.357 TP 0

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Советник пытается установить уровень тейк-профита...успешно

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: modify #3 buy 0.01 EURUSD at 1.37175 sl: 1.35700 tp: 1.41600 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Take profit позиции рассчитан успешно

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Ордер размещен успешно

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: EA attempting to place buy order...

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: open #3 buy 0.01 EURUSD at 1.37175 sl: 1.35700 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Размер позиции успешно рассчитан с использованием полученного процента риска

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Процент риска готов к использованию в расчете лотов

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Предыдущий ордер в прибыли. Выделен риск 3%

2012.07.23 09:08:14 2011.02.01 04:00 H4 Период EA EURUSD,H4: Получен билет номер 2 для последнего открытого ордера

2012.07.23 09:08:14 2011.02.01 04:00 H4 Период EA EURUSD,H4: Получен билет номер 2 для последнего открытого ордера

2012.07.23 09:08:14 2011.02.01 04:00 H4 Период EA EURUSD,H4: Проверка критериев покупки... успешно. Ордер готов к размещению

2012.07.23 09:08:13 2011.01.21 20:00 H4 Период EA EURUSD,H4: Номер билета 2 Символ EURUSD Цена 1.36 SL 1.3396 TP 0

2012.07.23 09:08:13 2011.01.21 20:00 Период H4 Советник EURUSD,H4: Советник пытается установить уровень тейк-профита...успешно

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: modify #2 buy 0.01 EURUSD at 1.35995 sl: 1.33960 tp: 1.42100 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: Take profit позиции рассчитан успешно

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: Order Placed successfully

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: EA attempting to place buy order...

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: open #2 buy 0.01 EURUSD at 1.35995 sl: 1.33960 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Период EA EURUSD,H4: Размер позиции успешно рассчитан с использованием полученного процента риска

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: Процент риска готов к использованию в расчете лотов

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: Предыдущий ордер в прибыли. Выделен риск 3%

2012.07.23 09:08:13 2011.01.21 20:00 H4 Период EA EURUSD,H4: Получен билет номер 1 для последнего открытого ордера

2012.07.23 09:08:13 2011.01.21 20:00 H4 Период EA EURUSD,H4: Получен билет номер 1 для последнего открытого ордера

2012.07.23 09:08:13 2011.01.21 20:00 H4 Период EA EURUSD,H4: Проверка критериев покупки... успешно. Ордер готов к размещению

2012.07.23 09:08:13 2011.01.19 04:00 H4 Период EA EURUSD,H4: Номер билета 1 Символ EURUSD Цена 1.3442 SL 1.3254 TP 0

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: Советник пытается установить уровень тейк-профита...успешно

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: modify #1 buy 0.01 EURUSD at 1.34415 sl: 1.32540 tp: 1.40040 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: позиция с тейк-профитом рассчитана успешно

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: Ордер размещен успешно

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: EA attempting to place buy order...

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: open #1 buy 0.01 EURUSD at 1.34415 sl: 1.32540 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Период EA EURUSD,H4: Размер позиции успешно рассчитан с использованием полученного процента риска

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: Процент риска готов к использованию в расчете лотов

2012.07.23 09:08:13 2011.01.19 04:00 H4 Период EA EURUSD,H4: Предыдущих ордеров не выявлено. Выделен риск 1%

2012.07.23 09:08:13 2011.01.19 04:00 H4 Период EA EURUSD,H4: Получен номер билета -1 для последнего открытого ордера

2012.07.23 09:08:13 2011.01.19 04:00 H4 Период EA EURUSD,H4: Проверка критериев покупки... успешна. Ордер готов к размещению

2012.07.23 09:08:12 H4 Period EA inputs: MagicNumber=42; RiskRewardRatio=3; D1SlowMAPeriod=200; D1FastMAPeriod=50; FastMACDPeriod=12; SlowMACDPeriod=26; SignalPeriod=9; DNCPeriod=120; SL_Period=10;

Работает как часы, но по какой-то причине перестает выставлять ордера после определенного периода времени...

 

...

Извините,

Но этих данных недостаточно, чтобы сказать, что происходит с вашим советником. Как я уже говорил пару раз, без кода я могу только гадать, а по приложенным данным я не могу даже предположить.

crsnape@btinternet.com:
Это мой журнал:

2012.07.23 09:08:16 2011.03.21 16:18 Тестер: тейк-профит #2 на 1.42100 (1.42100 / 1.42125)

2012.07.23 09:08:15 2011.03.04 14:39 Тестер: тейк-профит #1 на 1.40040 (1.40043 / 1.40068)

2012.07.23 09:08:14 2011.02.04 13:39 Тестер: стоп-лосс #3 на 1.35700 (1.35699 / 1.35724)

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Ticket Number 3 Symbol EURUSD Price 1.3718 SL 1.357 TP 0

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Советник пытается установить уровень тейк-профита...успешно

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: modify #3 buy 0.01 EURUSD at 1.37175 sl: 1.35700 tp: 1.41600 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Take profit позиции рассчитан успешно

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Ордер размещен успешно

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: EA attempting to place buy order...

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: open #3 buy 0.01 EURUSD at 1.37175 sl: 1.35700 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Размер позиции успешно рассчитан с использованием полученного процента риска

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Процент риска готов к использованию в расчете лотов

2012.07.23 09:08:14 2011.02.01 04:00 H4 Period EA EURUSD,H4: Предыдущий ордер в прибыли. Выделен риск 3%

2012.07.23 09:08:14 2011.02.01 04:00 H4 Период EA EURUSD,H4: Получен билет номер 2 для последнего открытого ордера

2012.07.23 09:08:14 2011.02.01 04:00 H4 Период EA EURUSD,H4: Получен билет номер 2 для последнего открытого ордера

2012.07.23 09:08:14 2011.02.01 04:00 H4 Период EA EURUSD,H4: Проверка критериев покупки... успешно. Ордер готов к размещению

2012.07.23 09:08:13 2011.01.21 20:00 H4 Период EA EURUSD,H4: Номер билета 2 Символ EURUSD Цена 1.36 SL 1.3396 TP 0

2012.07.23 09:08:13 2011.01.21 20:00 Период H4 Советник EURUSD,H4: Советник пытается установить уровень тейк-профита...успешно

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: modify #2 buy 0.01 EURUSD at 1.35995 sl: 1.33960 tp: 1.42100 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: Take profit позиции рассчитан успешно

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: Order Placed successfully

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: EA attempting to place buy order...

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: open #2 buy 0.01 EURUSD at 1.35995 sl: 1.33960 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Период EA EURUSD,H4: Размер позиции успешно рассчитан с использованием полученного процента риска

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: Процент риска готов к использованию в расчете лотов

2012.07.23 09:08:13 2011.01.21 20:00 H4 Period EA EURUSD,H4: Предыдущий ордер в прибыли. Выделен риск 3%

2012.07.23 09:08:13 2011.01.21 20:00 H4 Период EA EURUSD,H4: Получен билет номер 1 для последнего открытого ордера

2012.07.23 09:08:13 2011.01.21 20:00 H4 Период EA EURUSD,H4: Получен билет номер 1 для последнего открытого ордера

2012.07.23 09:08:13 2011.01.21 20:00 H4 Период EA EURUSD,H4: Проверка критериев покупки... успешно. Ордер готов к размещению

2012.07.23 09:08:13 2011.01.19 04:00 H4 Период EA EURUSD,H4: Номер билета 1 Символ EURUSD Цена 1.3442 SL 1.3254 TP 0

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: Советник пытается установить уровень тейк-профита...успешно

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: modify #1 buy 0.01 EURUSD at 1.34415 sl: 1.32540 tp: 1.40040 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: позиция с тейк-профитом рассчитана успешно

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: Ордер размещен успешно

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: EA attempting to place buy order...

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: open #1 buy 0.01 EURUSD at 1.34415 sl: 1.32540 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Период EA EURUSD,H4: Размер позиции успешно рассчитан с использованием полученного процента риска

2012.07.23 09:08:13 2011.01.19 04:00 H4 Period EA EURUSD,H4: Процент риска готов к использованию в расчете лотов

2012.07.23 09:08:13 2011.01.19 04:00 H4 Период EA EURUSD,H4: Предыдущих ордеров не выявлено. Выделен риск 1%

2012.07.23 09:08:13 2011.01.19 04:00 H4 Период EA EURUSD,H4: Получен номер билета -1 для последнего открытого ордера

2012.07.23 09:08:13 2011.01.19 04:00 H4 Период EA EURUSD,H4: Проверка критериев покупки... успешна. Ордер готов к размещению

2012.07.23 09:08:12 H4 Period EA inputs: MagicNumber=42; RiskRewardRatio=3; D1SlowMAPeriod=200; D1FastMAPeriod=50; FastMACDPeriod=12; SlowMACDPeriod=26; SignalPeriod=9; DNCPeriod=120; SL_Period=10;

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

Здравствуйте, mladen, я прикрепил файл. Надеюсь, я написал его правильно, чтобы он имел смысл!

Файлы:
 

...

Из того, что я вижу из кода: подсчитанные бары ( функция IndicatorCounted()) не работают в советниках. (Я просто предполагаю, что вы используете это, поскольку в коде отсутствует определение CountedBars).

Она может работать только в индикаторах

crsnape@btinternet.com:
Здравствуйте, mladen, я прикрепил файл. Надеюсь, я написал его правильно, чтобы он имел смысл!
 

Извините, mladen, я не знал, что вы имели в виду под функцией CountedBars, так как я не использовал ее в своем коде, поэтому я скачал файл, который я разместил, открыл его и ts полностью отличается от того, который я прикрепил. Странно?

Я точно прикрепил правильный файл, это потому что у меня на компьютере рядом с файлом висячий замок - это все, что я могу придумать?

Вы, должно быть, думали, что за черт, когда открывали этот код, потому что в нем почти ничего нет.

 

...

Я имел в виду эту часть кода.

if (Bars > CountedBars)

CountedBars = Bars

else

return (-888);

И я вообще не вижу, где объявлена CountedBars (я даже не могу скомпилировать этот код - не только из-за отсутствия объявления для этой переменной).

crsnape@btinternet.com:
Извините, mladen, я не знал, что вы имели в виду под функцией CountedBars, так как я не использовал ее в своем коде, поэтому я скачал файл, который я разместил и открыл его, и ts полностью отличается от того, который я на самом деле прикрепил. Странно?

Я определенно прикрепил правильный файл, это потому что у меня на компьютере рядом с файлом висячий замок - это все, что я могу придумать?

Вы, должно быть, думали, что за черт, когда открывали этот код, потому что в нем почти ничего нет.
 

Извините, mladen, код, который вы просмотрели через файл, который я прикрепил, совершенно неправильный - он не имеет никакого сходства с моим текущим кодом, несмотря на то, что я прикрепил правильный файл (я дважды проверил имя файла).

Все, о чем я могу думать, это то, что файл, над которым я работаю, имеет висячий замок рядом с ним в моей системе. Не знаю, что это такое или что делает. Есть идеи?

PS - это мой собственный советник, потому что я использовал мастер создания советника, и у него есть мое имя в верхней части рядом с копирайтом,