Код моего первого советника, работает по РСАЙ и Дем. Проблема такая ни в какую не изменяет ордера т.е. стопы.. всегда ругается на неправильные стопы... даже находил другие коды перемещения стопов .. все равно одна и та же ошибка.
Заранее спасибо.
1.У Вас неправильно организован цикл, (уберитие else с обоими скобками), поэтому работает только СЕЛЛ.
такой вопрос,... как сделать чтобы советник совешал не блее 2х сделок в разные направления,... то есть если сделка открылась по сигналу на селл,.. и ордер еще не закрылся,... и появился в этот момент сигнал на бай, сделка открылась на бай,.... ! Помогите!
Infinity>>: такой вопрос,... как сделать чтобы советник совешал не блее 2х сделок в разные направления,... то есть если сделка открылась по сигналу на селл,.. и ордер еще не закрылся,... и появился в этот момент сигнал на бай, сделка открылась на бай,.... ! Помогите!
Функция
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru/ |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает количество позиций. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+int NumberOfPositions(string sy="",int op=-1,int mn=-1){int i, k=OrdersTotal(), kp=0;if(sy=="0") sy=Symbol();for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if(OrderSymbol()==sy || sy==""){if(OrderType()==OP_BUY||OrderType()==OP_SELL){if(op<0||OrderType()==op){if(mn<0||OrderMagicNumber()==mn) kp++;}}}}}return(kp);}
С её помощью можно без труда составить нужные вам условия открытия.
Очередной вопрос к магам программирования ! Как в советнике расчитать поддержку и сопротивление прошлого дня? То есть при начале нового дня, советник должен расчитать уровни прошлого дня, и нарисовать их только в диапозоне нового дня. При появлении нового дня, старые уровни он должен удалять и рисовать новые...!
очевидно это необходимо как то определить границу прошлого дня, и в этом диапозоне найти на текущем таймфрейме iHighest и iLowest записать значения в 2 массива,.. далее провести проверку на появление нового дня в его диапозоне нарисовать ObjectCreate("имя",OBJ_HLINE,0, 00:00, iHighest[i], 23:59, iHighest[i]);
Подскажите как создать и дописывать в конец файла информацию.
Посмотри пример кода 'Проблема с CSV'
Код моего первого советника, работает по РСАЙ и Дем. Проблема такая ни в какую не изменяет ордера т.е. стопы.. всегда ругается на неправильные стопы... даже находил другие коды перемещения стопов .. все равно одна и та же ошибка.
Заранее спасибо.
1.У Вас неправильно организован цикл, (уберитие else с обоими скобками), поэтому работает только СЕЛЛ.
2. По Селлу надо считать от Аска.
3. Может 10 пипсов маловато для трейлинга?
такой вопрос,... как сделать чтобы советник совешал не блее 2х сделок в разные направления,... то есть если сделка открылась по сигналу на селл,.. и ордер еще не закрылся,... и появился в этот момент сигнал на бай, сделка открылась на бай,.... ! Помогите!
Функция
С её помощью можно без труда составить нужные вам условия открытия.И еще если можно ограничение на количество окрытых ордеров =)
См. пост. выше (например):
if ( NumberOfOrders(NULL,OP_BUY,Magic)<5) { //если число открытых позиций //бай меньше пятиОчередной вопрос к магам программирования ! Как в советнике расчитать поддержку и сопротивление прошлого дня? То есть при начале нового дня, советник должен расчитать уровни прошлого дня, и нарисовать их только в диапозоне нового дня. При появлении нового дня, старые уровни он должен удалять и рисовать новые...!
очевидно это необходимо как то определить границу прошлого дня, и в этом диапозоне найти на текущем таймфрейме iHighest и iLowest записать значения в 2 массива,.. далее провести проверку на появление нового дня в его диапозоне нарисовать ObjectCreate("имя",OBJ_HLINE,0, 00:00, iHighest[i], 23:59, iHighest[i]);
как правильно сделать.??