if (Ord==0) {
OrdTiketOne=OrderSend(Symbol(),OP_BUY,0.01,Ask,5,0,0,"Odin",11101,0,CLR_NONE);
OrderSelect(OrdTiketOne,SELECT_BY_TICKET);
bool ModifyOne=OrderModify(OrdTiketOne,OrderOpenPrice(),OrderOpenPrice()-10000*Point,OrderOpenPrice()+300*Point,0,CLR_NONE);
if (!ModifyOne)Print ("Ticket 1 ",OrderTicket(),", ошибка № - ",GetLastError());
OrderSelect(OrdTiketOne,SELECT_BY_TICKET);
double pricetwo=OrderOpenPrice();
OrdTiketTwo=OrderSend(Symbol(),OP_BUYLIMIT,0.01,pricetwo-500*Point,0,0,0,"Dva",11102,0,CLR_NONE);
OrderSelect(OrdTiketTwo,SELECT_BY_TICKET);
bool ModifyTwo=OrderModify(OrdTiketTwo,OrderOpenPrice(),OrderOpenPrice()-10000*Point,OrderOpenPrice()+300*Point,0,CLR_NONE);
if (!ModifyTwo)Print ("Ticket 2 ",OrderTicket(),", ошибка № - ",GetLastError()); Ord=2; Del=1; }
if (Del==1) {
if (OrderSelect(OrdTiketOne, SELECT_BY_TICKET)==true) {
if (OrderCloseTime()>0) { Del=100; Ord=0; }}}
if (Ord==2){ OrderSelect(OrdTiketTwo,SELECT_BY_TICKET);
if (OrderType()==OP_BUY) { OrderSelect(OrdTiketOne,SELECT_BY_TICKET);
double pricethree=OrderOpenPrice();
OrdTiketThree=OrderSend(Symbol(),OP_BUYLIMIT,0.01,pricethree-1100*Point,0,0,0,"Tri",11103,0,CLR_NONE);
OrderSelect(OrdTiketThree,SELECT_BY_TICKET);
bool ModifyThree=OrderModify(OrdTiketThree,OrderOpenPrice(),OrderOpenPrice()-10000*Point,OrderOpenPrice()+600*Point,0,CLR_NONE);
if(!ModifyThree)Print ("Ticket 3 ",OrderTicket(),", ошибка № - ",GetLastError());
Ord=3; Del=2;
}
}
Каждый раз при инициализации советника Ord=0 . Ord=2 если выставлены OrdTiketOne и OrdTiketTwo но если разинициализировать советник и инициализировать его снова то Ord=0, как сделать чтобы советник проверял какие ордера выставлены при инициализации и переменную Ord приравнивал правильно?
Каждый раз при инициализации советника Ord=0 . Ord=2 если выставлены OrdTiketOne и OrdTiketTwo но если разинициализировать советник и инициализировать его снова то Ord=0, как сделать чтобы советник проверял какие ордера выставлены при инициализации и переменную Ord приравнивал правильно?
Вероятно первым вызовом в функции старт должн быть контроль открытых позиций
просто мне кажется код написан не по совсем правильно и наверное можно было-бы его упростить. А как не знаю.
Какой на х-й код - коньяк упростить. Вы представляете, что будет, если каждый участник форума заведет себе отдельную ветку.
Из-за таких как Вы (общение по чисто выделенной линии - читай ветке), действительно, интересные темы, заслуживающие к себе
внимания, отодвигаются на х-й знает какие страницы и их приходится людям искать.
Обращайтесь со своей х-ей в соответствующие ветки и не еб-те мозг в выделенной долгоиграющей ветке.
Пишите по существу в другой, специально организованной для этого... И люди Вам ответят. Если себя не уважаете, проявите
уважение к людям форума...
Помогите с инициализацией!
Есть код:
Каждый раз при инициализации советника Ord=0 . Ord=2 если выставлены OrdTiketOne и OrdTiketTwo но если разинициализировать советник и инициализировать его снова то Ord=0, как сделать чтобы советник проверял какие ордера выставлены при инициализации и переменную Ord приравнивал правильно?
Помогите с инициализацией!
Есть код:
Каждый раз при инициализации советника Ord=0 . Ord=2 если выставлены OrdTiketOne и OrdTiketTwo но если разинициализировать советник и инициализировать его снова то Ord=0, как сделать чтобы советник проверял какие ордера выставлены при инициализации и переменную Ord приравнивал правильно?
Вероятно первым вызовом в функции старт должн быть контроль открытых позиций
Вероятно первым вызовом в функции старт должн быть контроль открытых позиций
Это цикл чтоли?
Это цикл чтоли?
Почему все в цикл упирается?
Хотя конечо нужен цикл для перебора открытых позиций и поиска своих.
это для меня наверное сложно.
Судя по первому выложенному коду, то очень просто. Вот тот код для меня был сложный. Почему сложный - объяснять не буду.
Судя по первому выложенному коду, то очень просто. Вот тот код для меня был сложный. Почему сложный - объяснять не буду.
а по магику нельзя как нибудь выбрать? допустим если магик = 11102 и не равен 11103 то Ord=2.
Почему нельзя, конечно можно.