Доработка ботов (советников, индикаторов) vol. 2

SS_1975

Интересующийся
Доброго дня, всем. Господа программисты, помогите в шаблон вставить функции переноса в безубыток и частичного закрытия ордера. БУ по наступлении условий (достижении уровня), только этот уровень буду брать с индикатора, а не задавать в настройках...и обе функции работать дожны в паре...то есть цена достигла уровня (значение берем с индикатора через iCustom), советник тут же закрыл часть ордера (задается в настройках как % от лота) и перенес в БУ. Достигли следующего уровня (с того же индикатора) выполнилась функция полного закрытия ордера. Сама пытался вставить из других советников, не работает...Выручайте други))) время исправлять карму пришло)))
 

Вложения

ale9551

Активный участник
Уважаемые программисты!
Добавьте пожалуйста в советники функцию максимально допустимого спреда при торговле(от 0 включительно).
Заранее благодарен!
Уважаемые программисты!
Обратите пожалуйста внимание на мой пост
 

MakarFX

Элитный участник
Уважаемые программисты!
Добавьте пожалуйста в советники функцию максимально допустимого спреда при торговле(от 0 включительно).
Заранее благодарен!
Если спред больше указанного - открывать ордера не будет
 

Вложения

lexshur

Новичок форума
Здравствуйте уважаемые программисты! Попробовал написать советник по каналу без перерисовки. Он почему то не хочет открывать ордера на покупку, открывает только на продажу и не по линиям канала, а как то по своему. Голову уже сломал, ни чего не получается сам учусь, опыта нет. Помогите пожалуйста и если можно подскажите, где не правильно у меня в коде.
 

Вложения

MakarFX

Элитный участник
Здравствуйте уважаемые программисты! Попробовал написать советник по каналу без перерисовки. Он почему то не хочет открывать ордера на покупку, открывает только на продажу и не по линиям канала, а как то по своему. Голову уже сломал, ни чего не получается сам учусь, опыта нет. Помогите пожалуйста и если можно подскажите, где не правильно у меня в коде.
Ошибка здесь
Код:
   if (Bid >= PriceHigh && CountBuy() > 0)                                                  // Для
   {                                                                                        // закрытия
      for(int i = OrdersTotal() -1; i>= 0; i--)                                             // ордеров
      {                                                                                     // по
         if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))                                    // скользящим
         {                                                                                  // средним
            if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)
                if(!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Black))
                   Print("Ошибка закрытия ордера на покупку!");              
         }
      }
   }
if (Bid >= PriceHigh && CountBuy() > 0)
 

lexshur

Новичок форума
Ошибка здесь
Код:
   if (Bid >= PriceHigh && CountBuy() > 0)                                                  // Для
   {                                                                                        // закрытия
      for(int i = OrdersTotal() -1; i>= 0; i--)                                             // ордеров
      {                                                                                     // по
         if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))                                    // скользящим
         {                                                                                  // средним
            if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)
                if(!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Black))
                   Print("Ошибка закрытия ордера на покупку!");             
         }
      }
   }
if (Bid >= PriceHigh && CountBuy() > 0)
Попробовал переделал всё тоже самое, ни чего не изменилось. Также одни sell открывает и по линиям канала не работает. Помогите!!!!!
 

MakarFX

Элитный участник
Так я так и сделал, а у меня всё равно ерунда какая то. Совсем не так, как у вас.
Загрузи то, что я выложил и попробуй
P.S. еще один момент, поставь первый бар, т.к. на нулевом баре показания прыгают
Код:
   PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 1);
   PriceLow  = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 1);
 

ale9551

Активный участник
У тебя в коде стоит "<=" а надо ">="
И все работает
Посмотреть вложение 480049
Неплохой советник получился!
Не могли бы вы добавить контроль спреда в TMA_Fair2(как вы добавили в CyberiaTraderSpread перед этим),и MoneyManagment(работает при lot=0.00),как это реализовано в советнике Nevalyashka_ (2)?
Заранее благодарен!
 

Вложения

lexshur

Новичок форума
А, что сделать в советнике, что бы он с разными индексами валют работал? Я в другом терминале хочу попробовать, а там валюты с индексом m.
 

MakarFX

Элитный участник
А, что сделать в советнике, что бы он с разными индексами валют работал? Я в другом терминале хочу попробовать, а там валюты с индексом m.
Там везде стоит текущий символ, так что суффиксы и приставки не должны влиять.
 

lexshur

Новичок форума
Загрузи то, что я выложил и попробуй
P.S. еще один момент, поставь первый бар, т.к. на нулевом баре показания прыгают
Код:
   PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 1);
   PriceLow  = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 1);
Загрузи то, что я выложил и попробуй
P.S. еще один момент, поставь первый бар, т.к. на нулевом баре показания прыгают
Код:
   PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 1);
   PriceLow  = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 1);
Терминал перегрузил и котировки подгрузил и всё заработало. Спасибо за участие.
 

MakarFX

Элитный участник
Неплохой советник получился!
Не могли бы вы добавить контроль спреда в TMA_Fair2(как вы добавили в CyberiaTraderSpread перед этим),и MoneyManagment(работает при lot=0.00),как это реализовано в советнике Nevalyashka_ (2)?
Заранее благодарен!
контроль спреда в TMA_Fair2
 

Вложения

Посмотрели (381) Посмотреть

Смотрят сейчас (4) Посмотреть

Отслеживают (1806) Посмотреть

Верх