можете помочь?:)советник доделать нужно, сам сижу разбираюсь, а додумать не получается, на самом деле возможно и очень хороший советник получится, около года чуть больше, стратегия идет без сбоев, ну правда последнее время меньше сигналов пошло, если раньше было 22 сделки в месяц из них 2 убыточные, 2-3 безубыток, то сейчас около 16-18 сделок из них 2-3 убыточные, и 2 безубыток, на самом деле советник почти уже работает, но ниправильно введены два индюка в совместной работе, это АС и АО ну стратегию я думаю по ним знаете:) а у меня прописано в советнике тупо АС1>АС2 АО1>АО2 тогда открываем, что в корне тупо:)
Здравствуйте!Подскажите пожалуйста,как записать правильно условие типа:if(Среди всех открытых ордеров нет ордера с магиком==magic)Спасибо заранее...уже мозг просто кипит...
niktron: Здравствуйте!Подскажите пожалуйста,как записать правильно условие типа:if(Среди всех открытых ордеров нет ордера с магиком==magic)Спасибо заранее...уже мозг просто кипит...
int ExampleMagic = 65536;
if (!PrsntMgc(ExampleMagic)) {
// Your code here ...
}
bool PrsntMgc(int MgcNum) {
for (int i = OrdersTotal()-1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS);
if(OrderMagicNumber() == MgcNum)
returntrue;
}
returnfalse;
}
2. Надо. Мне нужно просмотреть 2 типа объектов: горизонтальные и трендовые линии. Остальные объекты в данном переборе не актуальны.
Если я правильно понял, мнения разошлись? или ответ на счет "первых" не противоречит предыдущему утверждению?
Нет, не разошлись. Мельком глянул на ваш код и ответил "не глядя". Ваша строка:
for(int i=ObjectsTotal(OBJ_HLINE)-1; i>=0; i--)
- присваивает индексу цикла i величину, равную общему количеству горизонтальных линий. Если их у вас 3, то и цикл будет от 2 до 0. А там уж, что в вашем цикле - неясно, но будет всего три итерации от 2 до 0.
niktron: Здравствуйте!Подскажите пожалуйста,как записать правильно условие типа:if(Среди всех открытых ордеров нет ордера с магиком==magic)Спасибо заранее...уже мозг просто кипит...
Так:
//+----------------------------------------------------------------------------+int Magic=12345679;
//+----------------------------------------------------------------------------+int start() {
if (!ExistOrdersByTypeWithMagic(Symbol(), OP_BUY, Magic)) {
Print("Нет открытых позиций Buy с магиком "+Magic);
}
elsePrint("Позиция Buy с магиком "+Magic+" существует однако...");
if (!ExistOrdersByTypeWithMagic(Symbol(), OP_SELLLIMIT, Magic)) {
Print("Нет установленных ордеров SellLimit с магиком "+Magic);
}
elsePrint("Висит где-то лимитничек Sell с магиком "+Magic);
// e.t.c.return(0);
}
//+----------------------------------------------------------------------------+bool ExistOrdersByTypeWithMagic(string sy, int op, int mn) {
int i, k=OrdersTotal()-1;
for (i=k; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS)) {
if (OrderSymbol()!=sy) continue;
if (OrderType()!=op) continue;
if (OrderMagicNumber()==mn) return(true);
}
}
return(false);
}
//+----------------------------------------------------------------------------+
Функция ExistOrdersByTypeWithMagic() ищет заданный тип ордера/позиции по заданному символу с магиком Magic и возвращает true, если есть и false, если нету ничего
ОК.
Рустам, Артём, - Спасибо большое!
можете помочь?:)советник доделать нужно, сам сижу разбираюсь, а додумать не получается, на самом деле возможно и очень хороший советник получится, около года чуть больше, стратегия идет без сбоев, ну правда последнее время меньше сигналов пошло, если раньше было 22 сделки в месяц из них 2 убыточные, 2-3 безубыток, то сейчас около 16-18 сделок из них 2-3 убыточные, и 2 безубыток, на самом деле советник почти уже работает, но ниправильно введены два индюка в совместной работе, это АС и АО ну стратегию я думаю по ним знаете:) а у меня прописано в советнике тупо АС1>АС2 АО1>АО2 тогда открываем, что в корне тупо:)
Кто может помочь напишите в личку пожалуйста
Здравствуйте!Подскажите пожалуйста,как записать правильно условие типа:if(Среди всех открытых ордеров нет ордера с магиком==magic)Спасибо заранее...уже мозг просто кипит...
2. Надо. Мне нужно просмотреть 2 типа объектов: горизонтальные и трендовые линии. Остальные объекты в данном переборе не актуальны.
Если я правильно понял, мнения разошлись? или ответ на счет "первых" не противоречит предыдущему утверждению?Нет, не разошлись. Мельком глянул на ваш код и ответил "не глядя". Ваша строка:
- присваивает индексу цикла i величину, равную общему количеству горизонтальных линий. Если их у вас 3, то и цикл будет от 2 до 0. А там уж, что в вашем цикле - неясно, но будет всего три итерации от 2 до 0.
Здравствуйте!Подскажите пожалуйста,как записать правильно условие типа:if(Среди всех открытых ордеров нет ордера с магиком==magic)Спасибо заранее...уже мозг просто кипит...
Так:
Функция ExistOrdersByTypeWithMagic() ищет заданный тип ордера/позиции по заданному символу с магиком Magic и возвращает true, если есть и false, если нету ничего
Здесь
Еще раз спасибо!
Подскажите какое максимальное количество элементов в массиве?