Вопросы оператора цикла "для - страница 8

 
WhooDoo22:

Приведенная выше ошибка моментального снимка является текущей проблемой, требующей решения. Что вы можете посоветовать для решения этой проблемы?

Спасибо.

Я описал причину этого в предыдущем сообщении (последнее сообщение на странице 4) ... игнорируя это, я предлагаю вам сформулировать цикл (for или while, они одинаковы), который будет перебирать ВСЕ открытые ордера и находить правильные для модификации и закрытия ... но на самом деле вам следует забыть mql4 на несколько месяцев и сначала изучить основы ....
 

Саймон,

Какие основы, по вашему мнению, лучше всего изучать?


Кроме того, я анализирую следующее:

Теперьi равно 2, OrderSelect() пытается выбрать ордер на позиции 2, но не получается. ... есть только 2 открытых ордера, на позициях 0 и 1, поэтому OrderSelect() возвращает false, что делает OrderSymbol()? нет выбранного ордера. ... . но даже если он по какой-то странной причине вернет true , OrderSelect() уже вернул false,false и true = false ... цикл while завершился иi установлен в 2.

Теперь проработайте остальную часть кода, помня, чтоi имеет значение 2....


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


Если текущее значение 'i' равно двум (2), то функция OrderSelect() принимает значение 2 в качестве номера позиции заказа. Очевидно, что в позиции заказа 2 нет заказа, предполагая, что заказ уже был закрыт, поэтому выдается ошибка "invalid ticket".

В настоящее время работаю над этим.

Я думаю о том, чтобы сбросить значение 2, которое сейчас содержится в функции OrderSelect(), на ноль, а также добавить условие перед выполнением строк кода ниже тела цикла 'while'.

Спасибо.

 
WhooDoo22:

Саймон,

Какие основы, по вашему мнению, лучше всего изучать?

Все... Поиск с помощью Google позволит вам найти множество ресурсов, не полагайтесь только на один источник по любому предмету, ВСЕГДА найдите несколько, чтобы вы могли проверить свое понимание... Вы должны охватить, по крайней мере, следующее и многое другое:

  • двоичная система
  • шестнадцатеричная система
  • основы булевой алгебры
  • что такое алгоритм
  • блок-схемы
  • переменные и типы переменных
  • условия
  • циклы
  • массивы и сортировка массивов
  • основы работы со строками

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

 
WhooDoo22:

Если текущее значение 'i' равно двум (2), то функция OrderSelect() принимает значение 2 в качестве номера позиции заказа. Очевидно, что в позиции заказа 2 нет заказа, предполагая, что заказ уже был закрыт, поэтому выдается ошибка "invalid ticket".

В настоящее время работаю над этим.

Я думаю о том, чтобы сбросить значение 2, которое сейчас содержится в функции OrderSelect(), на ноль, а также добавить условие перед выполнением строк кода ниже тела цикла 'while'.

Спасибо.

Устраните первопричину проблемы, не пытайтесь устранить симптомы... Ваш цикл должен был найти ордер USDJPY, но что он должен делать, если его нет? Что он должен делать, если их несколько?

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

Саймон,

Я посвящу часть своего времени изучению этих основ, но ;) Том II ДОЛЖЕН быть завершен. Я даже придумал более эффективное использование скользящих средних для кодовых блоков MF. Я очень горжусь собой за то, что рассмотрел и разработал более прибыльное использование этих скользящих средних. Вместо того, чтобы разрабатывать сигналы выхода/входа на основе скользящих средних, я решил рассматривать эти сигналы для исполнения внутри периодов скользящих средних и использовать соответствующие скользящие средние для выхода внутри периодов скользящих средних. По сути, скользящие средние внутри скользящих средних. Также Volume II будет лучше адаптироваться, потому что он не будет всегда открывать ордера 0,5 лота каждый раз Только когда пять скользящих средних могут быть правильно вписаны в две скользящие средние (часть рынка). Пример: скользящая средняя один и скользящая средняя двести создают участок для игры внутри, если создано достаточно поддержки/сопротивления. Очень приятно, что додумался до этого сегодня :)

Спасибо.

 

Саймон,

но что он должен делать, если его нет?

Вот почему я хочу добавить условие ниже цикла 'while', которое будет проверяться перед выполнением функции OrderClose().

Что должно быть сделано, если их несколько?

Я не рассматривал этот вопрос, но сейчас рассматриваю.

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

Да, согласен полностью.

Спасибо.

 
WhooDoo22:

Саймон,

Я посвящу часть своего времени изучению этих основ, но ;) Том II ДОЛЖЕН быть завершен. Я даже придумал более эффективное использование скользящих средних для кодовых блоков MF. Я очень горжусь собой за то, что рассмотрел и разработал более прибыльное использование этих скользящих средних. Вместо того, чтобы разрабатывать сигналы выхода/входа на основе скользящих средних, я решил рассматривать эти сигналы для исполнения внутри периодов скользящих средних и использовать соответствующие скользящие средние для выхода внутри периодов скользящих средних. По сути, скользящие средние внутри скользящих средних. Также Volume II будет лучше адаптироваться, потому что он не будет всегда открывать ордера 0,5 лота каждый раз Только когда пять скользящих средних могут быть правильно вписаны в две скользящие средние (часть рынка). Пример: скользящая средняя один и скользящая средняя двести создают участок для игры внутри, если создано достаточно поддержки/сопротивления. Очень приятно, что додумался до этого сегодня :)

Спасибо.

Я не верю, что вы можете создать работающий советник, не понимая основ... и вы теряете драгоценное время, пытаясь сделать это. Есть только один самый быстрый способ сделать что-то - сделать это правильно в первый раз.
 

Саймон,

Я не верю, что вы можете создать работающего эксперта, не понимая основ.

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

Лично я уверен, что для завершения кодирования эксперта мне нужен только словарь MetaEditor в сочетании с MetaEditor.

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

Да, конечно. Согласен.

Спасибо.

 
WhooDoo22:

Саймон,

Я не верю, что вы можете создать работающего эксперта, не понимая основ.

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

Лично я уверен, что мне нужен только словарь MetaEditor в сочетании с MetaEditor для завершения кодирования советника.

Я думаю, что код, который вы создали до сих пор, убедительно доказывает мою точку зрения. Нельзя использовать OrdersTotal() как часть цикла, если не знаешь, что первая позиция в пуле равна 0. Это только один пример, есть много, много других ситуаций, где нужно знать основы; циклы, битовые операторы и т.д. и т.п.
 

Саймон,

Я написал, что посвящу часть своего времени изучению основ кодирования, и именно это я и сделаю. Том II должен быть завершен. Я начну изучать основы ведьмы, чтобы сначала укрепить свои слабые стороны, а затем подтянуть более знакомые основы, чтобы обеспечить приемлемое понимание большинства основ кодирования.

Спасибо.