khorosh: Почитайте про функции KimIV и поймёте, что большая часть из них предназначена для извлечения той или иной информации о открытых или закрытых ордерах.
Очередной раз бороздя страницы учебника, столкнулся с непониманием использования функции "Учет ордеров". Решил спросить. Функции KimIV сложны для восприятия, но рассмотрю каждую деталь (хоть это иррационально). О-у, насчет примера с ПК, телевизором, телефоном - очень хороший пример. Сейчас порассуждал о строении своего телевизора и пришел к выводу, что хорошо знаю, как устроен мой телевизор (года три назад "горел желанием" его разобрать, именно в тот момент, когда мои родители застали меня за разбиранием телевизора, я впервые получил доступ в интернет).
Очередной раз бороздя страницы учебника, столкнулся с непониманием использования функции "Учет ордеров". Решил спросить. Функции KimIV сложны для восприятия, но рассмотреть каждую деталь (хоть это иррационально). О-у, насчет примера с ПК, телевизором, телефоном - очень хороший пример. Сейчас порассуждал о строении своего телевизора и пришел к выводу, что хорошо знаю, как устроен мой телевизор (года три назад "горел желанием" его разобрать, именно в тот момент, когда мои родители застали меня за разбиранием телевизора, я впервые получил доступ в интернет).
У Игоря очень доступный для понимания код и логика. Много лишнего для универсальности, но всё же. Покажите что вам там не понятно, и я расскажу.
OrderSelect() - выбирает ордер. Это первое, что нужно сделать при работе с ордерами.
У Игоря очень доступный для понимания код и логика. Много лишнего для универсальности, но всё же. Покажите что вам там не понятно, и я расскажу.
OrderSelect() - выбирает ордер. Это первое, что нужно сделать при работе с ордерами.
Прекрасно! "Поехали"! :)
"Кирпичик под номером один". Мое представление значений составляющих:
int GetTypeLastClosePos(string sy="", int mn=-1) { // Обозначение пользовательской функции, строковой переменной, а так же числовой переменной.
datetime t; // Установление переменной, связанной со временем.
int i, k=OrdersHistoryTotal(), r=-1; // Обозначение числовой переменной, переменной, использующей исторические все данные, утверждение значения r.
if (sy=="0") sy=Symbol(); // Если строковая переменная равняется "0", то она имеет случайное значение.
for (i=0; i<k; i++) { // Начало выяснения типа позиции, при обстоятельствах: i < K, а так будет всегда.
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { // Поиск ордера из истории закрытых ордеров с "билетом" i, точным номером позиции. Если ордер найден, то
if ((OrderSymbol()==sy || sy=="") && (mn<0 || OrderMagicNumber()==mn)){ // задается инструмент, по которому был открыт ордер как sy и его уникальный номер как mn. Это еще не все.
if (OrderType()==OP_BUY || OrderType()==OP_SELL) { // Тип ордера определяется как покупка или продажа заданного значения sy инструмента.if (t<OrderCloseTime()) { // Если время закрытия ордера определено, тогда определяются две переменные:
t=OrderCloseTime(); // переменная t в качестве времени закрытия идентифицированного ордера,
r=OrderType(); // переменная r в качестве типа определенного ордера.
} // Хватит.
} // Достаточно.
} // Полно, я доволен!
} // Остановись!
} // Стой, ****!return(r); // Остановка действия функции с выводом значения переменной r.
} // Конец.
. В сей коде я не мог найти переменную, выдающую значение типа последнего, закрытого ордера.
Та - ак, дальше мне понятно, как делать разбор функций, почитаемого в здешних кругах, Игоря. Можно я буду выкладывать свое понимание составляющих, а вы, как толковые программисты, будете корректировать мое понимание данных функций? ><
У Игоря 1 - очень доступный для понимания код и логика. Много 2 - лишнего для универсальности, но всё же. Покажите что вам там 3 - не понятно, и я расскажу.
4 - OrderSelect() - выбирает ордер. Это первое, что нужно сделать при работе с ордерами.
Ответ по пунктам, простите. 1 - гений программирования? 2 - если честно, то лишнего ничего не бывает, кроме фекалий и прочих продуктов распада (откровенное мнение, готов начать дискутировать, но в другой теме :) ). 3 - теперь все понятно. :) 4 - так точно. Знаю. Я немного "оговорился" и набрал текст с функцией "OrderSend".
Спасибо вам за то, что способствовали созданию шаблона "Разбор "Функций - кирпичиков". :)
Link_x: Ответ по пунктам, простите. 1 - гений программирования? 2 - если честно, то лишнего ничего не бывает, кроме фекалий и прочих продуктов распада (откровенное мнение, готов начать дискутировать, но в другой теме :) ). 3 - теперь все понятно. :) 4 - так точно. Знаю. Я немного "оговорился" и набрал текст с функцией "OrderSend".
Спасибо вам за то, что способствовали созданию шаблона "Разбор "Функций - кирпичиков". :)
Сперва надо ознакомиться с понятием - функция. А потом можно переходить к вопросу что они выполняют и как их использовать.
Подытожу! Прежде чем думать о неспособности понять код, нужно "постараться разобрать телевизор".
О-у, насчет примера с ПК, телевизором, телефоном - очень хороший пример.
Сейчас порассуждал о строении своего телевизора и пришел к выводу,
что хорошо знаю, как устроен мой телевизор (года три назад "горел желанием" его разобрать,
именно в тот момент, когда мои родители застали меня за разбиранием телевизора,
я впервые получил доступ в интернет).
"Кирпичик под номером один". Мое представление значений составляющих: . В сей коде я не мог найти переменную, выдающую значение типа последнего, закрытого ордера.
Та - ак, дальше мне понятно, как делать разбор функций, почитаемого в здешних кругах, Игоря. Можно я буду выкладывать свое понимание составляющих, а вы, как толковые программисты, будете корректировать мое понимание данных функций? ><
Тип ордера в переменной r. В последнем операторе значение этой переменной присваивается самой функции, а значит сама эта переменная в принципе вам не нужна. Тип поcледнего закрытого ордера - это значение функции: например вы можете увидеть это значение, если выведете его на экран с помощью оператора Comment()
Заменить переменные МА на переменные индикатора в коде советника (все три комплекта):
потом заменить строки вызова МА на вызов J2JMA:
evillive, попробовал заменить как вы сказали, но видать даже для этого надо побольше знать, при компиляции выдает "53 error(s), 18 warning(s)", результат прилагаю. evillive, можно вас попросить сделать эти замены, если у вас будет время.
Тип ордера в переменной r. В последнем операторе значение этой переменной присваивается самой функции, а значит сама эта переменная в принципе вам не нужна. Тип поcледнего закрытого ордера - это значение функции: например вы можете увидеть это значение, если выведете его на экран с помощью оператора Comment()
или в журнал с помощью оператора Print()
Вот и пример практического использования пользовательской функции:
GetTypeLastClosePos
. Спасибо. Значит, для использования этой функции нужно применить ее наименование, а сама переменная "r" задается для определения значения данной функции! Вот и маленькое открытие для меня! ^^ Снова спасибо, Юрий. :)
Это отправка торгового запроса на сервер.
Ой.
Я имел ввиду OrderSelect.
Почитайте про функции KimIV и поймёте, что большая часть из них предназначена для извлечения той или иной информации о открытых или закрытых ордерах.
Функции KimIV сложны для восприятия, но рассмотрю каждую деталь (хоть это иррационально).
О-у, насчет примера с ПК, телевизором, телефоном - очень хороший пример. Сейчас порассуждал о строении своего телевизора и пришел к выводу, что хорошо знаю, как устроен мой телевизор (года три назад "горел желанием" его разобрать, именно в тот момент, когда мои родители застали меня за разбиранием телевизора, я впервые получил доступ в интернет).
Ой.
Я имел ввиду OrderSelect.
Очередной раз бороздя страницы учебника, столкнулся с непониманием использования функции "Учет ордеров". Решил спросить.Функции KimIV сложны для восприятия, но рассмотреть каждую деталь (хоть это иррационально).
О-у, насчет примера с ПК, телевизором, телефоном - очень хороший пример. Сейчас порассуждал о строении своего телевизора и пришел к выводу, что хорошо знаю, как устроен мой телевизор (года три назад "горел желанием" его разобрать, именно в тот момент, когда мои родители застали меня за разбиранием телевизора, я впервые получил доступ в интернет).
У Игоря очень доступный для понимания код и логика. Много лишнего для универсальности, но всё же. Покажите что вам там не понятно, и я расскажу.
OrderSelect() - выбирает ордер. Это первое, что нужно сделать при работе с ордерами.
У Игоря очень доступный для понимания код и логика. Много лишнего для универсальности, но всё же. Покажите что вам там не понятно, и я расскажу.
OrderSelect() - выбирает ордер. Это первое, что нужно сделать при работе с ордерами.
Прекрасно! "Поехали"! :)
"Кирпичик под номером один".
Мое представление значений составляющих:
.
В сей коде я не мог найти переменную, выдающую значение типа последнего, закрытого ордера.
Та - ак, дальше мне понятно, как делать разбор функций, почитаемого в здешних кругах, Игоря.
Можно я буду выкладывать свое понимание составляющих, а вы, как толковые программисты, будете корректировать мое понимание данных функций? ><
У Игоря 1 - очень доступный для понимания код и логика. Много 2 - лишнего для универсальности, но всё же. Покажите что вам там 3 - не понятно, и я расскажу.
4 - OrderSelect() - выбирает ордер. Это первое, что нужно сделать при работе с ордерами.
1 - гений программирования?
2 - если честно, то лишнего ничего не бывает, кроме фекалий и прочих продуктов распада (откровенное мнение, готов начать дискутировать, но в другой теме :) ).
3 - теперь все понятно. :)
4 - так точно. Знаю. Я немного "оговорился" и набрал текст с функцией "OrderSend".
Спасибо вам за то, что способствовали созданию шаблона "Разбор "Функций - кирпичиков". :)
Да к брокеру конечно)))
Терминалу пофигу.... Даст Вам последние известные данные...
К серверу обращаются только четыре функции. Открытие, модификация и закрытие (удаление) ордера
Ответ по пунктам, простите.
1 - гений программирования?
2 - если честно, то лишнего ничего не бывает, кроме фекалий и прочих продуктов распада (откровенное мнение, готов начать дискутировать, но в другой теме :) ).
3 - теперь все понятно. :)
4 - так точно. Знаю. Я немного "оговорился" и набрал текст с функцией "OrderSend".
Спасибо вам за то, что способствовали созданию шаблона "Разбор "Функций - кирпичиков". :)
Сперва надо ознакомиться с понятием - функция. А потом можно переходить к вопросу что они выполняют и как их использовать.
Прежде чем думать о неспособности понять код, нужно "постараться разобрать телевизор".
О-у, насчет примера с ПК, телевизором, телефоном - очень хороший пример. Сейчас порассуждал о строении своего телевизора и пришел к выводу, что хорошо знаю, как устроен мой телевизор (года три назад "горел желанием" его разобрать, именно в тот момент, когда мои родители застали меня за разбиранием телевизора, я впервые получил доступ в интернет).Прекрасно! "Поехали"! :)
"Кирпичик под номером один".
Мое представление значений составляющих:
.
В сей коде я не мог найти переменную, выдающую значение типа последнего, закрытого ордера.
Та - ак, дальше мне понятно, как делать разбор функций, почитаемого в здешних кругах, Игоря.
Можно я буду выкладывать свое понимание составляющих, а вы, как толковые программисты, будете корректировать мое понимание данных функций? ><
Тип ордера в переменной r. В последнем операторе значение этой переменной присваивается самой функции, а значит сама эта переменная в принципе вам не нужна. Тип поcледнего закрытого ордера - это значение функции: например вы можете увидеть это значение, если выведете его на экран с помощью оператора Comment()
или в журнал с помощью оператора Print()
Заменить переменные МА на переменные индикатора в коде советника (все три комплекта):
потом заменить строки вызова МА на вызов J2JMA:
Тип ордера в переменной r. В последнем операторе значение этой переменной присваивается самой функции, а значит сама эта переменная в принципе вам не нужна. Тип поcледнего закрытого ордера - это значение функции: например вы можете увидеть это значение, если выведете его на экран с помощью оператора Comment()
или в журнал с помощью оператора Print()
Вот и пример практического использования пользовательской функции:
.
?Спасибо.
Значит, для использования этой функции нужно применить ее наименование, а сама переменная "r" задается для определения значения данной функции!
Вот и маленькое открытие для меня! ^^
Снова спасибо, Юрий. :)
Для конечного уточнения, такое возможно: