Вопрос снят. Спасибо.)) не, не сплю.. радио не даёт... песенки 90-х слушаю
я вам вроде бы сделал.. скопируйте и проверьте.... должно быть как вы хотели..
не сразу смекнул просто.. долго въезжаю.. пардоньте..
Написание экспертов и индикаторов - бесплатно!
#15211
Отправлено 07 July 2014 - 07:05
- Shipr это нравится
Благотворительный фонд поддержки молодых программистов
 
#15212
Отправлено 07 July 2014 - 07:11
Парни ответьте, пожалуйста на пост 15167
очень много непонятного...
1 Индикатор 24-08-МА,(примерно 30,устанавл.вручную) - что это такое ? 9 раз "примерно " !!! избегайте пожалуйста такой формулировки.
30 что это? период?
Когда график пересекает линию Индикатора MA (MovingAverage) (№8)снизу вверх – при каждом пересечении открываются ордератолько на покупку, только по тренду Индикатора 24-08-МА(№1), сверху вниз – при каждом пересечении открываются ордера только напродажу, только по тренду Индикатора 24-08-МА.
- это тоже не понятно.
вобщем пока ничего не понятно... индикатора нет. картинки тоже нет. это разговоры ни о чём...
#15213
Отправлено 07 July 2014 - 07:29
- kaprall это нравится
#15214
Отправлено 07 July 2014 - 07:31
Cпасибо, Функция и правда полезная!!! Но он все еще кричит на каждом красном/зеленом баре У меня уже звон в ушах
попробуйте этот
если не поможет, то уже не знаю... пользуйтесь откл. звука Alert_On
Прикрепленные файлы
- kaprall это нравится
#15215
Отправлено 07 July 2014 - 08:40
Перенесите параметры с локальных в глобальные и проведите проверку на цену открытия отложенного ордера.Спасибо, код компилировался без ошибок. Переносит ордер правильно однако как я и предполагала на следующем тике ордер переносится- переставляется обратно на high либо low индикатора.
Мотает ордер туда сюда пока не удалит в конце сессии. Как запретить переносить по high / low индикатора? Пыталась вставить проверку:- если есть рыночный ордер то не переставлять . Не получается(
Подскажите как сделать. Напомню, вот так переставляю по индикатору:for(i=OrdersTotal()-1; i>=0; i--) {OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic ) {//пересчитываю количество ордеров: if(OrderType()==OP_BUY) {op_b++; } if(OrderType()==OP_SELL) {op_s++; } if(OrderType()==OP_BUYLIMIT) {b_lm++; if(low>0.2 && OrderOpenPrice()!=low) {//переношу лимитник на новый уровень modify_limit_order(OP_BUYLIMIT, low); Sleep(1000*10); } } if(OrderType()==OP_SELLLIMIT) {s_lm++; if(high>0.2 && OrderOpenPrice()!=high) {//переношу лимитник на новый уровень modify_limit_order(OP_SELLLIMIT, high); Sleep(1000*10); } } }
double SellOrderTP=0.0; double BuyOrderTP=0.0; int start() { //--- Код советника //--- return(0); }
for(i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) // Ваш код: OrderSelect(i, SELECT_BY_POS, MODE_TRADES); { if(OrderMagicNumber()!=magic) continue: // если ордеров много, так они перебирается быстрее!!! if(OrderSymbol()!=Symbol()) continue; // Ваш код: if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic ) //пересчитываю количество ордеров: if(OrderType()==OP_BUY) {op_b++; } if(OrderType()==OP_SELL) {op_s++; } if(OrderType()==OP_BUYLIMIT) {b_lm++; if(low>0.2 && OrderOpenPrice()!=low) if(OrderOpenPrice()!=SellOrderTP) // проверка на цену открытия отложенного ордера {//переношу лимитник на новый уровень modify_limit_order(OP_BUYLIMIT, low); //Sleep(1000*10); // зачем вам задержка в 10 секунд после перенесения позиции!!!??? } } if(OrderType()==OP_SELLLIMIT) {s_lm++; if(high>0.2 && OrderOpenPrice()!=high) if(OrderOpenPrice()!=BuyOrderTP) // проверка на цену открытия отложенного ордера {//переношу лимитник на новый уровень modify_limit_order(OP_SELLLIMIT, high); //Sleep(1000*10); // зачем вам задержка в 10 секунд после перенесения позиции!!!??? } } }Также мне непонятно, почему вы в одной функции перебирайте ордера с начала но в другой с конца. Я бы стала перебирать с конца, особенно если надо переставлять отложенные ордера на ТП последнего открытого ордера.
// просматриваю все открытые позиции и выставленные ордера int pos; //double SellOrderTP=0.0; //double BuyOrderTP=0.0; // параметры перенесены в глобальные for(pos=OrdersTotal()-1; pos>=0; pos--) // Ваш код: for(pos=0; pos<OrdersTotal(); pos++) { // выделяю текущий ордер, чтобы получить о нем информацию if (OrderSelect(pos, SELECT_BY_POS, MODE_TRADES)) // Ваш код: if (OrderSelect(pos, SELECT_BY_POS)) { // Если маг. совпадает и это ОТКРЫТАЯ ПОЗИЦИЯ if ((OrderMagicNumber()==magic) && (OrderType()<=OP_SELL)) { if(OrderType()==OP_SELL){SellOrderTP=OrderTakeProfit();} if(OrderType()==OP_BUY){BuyOrderTP=OrderTakeProfit();} // ищу второй отложенный ордер for(int i=OrdersTotal()-1; i>=0; i--) // Ваш код: for(i=0; i<OrdersTotal(); i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) // Ваш код: if (OrderSelect(i, SELECT_BY_POS)) { if ((OrderMagicNumber()==magic) && (OrderType()>OP_SELL)) { // ордер найден - ВОТ ЗДЕСЬ ХОЧУ СДЕЛАТЬ МОДИФИКАЦИЮ ПЕРЕСТАВИТЬ ОРДЕР НА Т/П ОТКРЫТОЙ ПОЗИЦИИ if(OrderType()==OP_SELLLIMIT){if(!modify_limit_order(OP_SELLLIMIT, BuyOrderTP)){i--;Sleep(1000);continue;}} if(OrderType()==OP_BUYLIMIT){if(!modify_limit_order(OP_BUYLIMIT, SellOrderTP)){i--;Sleep(1000);continue;}} } } } // выхожу из цикла break; } } }
bool modify_limit_order(int type, double price) { bool modify = false; if(type == OP_BUYLIMIT) //снизу { price_op=price; price_sl=price_op-StopLs*Point; price_tp=price_op+TakePr*Point; modify=OrderModify(OrderTicket(),nd0(price_op),nd0(price_sl), nd0(price_tp),0,RoyalBlue); } if(type == OP_SELLLIMIT) //сверху { price_op=price; price_sl=price_op+StopLs*Point; price_tp=price_op-TakePr*Point; modify=OrderModify(OrderTicket(),nd0(price_op),nd0(price_sl),nd0(price_tp),0,OrangeRed); } return(modify); }
- tatianati это нравится
#15216
Отправлено 07 July 2014 - 09:17
#15217
Отправлено 07 July 2014 - 09:20
#15218
Отправлено 07 July 2014 - 14:02
блин.. вроде делал уже... или пиво рубит.. не отосылал чтоли? запутался совсем.
ок. ещё раз, если не отсылал. добавлен bar_Alert = 0;// проверка на текущем баре, если 1, то назакрытом и т.д. // только для алерт
Cпасибо, Функция и правда полезная!!! Но он все еще кричит на каждом красном/зеленом баре У меня уже звон в ушах
Прикрепленные файлы
Героям слава !!!
Индикаторы нашел, ищу Способы Разгона...
#15219
Отправлено 07 July 2014 - 15:01
Заранее спасибо, и извините за мой ломанный Русский.
#15220
Отправлено 07 July 2014 - 15:11
Все привет! ребят подскажите, попросил сделать индикатор (пост № 15194 - повторно), но мне ни кто не отвечает, человек я новый, всего не знаю, но озночает это, что сделать на этом сайте его не получиться?
Заранее спасибо, и извините за мой ломанный Русский.
да, нормальный ваш Русский, тут бывает и хуже..)) и я тут, не исключение.. )). тех/задание хорошее, павильное, всё ясно и понятно.
просто пропустил вас, инвините.
Правильно что напомнили!
Прикрепленные файлы
#15221
Отправлено 07 July 2014 - 15:30
ок. вечером посмотрю... щаз опять иду пиво питьCпасибо, Функция и правда полезная!!! Но он все еще кричит на каждом красном/зеленом баре У меня уже звон в ушах
скину потом выше, в один из двух постов " RESERVED"
#15222
Отправлено 07 July 2014 - 17:20
Вы не дали индикатор, искать в сети не было времени , "сову" не смогла проверить на работоспособность исходник удалила. Будет время сделаю скину в личку.
Спасибо вам еще раз! извиняюсь что не скинул индикатор, скидываю инди но у меня только ех4.
Прикрепленные файлы
#15223
Отправлено 07 July 2014 - 18:48
ок. вечером посмотрю... щаз опять иду пиво пить
это дело правильное! Я наверное тоже схожу чего нибудь "ТЯПНУТЬ"
- Shipr это нравится
Героям слава !!!
Индикаторы нашел, ищу Способы Разгона...
#15224
Отправлено 07 July 2014 - 19:17
Прикрепленные файлы
#15225
Отправлено 07 July 2014 - 22:15
Сообщение отредактировал erex: 07 July 2014 - 22:16