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

 
RaptorUK:

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


Как я уже сказал...
 

Саймон,

Я верю, что понимаю.

Я имею дело с двумя индексами позиции заказа. Первый индекс позиции заказа - это "Acitve order index", а второй индекс позиции заказа - это "History order index".

Программа печатает билет заказа с номером, близким по времени, из другого заказа в "Индексе исторического заказа". Я должен сохранить текущий билет ордера, чтобы выбрать правильный номер билета, чтобы программа выполнила функцию Print(), включая правильное время закрытия номера билета ордера.

Спасибо.

 

Саймон,

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

Спасибо.

 
Пожалуйста... не торопитесь, дайте ему впитаться, УЧИТЕСЬ.
 

Да, я считаю, что многому учусь, как на форуме MQL4, так и вне его. Да, я тоже буду освещать некоторые основы. Хаха ;)

Большое спасибо.

 

Саймон,

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

Массивы могут быть одно-, двух-, трех- или четырехмерными. Они индексируются. Индексы начинаются с нуля и далее (пример: 0,1,2,3,4).

Индексы выглядят так: |0|1|2|3|4|....

Пример двумерного массива выглядит так...

int two_dim_array[5,2][4,3];

Двумерный массив похож на шахматную доску. Если вы когда-нибудь играли в шахматы, я думаю, вы согласитесь, что фигуры перемещаются так: "переместить короля на d2" или "переместить ладью на h4".

Массивы с более чем одним измерением - это просто дополнительные "виртуальные шахматные доски" ;)

Пример трехмерного массива будет выглядеть так:...

int three_dim_array[5,2][3,6][7,5]; // each "[]" aka index represents a virtual chess board. (three indexes/virtual chessboards)

Я полагаю, что на этом пока все. Какова ваша реакция на то, что, по моему мнению, я узнал?


Основная проблема, которая вызвана тем, как вы закодировали ваш цикл while... проблема, которая вызывала Invalid ticket для функции OrderClose и Unknown ticket 2 для OrderModify, вы не устранили причину, вы устранили симптом.

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


Спасибо.

 
WhooDoo22:

Я считаю, что на этом пока все. Какова ваша реакция на то, что, по моему мнению, я узнал?

Я не знаю, чему вы научились? Знаете ли вы, что такое пузырьковая сортировка? Знаете ли вы, как правильно объявить массив? Знаете ли вы, как неправильно объявить массив?


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

Саймон,


"знаете ли вы, как правильно объявить массив?".

Я объявлял массивы в такой форме (ниже SRC приведен пример одномерного массива)

int one_dim_vector[]={0,0,0,0,0};  // one dimensional array declaration;


"Я узнал о пузырьковой сортировке более 30 лет назад".

Мне только исполнилось 22 года в октябре прошлого года, так что у вас есть пара лет на меня, сэр ;)

Пузырьковая сортировка. Хм, я определенно посмотрю на это!


Основная проблема, вызванная тем, как вы закодировали ваш цикл while... проблема, которая вызывала Invalid ticket для функции OrderClose и Unknown ticket 2 для OrderModify, вы не устранили причину, вы устранили симптом.

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


Спасибо.
 

Саймон,

Я объявил все переменные, инициализировал все массивы и т.д. Я готов начать писать код для отправки заказа. Я хочу написать код по-другому, чтобы "запустить мяч". Код должен выбрать ордер (в настоящее время я не знаю, какой ордер ему нужно выбрать). Вы упомянули, что советник должен быть способен просто встать на график и начать торговлю независимо от текущей торговой активности счета. Что для этого нужно? Я уверен, что смогу это закодировать.

Спасибо.

 
WhooDoo22:

Саймон,

Я объявил все переменные, инициализировал все массивы и т.д. Я готов начать писать код для отправки заказа. Я хочу написать код по-другому, чтобы "запустить мяч". Код должен выбрать ордер (в настоящее время я не знаю, какой ордер ему нужно выбрать). Вы упомянули, что советник должен быть способен просто встать на график и начать торговлю независимо от текущей торговой активности счета. Что для этого нужно? Я уверен, что смогу это закодировать.

Спасибо.

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

Если ваш код ничего не делает с открытыми ордерами, потому что они оставлены для выполнения TP или SL, тогда вашему коду не нужно беспокоиться о любых открытых ордерах при запуске... С другой стороны, если ваш код управляет открытыми ордерами каким-либо образом, например, трейлинг SL, то он должен сначала найти все открытые ордера, которые принадлежат ему, и управлять их трейлинг SL, как это было бы для ордера, который он только что разместил ... У вас есть блок-схема для советника, который вы пытаетесь закодировать?