[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 75

 
MaxZ:

Замените OP_SELLSTOP на OP_SELLLIMIT, OP_BUYSTOP на OP_BUYLIMIT.

А ещё нет смысла использовать два раза:

У Вас ордер уже выбран и Вы его снова выбираете.

не работает!.. не торгует

void otlogka (int order)
{
int a, k=OrdersTotal();

for (a=k-1; a>=0; a--) {
if (OrderSelect(a, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType()==OP_BUY) {
if ///// может лучше указать так: (Bid-OrderOpenPrice())>20
(OrderProfit()+OrderCommission()+OrderSwap()<0) {
order=OrderSend(Symbol(),OP_SELLLIMIT,0.02,NormalizeDouble(Ask,Digits)+15*Point,1,0,12,"Otlogka",mn,5,0);
}}}}
if (OrderType()==OP_SELL){
if (OrderProfit()+OrderCommission()+OrderSwap()<0) {
order=OrderSend(Symbol(),OP_BUYLIMIT,0.02,NormalizeDouble(Ask,Digits)-15*Point,1,0,12,"Otlogka",mn,5,0);
}}}
 
MaxZ:

o.O

В каком месте нужен был RefreshRates()?

Или Вы написали Свою функцию Refrashrates()?? :DD


RefreshRates() нужен в том месте где идет обращение к ценам.
 
smartemiy:

Что это за цифра "12" в функции OrderSend? :(

И Вы Меня не правильно поняли по поводу выбора ордеров... Надо так:

int a, k = OrdersTotal();
for (a = k-1; a >= 0; a--)
   if (OrderSelect(a, SELECT_BY_POS, MODE_TRADES))
   {
      if (OrderType()==OP_BUY )
      {
// ......................
      }
      if (OrderType()==OP_SELL)
      {
// ......................
      }
   }
 
PapaYozh:

RefreshRates() нужен в том месте где идет обращение к ценам.
А может к предопределённым переменным и массивам тайм-серий?
 
MaxZ:
А может к предопределённым переменным и массивам тайм-серий?

Хоть к предопределённым, хоть через MarketInfo
 
PapaYozh:

Хоть к предопределённым, хоть через MarketInfo

А Я Вам говорю нет: https://www.mql5.com/ru/forum/102562.

 
MaxZ:

А Я Вам говорю нет: https://www.mql5.com/ru/forum/102562.


И действительно.
 
PapaYozh:

И действительно.

Во-во. Я Сам был удивлён! :)) Наткнулся случайно ночью на данную ветку форума и сразу взял этот факт Себе на ус...

Поэтому Мне очень интересно куда это там надо было вставить Refrashrates(), чтобы код заработал и перестала приходить ошибка 129.

 
Как я уже понял, все цены были взяты из маркетинфо и нормализован, но ордера не проходилиы. Как-будто строчка ордерсенд пропускалась. Я решил уточнить, с какой же ошибкой он сталкивался. Алерт каждый раз ругался на неправильные цены, хотя я был уверен, что цены нормализованы. Задал вопрос здесь. А добавил я рефрэшрейтс в начало функции старт, перед циклом инструментов.
 
А есть ли люди которые напишут советник за предоставление торговой системы, ну нет у меня лишних 50-100 баксов! Торговая система реально работает и очень простая!!! Но основе МАСД и мувинга, еще учитывает один фактор... работает на доларе/фунте, евро/доларе, на остальных не проверял.... По этой на центах торгую успешно уже 3 месяца но пропускаю примерно 70 процентов точек входа!!! Помогите...