Не срабатывает запрос на модификацию открытой позиции

 
Доброго времени суток!!
Помогите кто может.
Проблема. Написал советника. Протестировал. Все вроде по плану( в тестере стратегий) . Но... возникла проблема..

На реальном депозите при анализе открытой позиции , возникает необходимость ее модифицировать( поменять SELL на BUY, к примеру) . В тестере стратегий все срабатывает.. на реальном счете - нет.. Может кто сталкивался с такой проблемой?
Лог файлы просматривал- ошибок нет.. Во время работы советника , тоже ошибок не было..
Заранее спасибо !!!
Платформа -MT5. Альфа-форекс
 

Чтобы в лог файлах были записи, это надо запрограммировать в советнике.

 
Alexey Viktorov:

Чтобы в лог файлах были записи, это надо запрограммировать в советнике.

Здравствуйте! Спасибо за реакцию на мою просьбу!

Я просматривал лог- по этому адресу: ...AppData\Roaming\MetaQuotes\Terminal\FA97EA291D4188820508F9D2B5AAD50F\logs..

Если я правильно понимаю, туда фиксируются все "телодвижения" терминала, в том числе и ошибки.

 
Нет. Это лог терминала, всё что пишется в закладке "Журнал". А то что пишется в закладке "Эксперты" находится в логе по адресу каталог_терминала/MQL5/Logs
 
Alexey Viktorov:
Нет. Это лог терминала, всё что пишется в закладке "Журнал". А то что пишется в закладке "Эксперты" находится в логе по адресу каталог_терминала/MQL5/Logs

Согласен,адрес перепутал, но вопрос был не про лог-файлы..

Если можете ответить на вопрос- ответьте, а так, извините за грубость....


Летят двое на воздушном шаре... Унесло их, и не знают, где они сейчас... Пролетают мимо холма, на котором сидит человек. Храбрые воздухоплаватели спрашивают его:
- Скажите, пожалуйста, где мы сейчас находимся?
Человек на холме долго думает, после чего отвечает:
- На воздушном шаре.
Более пожилой и, следовательно более умудренный опытом воздухоплаватель говорит другому:
- Этот человек на холме - математик.
- Почему же?
- Он долго раздумывал над простым вопросом, после чего дал абсолютно точный и совершенно бесполезный ответ...

 
prostoigrok:
Доброго времени суток!!
Помогите кто может.
Проблема. Написал советника. Протестировал. Все вроде по плану( в тестере стратегий) . Но... возникла проблема..

На реальном депозите при анализе открытой позиции , возникает необходимость ее модифицировать( поменять SELL на BUY, к примеру) . В тестере стратегий все срабатывает.. на реальном счете - нет.. Может кто сталкивался с такой проблемой?
Лог файлы просматривал- ошибок нет.. Во время работы советника , тоже ошибок не было..
Заранее спасибо !!!
Платформа -MT5. Альфа-форекс

Много слов, информации ноль. Приведите кусок кода, где вы модифицируете и скажите, неттинг или хеджинг. Я удивляюсь людям, вчера вообще подумал, что это бот с рейтингом ноль, не стал отвечать.

 
Alexey Volchanskiy:

Много слов, информации ноль. Приведите кусок кода, где вы модифицируете и скажите, неттинг или хеджинг. Я удивляюсь людям, вчера вообще подумал, что это бот с рейтингом ноль, не стал отвечать.

Неттинг..


   if(SelectPosition()) //Если позиция открыта
     {

.

.

.

     if( zigSnake(tek_TP)==0) // zigSnake(tek_TP) -функция выполняющая некий анализ открытой позиции


        {
         if(typeOrder=="buy")
           {
            typeOrder="sell";
            LineDraw("реверсBuyВариант_1",clrDeepPink);

           }
         else
           {
            typeOrder="buy";
            LineDraw("реверсSellВариант_1",clrDeepPink);
             }
         openPosition(2);
         irevers=1;
        }

.

.

.


}


void openPosition(int revers)

{

.

.

.

     if(typeOrder=="buy")
        {
         signal=ORDER_TYPE_BUY;
         my_sl=SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_BUY  ? SYMBOL_ASK:SYMBOL_BID)-d_sl;
         my_tp=SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_BUY  ? SYMBOL_ASK:SYMBOL_BID)+d_tp;
        }
      if(typeOrder=="sell")
        {
         signal=ORDER_TYPE_SELL;
         my_sl=SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_SELL  ? SYMBOL_BID:SYMBOL_ASK)+d_sl;

         my_tp=SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_SELL  ? SYMBOL_BID:SYMBOL_ASK)-d_tp;
        }

      bool iorder=trade.PositionOpen(_Symbol,signal,MyStLot*revers,
                                     SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_SELL  ? SYMBOL_BID:SYMBOL_ASK),
                                     my_sl,my_tp);

.

.

.

}

 
prostoigrok:

Неттинг..

   if(SelectPosition()) //Если позиция открыта
     {

//

     if( zigSnake(tek_TP)==0) // zigSnake(tek_TP) -функция выполняющая некий анализ открытой позиции
        {
         if(typeOrder=="buy")
           {
            typeOrder="sell";
            LineDraw("реверсBuyВариант_1",clrDeepPink);
           }
         else
           {
            typeOrder="buy";
            LineDraw("реверсSellВариант_1",clrDeepPink);
             }
         openPosition(2);
         irevers=1;
        }
//
}


void openPosition(int revers)
{
//
     if(typeOrder=="buy")
        {
         signal=ORDER_TYPE_BUY;
         my_sl=SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_BUY  ? SYMBOL_ASK:SYMBOL_BID)-d_sl;
         my_tp=SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_BUY  ? SYMBOL_ASK:SYMBOL_BID)+d_tp;
        }
      if(typeOrder=="sell")
        {
         signal=ORDER_TYPE_SELL;
         my_sl=SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_SELL  ? SYMBOL_BID:SYMBOL_ASK)+d_sl;

         my_tp=SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_SELL  ? SYMBOL_BID:SYMBOL_ASK)-d_tp;
        }

      bool iorder=trade.PositionOpen(_Symbol,signal,MyStLot*revers,
                                     SymbolInfoDouble(_Symbol,signal==ORDER_TYPE_SELL  ? SYMBOL_BID:SYMBOL_ASK),
                                     my_sl,my_tp);
//
}

Мне понравился анекдот. И даже грубости не заметно. Каждый программист должен быть математиком.

При написании ответа найди в строке иконок, сверху окна ввода текста кнопку SRC и при вставке кода пользуйся ей. Так читается легче.

Теперь вопрос по коду: А где модификация позиции??? И где печать кода ошибки если модификация прошла неудачно???

 
Alexey Viktorov:

Мне понравился анекдот. И даже грубости не заметно. Каждый программист должен быть математиком.

При написании ответа найди в строке иконок, сверху окна ввода текста кнопку SRC и при вставке кода пользуйся ей. Так читается легче.

Теперь вопрос по коду: А где модификация позиции??? И где печать кода ошибки если модификация прошла неудачно???

Я, наверно неверно выразился. Скорее не модификация позиции,а выставление противоположной позиции с удвоенным объемом .

В тестере работает все прекрасно, а не депозите не могу найти следов ...

 
prostoigrok:

Я, наверно неверно выразился. Скорее не модификация позиции,а выставление противоположной позиции с удвоенным объемом .

В тестере работает все прекрасно, а не депозите не могу найти следов ...

Ну да. А я читал как человек далёкий от математики... в скобках чётко написано

( поменять SELL на BUY, к примеру)

С этим вопросом понятно. Остаётся второй вопрос: Где печать ошибки если

if(iorder == false) Print(GetLastError());
//или так
if(!iorder) Print(GetLastError());


Ведь пока не будет распечатки, то и в логах искать нечего.
 
Alexey Viktorov:

Мне понравился анекдот. И даже грубости не заметно. Каждый программист должен быть математиком.

При написании ответа найди в строке иконок, сверху окна ввода текста кнопку SRC и при вставке кода пользуйся ей. Так читается легче.

Теперь вопрос по коду: А где модификация позиции??? И где печать кода ошибки если модификация прошла неудачно???

Высылаю 2 файла . лог тестера и лог терминала за 29.06.17

в тестере есть открытие противоположной позиции ,,  в терминале нет

Причина обращения: