Ответ
 
Опции темы
Старый 24.01.2013, 10:52   #921 (permalink)
Элитный участник
 
Аватар для Sergey Kovalyov
 
Регистрация: 10.08.2012
Адрес: Киев, Слава Украине!
Сообщений: 2,438
Репутация: 1485
Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov
Сказал(а) спасибо: 1,938
Поблагодарили 1,483 раз(а) в 1,001 сообщениях
Поинты: 26
Как померять проскальзывание. Debug меняем на Print.

Переменные

bool close = false;
int ticks, ticket, type;
double slippage, price;

надо описать.

symb меняем на Symbol()

PHP код:
ticks GetTickCount();
if (
type == OP_BUY) {
        
RefreshRates();
        
price Ask;
        
Debug("going to BUY: " DoubleToStr(lot2) + "  ask: " DoubleToStr(priceDigits));
        
ticket OrderSend(symbOP_BUYlotAsk000);
} else if (
type == OP_SELL) {
        
RefreshRates();
        
price Bid;
        
Debug("going to SELL: " DoubleToStr(lot2) + "  bid: " DoubleToStr(priceDigits));
        
ticket OrderSend(symbOP_SELLlotBid000);
}
if (
ticket != 0) { 
        
OrderSelect(ticketSELECT_BY_TICKET);
        if (
close) {
                
slippage price OrderClosePrice();
                if (
type == OP_BUYslippage = -slippage;
        } else {
                
slippage price OrderOpenPrice();
                if (
type == OP_SELLslippage = -slippage;
        }       
        
Debug(""
                
"ticket #" ticket
                
"  ms: " + (GetTickCount() - ticks)
                + 
"  slip: " DoubleToStr(slippage Point0)
                + 
"  cmnt: " OrderComment()
        );      


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
фирсяку на гилляку!


Последний раз редактировалось Sergey Kovalyov; 24.01.2013 в 10:56.
Sergey Kovalyov вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (24.01.2013), mnem0n1k (24.01.2013)
Старый 24.01.2013, 10:57   #922 (permalink)
Местный житель
 
Аватар для mnem0n1k
 
Регистрация: 20.02.2010
Сообщений: 417
Репутация: 200
mnem0n1k - mnem0n1k - mnem0n1k -
Сказал(а) спасибо: 281
Поблагодарили 196 раз(а) в 132 сообщениях
Поинты: 256
Сообщение от Sergey Kovalyov Посмотреть сообщение
Как померять проскальзывание.
Debug меняем на Print. Переменные ticks, price, ticket, slippage надо описать.
symb меняем на Symbol()

PHP код:
ticks GetTickCount();
if (
type == OP_BUY) {
        
RefreshRates();
        
price Ask;
        
Debug("going to BUY: " DoubleToStr(lot2) + "  ask: " DoubleToStr(priceDigits));
        
ticket OrderSend(symbOP_BUYlotAsk000);
} else if (
type == OP_SELL) {
        
RefreshRates();
        
price Bid;
        
Debug("going to SELL: " DoubleToStr(lot2) + "  bid: " DoubleToStr(priceDigits));
        
ticket OrderSend(symbOP_SELLlotBid000);
}
if (
ticket != 0) { 
        
OrderSelect(ticketSELECT_BY_TICKET);
        if (
close) {
                
slippage price OrderClosePrice();
                if (
type == OP_BUYslippage = -slippage;
        } else {
                
slippage price OrderOpenPrice();
                if (
type == OP_SELLslippage = -slippage;
        }       
        
Debug(""
                
"ticket #" ticket
                
"  ms: " + (GetTickCount() - ticks)
                + 
"  slip: " DoubleToStr(slippage Point0)
                + 
"  cmnt: " OrderComment()
        );      

В каком смысле описать? Ты пойми, я вобще 0 в этом деле.)
Как юзер - очень оперативный и понятливый, но как "описывалищик" - ноль.
Для Альпари ECN что надо вписывать и куда? Или это каждый раз, как приспичит, надо будет что-то менять?
mnem0n1k на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 24.01.2013, 11:01   #923 (permalink)
Элитный участник
 
Аватар для Sergey Kovalyov
 
Регистрация: 10.08.2012
Адрес: Киев, Слава Украине!
Сообщений: 2,438
Репутация: 1485
Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov
Сказал(а) спасибо: 1,938
Поблагодарили 1,483 раз(а) в 1,001 сообщениях
Поинты: 26
Ну, переменные, перед тем как использовать, надо создать. Создание переменных называется "описание". В начало кода добавь строчки как там написано. int бла-бла-бла. Не, один раз прописать. Оно от брокера не зависит.

По остальному... даже не знаю как тебе объяснить... Давай, ты найдешь кусок, где у тебя в коде OrderSend (или несколько кусков, если их несколько_ и по 10 строчек сверху и снизу от него скопируешь, я попробую поменять, ты его туда втулишь обратно уже поменяный, и посмотрим, чо получится. =)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
фирсяку на гилляку!

Sergey Kovalyov вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (24.01.2013), mnem0n1k (24.01.2013)
Старый 24.01.2013, 11:06   #924 (permalink)
Местный житель
 
Аватар для mnem0n1k
 
Регистрация: 20.02.2010
Сообщений: 417
Репутация: 200
mnem0n1k - mnem0n1k - mnem0n1k -
Сказал(а) спасибо: 281
Поблагодарили 196 раз(а) в 132 сообщениях
Поинты: 256
Сообщение от Sergey Kovalyov Посмотреть сообщение
Ну, переменные, перед тем как использовать, надо создать. Создание переменных называется "описание". В начало кода добавь строчки как там написано. int бла-бла-бла. Не, один раз прописать. Оно от брокера не зависит.

По остальному... даже не знаю как тебе объяснить... Давай, ты найдешь кусок, где у тебя в коде OrderSend (или несколько кусков, если их несколько_ и по 10 строчек сверху и снизу от него скопируешь, я попробую поменять, ты его туда втулишь обратно уже поменяный, и посмотрим, чо получится. =)
Не, уже сам (не я).. разбудил гениального программиста, который всем этим заправляет. Спасибо за помощь.
mnem0n1k на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 28.01.2013, 10:53   #925 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
У меня такая проблема. ДЦ изменил время терминала с GMT+1 на GMT+2. А мой сов настроен на определённое время и при тестировании он видит в терминале до сегодняшнего дня прежнее время(GMT+1) а уже с сегодняшнего время другое. Так вот помогите в коде написать: если до 27 января 2013 года, то...., и - если после 27 января 2013 года, то...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мой тейкпрофит-магнит, а стоплосс-паразит
Тебе повезло,ты не такой как все
Ты работаешь на форексе
Алекc1234 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 28.01.2013, 11:06   #926 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от Алекc1234 Посмотреть сообщение
У меня такая проблема. ДЦ изменил время терминала с GMT+1 на GMT+2. А мой сов настроен на определённое время и при тестировании он видит в терминале до сегодняшнего дня прежнее время(GMT+1) а уже с сегодняшнего время другое. Так вот помогите в коде написать: если до 27 января 2013 года, то...., и - если после 27 января 2013 года, то...
Код:
//Задать дату
   string data="2013.01.27";
   //Преобразовать в datetime
   datetime data_=StrToTime(data);
   //Текущие дата и время
   datetime cur=TimeCurrent();
   //До заданной даты
   if(cur<data_)
      {
      //До заданной даты, то...
      }
   //После или равно заданной даты 00:00:00
   else
      {
      //После или равно заданной даты 00:00:00, то...
      }

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
3 пользователя(ей) сказали cпасибо:
ale002 (29.01.2013), eevviill (28.01.2013), Алекc1234 (28.01.2013)
Старый 28.01.2013, 11:07   #927 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от Алекc1234 Посмотреть сообщение
У меня такая проблема. ДЦ изменил время терминала с GMT+1 на GMT+2. А мой сов настроен на определённое время и при тестировании он видит в терминале до сегодняшнего дня прежнее время(GMT+1) а уже с сегодняшнего время другое. Так вот помогите в коде написать: если до 27 января 2013 года, то...., и - если после 27 января 2013 года, то...
if(TimeCurrent() <= StrToTime("2013.1.27");// если до 27 января 2013 года, то...
else if(TimeCurrent() > StrToTime("2013.1.27");//если после 27 января 2013 года, то...
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
3 пользователя(ей) сказали cпасибо:
ale002 (29.01.2013), eevviill (28.01.2013), Алекc1234 (28.01.2013)
Старый 28.01.2013, 12:02   #928 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Ugar - спасибо большое, Ваш вариант чётко заработал!!!!

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мой тейкпрофит-магнит, а стоплосс-паразит
Тебе повезло,ты не такой как все
Ты работаешь на форексе
Алекc1234 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 10:44   #929 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
У всем известного Юрия Дзюбана есть функция обычного траала. Свои функции у меня работаю великолепно, но мне всегда интересно узнать новые подходы. Решил я понять его логику. Вот содержимое кода, функция, какие глобальные переменные и что писать в старте:

PHP код:
extern   int      iTicket;             // уникальный номер (тикет) открытой позиции
extern   int      iTrldistance 40;   // расстояние от текущего курса (пунктов), на котором включается трейлинг, пунктов
extern   int      iTrlstep 10;       // "шаг" изменения стоплосса (пунктов) (не меньше 1)

//+------------------------------------------------------------------+
//| ТРЕЙЛИНГ СТАНДАРТНЫЙ-СТУПЕНЧАСТЫЙ                                |
//| Советнику передаётся тикет позиции, расстояние от курса открытия,|
//| на котором трейлинг запускается (пунктов) и "шаг", с которым он  |
//| переносится (пунктов)                                            |
//| Пример: при +30 стоп на +10, при +40 - стоп на +20 и т.д.        |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {    
   return(
0);
  }
  
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
   return(
0);
  }
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   
TrailingStairs(iTicket,iTrldistance,iTrlstep);
   return(
0);
  }
//+------------------------------------------------------------------+

void TrailingStairs(int ticket,int trldistance,int trlstep)
   { 
   
   
double nextstair// ближайшее значение курса, при котором будем менять стоплосс

   // проверяем переданные значения
   
if ((trldistance<MarketInfo(Symbol(),MODE_STOPLEVEL)) || (trlstep<1) || (trldistance<trlstep) || (ticket==0) || (!OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)))
      {
      Print(
"Трейлинг функцией TrailingStairs() невозможен из-за некорректности значений переданных ей аргументов.");
      return(
0);
      } 
   
   
// если длинная позиция (OP_BUY)
   
if (OrderType()==OP_BUY)
      {
      
// расчитываем, при каком значении курса следует скорректировать стоплосс
      // если стоплосс ниже открытия или равен 0 (не выставлен), то ближайший уровень = курс открытия + trldistance + спрэд
      
if ((OrderStopLoss()==0) || (OrderStopLoss()<OrderOpenPrice()))
      
nextstair OrderOpenPrice() + trldistance*Point;
         
      
// иначе ближайший уровень = текущий стоплосс + trldistance + trlstep + спрэд
      
else
      
nextstair OrderStopLoss() + trldistance*Point;

      
// если текущий курс (Bid) >= nextstair и новый стоплосс точно лучше текущего, корректируем последний
      
if (Bid>=nextstair)
         {
         if ((
OrderStopLoss()==0) || (OrderStopLoss()<OrderOpenPrice()) && (OrderOpenPrice() + trlstep*Point<Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)) 
            {
            if (!
OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice() + trlstep*Point,OrderTakeProfit(),OrderExpiration()))
            Print(
"Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());
            }
         }
      else
         {
         if (!
OrderModify(ticket,OrderOpenPrice(),OrderStopLoss() + trlstep*Point,OrderTakeProfit(),OrderExpiration()))
         Print(
"Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());
         }
      }
      
   
// если короткая позиция (OP_SELL)
   
if (OrderType()==OP_SELL)
      { 
      
// расчитываем, при каком значении курса следует скорректировать стоплосс
      // если стоплосс ниже открытия или равен 0 (не выставлен), то ближайший уровень = курс открытия + trldistance + спрэд
      
if ((OrderStopLoss()==0) || (OrderStopLoss()>OrderOpenPrice()))
      
nextstair OrderOpenPrice() - (trldistance MarketInfo(Symbol(),MODE_SPREAD))*Point;
      
      
// иначе ближайший уровень = текущий стоплосс + trldistance + trlstep + спрэд
      
else
      
nextstair OrderStopLoss() - (trldistance MarketInfo(Symbol(),MODE_SPREAD))*Point;
       
      
// если текущий курс (Аск) >= nextstair и новый стоплосс точно лучше текущего, корректируем последний
      
if (Ask<=nextstair)
         {
         if ((
OrderStopLoss()==0) || (OrderStopLoss()>OrderOpenPrice()) && (OrderOpenPrice() - (trlstep MarketInfo(Symbol(),MODE_SPREAD))*Point>Ask+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point))
            {
            if (!
OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice() - (trlstep MarketInfo(Symbol(),MODE_SPREAD))*Point,OrderTakeProfit(),OrderExpiration()))
            Print(
"Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());
            }
         }
      else
         {
         if (!
OrderModify(ticket,OrderOpenPrice(),OrderStopLoss()- (trlstep MarketInfo(Symbol(),MODE_SPREAD))*Point,OrderTakeProfit(),OrderExpiration()))
         Print(
"Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());
         }
      }      
   } 

У меня его подход сразу вызвал трудности. Во-первых, почему тикет в глобальных и, к тому же внешних!? Его же нужно получать перебором ордеров через цикл... Как иначе?
Вызов функции тоже странный:

PHP код:
TrailingStairs(iTicket,iTrldistance,iTrlstep); 

Если у меня открыто 40 ордеров, например, в данный момент, откуда функция узнает какой ордер ей использовать?


По-моему тут логично работать через цикл, типа того как я сделал. В старт я добавил вот такой код:

PHP код:
for (OrdersTotal() - 1>= 0g--)
   {
       if (!
OrderSelect(g,SELECT_BY_POS)) continue;
        if (
i_magic != -1) if (OrderMagicNumber() != i_magic) continue;
        if (
OrderSymbol() != Symbol()) continue;
       {
           
ticket OrderTicket();
           
TrailingStairs(ticketiTrldistanceiTrlstep);
       }
   } 

Что здесь не так вообще?
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 10:54   #930 (permalink)
Элитный участник
 
Аватар для Sergey Kovalyov
 
Регистрация: 10.08.2012
Адрес: Киев, Слава Украине!
Сообщений: 2,438
Репутация: 1485
Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov
Сказал(а) спасибо: 1,938
Поблагодарили 1,483 раз(а) в 1,001 сообщениях
Поинты: 26
А где в цикле присвоение номера тикета переменной и/или передача его в тралл?

Вместо ticket попробуйте поставить OrderTicket()
Немного криво, но должно сработать, по идее. =)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
фирсяку на гилляку!

Sergey Kovalyov вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 10:56   #931 (permalink)
Элитный участник
 
Аватар для Sergey Kovalyov
 
Регистрация: 10.08.2012
Адрес: Киев, Слава Украине!
Сообщений: 2,438
Репутация: 1485
Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov
Сказал(а) спасибо: 1,938
Поблагодарили 1,483 раз(а) в 1,001 сообщениях
Поинты: 26
Ну, так должно работать. Не работает?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
фирсяку на гилляку!

Sergey Kovalyov вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 11:05   #932 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Sergey Kovalyov Посмотреть сообщение
А где в цикле присвоение номера тикета переменной и/или передача его в тралл?

Вместо ticket попробуйте поставить OrderTicket()
Немного криво, но должно сработать, по идее. =)
Как это где?

Цикл:

PHP код:
 for (OrdersTotal() - 1>= 0g--)
   {
       if (!
OrderSelect(g,SELECT_BY_POS)) continue;
        if (
i_magic != -1) if (OrderMagicNumber() != i_magic) continue;
        if (
OrderSymbol() != Symbol()) continue;
       {
           
ticket OrderTicket();
           
TrailingStairs(ticketiTrldistanceiTrlstep);
       }
   } 

Присвоение:

PHP код:
   ticket OrderTicket(); 
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 11:13   #933 (permalink)
Элитный участник
 
Аватар для Sergey Kovalyov
 
Регистрация: 10.08.2012
Адрес: Киев, Слава Украине!
Сообщений: 2,438
Репутация: 1485
Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov
Сказал(а) спасибо: 1,938
Поблагодарили 1,483 раз(а) в 1,001 сообщениях
Поинты: 26
Сообщение от hoz Посмотреть сообщение
Как это где?
Когда я писал вопрос, этого не было. Или меня проглючило. Наверное, проглючило.

Так работает или как? В чем проблема-то?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
фирсяку на гилляку!

Sergey Kovalyov вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 11:20   #934 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Sergey Kovalyov Посмотреть сообщение
Когда я писал вопрос, этого не было. Или меня проглючило. Наверное, проглючило.

Так работает или как? В чем проблема-то?
Давай по порядку.. Первый вопрос такой:

" У меня его подход сразу вызвал трудности. Во-первых, почему тикет в глобальных и, к тому же внешних!? "
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 11:42   #935 (permalink)
Элитный участник
 
Аватар для Sergey Kovalyov
 
Регистрация: 10.08.2012
Адрес: Киев, Слава Украине!
Сообщений: 2,438
Репутация: 1485
Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov
Сказал(а) спасибо: 1,938
Поблагодарили 1,483 раз(а) в 1,001 сообщениях
Поинты: 26
Ну, чтобы можно было ручками задать номер тикета при запуске. Если ты решил, что тебе надо тралить все и автоматом, то выкинь и все. =)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
фирсяку на гилляку!

Sergey Kovalyov вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 11:47   #936 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Sergey Kovalyov Посмотреть сообщение
Ну, чтобы можно было ручками задать номер тикета при запуске. Если ты решил, что тебе надо тралить все и автоматом, то выкинь и все. =)
И как ты себе это представляешь? Торговать всегда тока одним ордером? Это абсурдно.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 11:49   #937 (permalink)
Элитный участник
 
Аватар для Sergey Kovalyov
 
Регистрация: 10.08.2012
Адрес: Киев, Слава Украине!
Сообщений: 2,438
Репутация: 1485
Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov
Сказал(а) спасибо: 1,938
Поблагодарили 1,483 раз(а) в 1,001 сообщениях
Поинты: 26
Автор сделал функцию так, что ты ее запускаешь и ручками вбиваешь номер тикета (extern это значит выскочит окошко такое, где параметры советника указываеются). Тебе этого не надо. Убери extern iTicket, поставь свой цикл в start вместо просто вызова трала, и все будет ок. В чем вопрос/проблема?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
фирсяку на гилляку!

Sergey Kovalyov вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 11:51   #938 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Проблема в том, что я так и сделал. Но ошибка пошло 130. Близкие стопы. Значит косяк получается в его функции...
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 12:04   #939 (permalink)
Элитный участник
 
Аватар для Sergey Kovalyov
 
Регистрация: 10.08.2012
Адрес: Киев, Слава Украине!
Сообщений: 2,438
Репутация: 1485
Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov Sergey Kovalyov
Сказал(а) спасибо: 1,938
Поблагодарили 1,483 раз(а) в 1,001 сообщениях
Поинты: 26
Или у твоего брокера. =)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
фирсяку на гилляку!

Sergey Kovalyov вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.01.2013, 12:11   #940 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Ну брокер Альпари для теста. Вот что тестер выдаёт:

PHP код:
2013.01.30 14:02:03    2011.01.12 13:28  Phillip_Nel's_TS_for_M5 EURUSD,H1: Не удалось модифицировать стоплосс ордера №1. Ошибка: 130
2013.01.30 14:02:03    2011.01.12 13:28  Phillip_Nel'
s_TS_for_M5 EURUSD,H1OrderModify error 130
2013.01.30 14
:02:03    2011.01.12 13:28  Phillip_Nel's_TS_for_M5 EURUSD,H1: OrderStopLoss() = 1.2969
2013.01.30 14:02:03    2011.01.12 13:28  Phillip_Nel'
s_TS_for_M5 EURUSD,H1nextstair 1.3059
2013.01.30 14
:02:03    2011.01.12 13:28  Phillip_Nel's_TS_for_M5 EURUSD,H1: Ask = 1.2972 Bid = 1.297
2013.01.30 14:02:03    2011.01.12 13:28  Phillip_Nel'
s_TS_for_M5 EURUSD,H1Не удалось модифицировать стоплосс ордера №1Ошибка130
2013.01.30 14
:02:03    2011.01.12 13:28  Phillip_Nel's_TS_for_M5 EURUSD,H1: OrderModify error 130
2013.01.30 14:02:03    2011.01.12 13:28  Phillip_Nel'
s_TS_for_M5 EURUSD,H1OrderStopLoss() = 1.2969
2013.01.30 14
:02:03    2011.01.12 13:28  Phillip_Nel's_TS_for_M5 EURUSD,H1: nextstair = 1.3059
2013.01.30 14:02:03    2011.01.12 13:28  Phillip_Nel'
s_TS_for_M5 EURUSD,H1Ask 1.2972 Bid 1.2971
2013.01.30 14
:02:03    2011.01.12 13:28  Phillip_Nel's_TS_for_M5 EURUSD,H1: Не удалось модифицировать стоплосс ордера №1. Ошибка: 130
2013.01.30 14:02:03    2011.01.12 13:28  Phillip_Nel'
s_TS_for_M5 EURUSD,H1OrderModify error 130
2013.01.30 14
:02:03    2011.01.12 13:28  Phillip_Nel's_TS_for_M5 EURUSD,H1: OrderStopLoss() = 1.2969
2013.01.30 14:02:03    2011.01.12 13:28  Phillip_Nel'
s_TS_for_M5 EURUSD,H1nextstair 1.3059 
Нормальный стоп в принципе. Абы что. Причём тут близкие стоп...
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 18:27. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
SEO by vBSEO