Ответ
 
Опции темы
Старый 12.12.2014, 22:45   #501 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547
Привет eevviill)
у меня вопрос такой, как написать в коде логику открытия ордеров в моем случае, чтобы ордера открывались по началу сигнала(условие A>B),смотрите ниже рисунок и кусок кода,в другой ветке ответили, но там по барам открытие, то есть в моем случае ордера откроются на новых барах если A>B, а мне то нужно открыть только 1 ордер при начале сигнала и все...

PHP код:
extern int MaxOrders=5;

int start()
{
 if(
OrdersTotal() < MaxOrders)
  {
//---------------------

   
if(A>B)
    {
     
OrderSend(....);
    }

//---------------------
  
}
return(
0);

Миниатюры:
Нажмите на изображение для увеличения
Название: forex01.JPG
Просмотров: 12
Размер:	10.0 Кб
ID:	188125  

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 13.12.2014, 14:30   #502 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9025
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,679
Поблагодарили 9,025 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от Milord Посмотреть сообщение
Привет eevviill)
у меня вопрос такой, как написать в коде логику открытия ордеров в моем случае, чтобы ордера открывались по началу сигнала(условие A>B),смотрите ниже рисунок и кусок кода,в другой ветке ответили, но там по барам открытие, то есть в моем случае ордера откроются на новых барах если A>B, а мне то нужно открыть только 1 ордер при начале сигнала и все...

PHP код:
extern int MaxOrders=5;

int start()
{
 if(
OrdersTotal() < MaxOrders)
  {
//---------------------

   
if(A>B)
    {
     
OrderSend(....);
    }

//---------------------
  
}
return(
0);

Смотря какое условие.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 13.12.2014, 20:01   #503 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547
Сообщение от eevviill Посмотреть сообщение
Смотря какое условие.
например такое

if(MA1>MA2)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.12.2014, 14:24   #504 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9025
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,679
Поблагодарили 9,025 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от Milord Посмотреть сообщение
например такое

if(MA1>MA2)
http://forexsystemsru.com/yazyk-programmirovaniya-mql4/67073-uroki-po-programmirovaniyu-na-yazyke-mql4-ot-eevviill-3.html#post413248
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
Milord (14.12.2014), Viko2000 (17.05.2015)
Старый 14.12.2014, 17:41   #505 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547
Сообщение от eevviill Посмотреть сообщение
http://forexsystemsru.com/yazyk-programmirovaniya-mql4/67073-uroki-po-programmirovaniyu-na-yazyke-mql4-ot-eevviill-3.html#post413248
Василий, по вашей ссылке неясно где и что смотреть, там целая страница ответов и коментов....
мне было бы понятнее, если бы показал на моем куске кода,...

PHP код:
extern int MaxOrders=5;

int start()
{
 if(
OrdersTotal() < MaxOrders)
  {
//---------------------

   
if(MA1>MA2)
    {
     
OrderSend(....);
    }

//---------------------
  
}
return(
0);


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.12.2014, 15:00   #506 (permalink)
Элитный участник
 
Аватар для borobor
 
Регистрация: 03.05.2009
Адрес: новосибирск
Сообщений: 929
Репутация: 1566
borobor borobor borobor borobor borobor borobor borobor borobor borobor borobor borobor
Сказал(а) спасибо: 107
Поблагодарили 1,555 раз(а) в 550 сообщениях
Поинты: 54
Сообщение от Milord Посмотреть сообщение
Василий, по вашей ссылке неясно где и что смотреть, там целая страница ответов и коментов....
мне было бы понятнее, если бы показал на моем куске кода,...

PHP код:
extern int MaxOrders=5;

int start()
{
 if(
OrdersTotal() < MaxOrders)
  {
//---------------------

   
if(MA1>MA2)
    {
     
OrderSend(....);
    }

//---------------------
  
}
return(
0);

выбери что-нибудь

Истина, если a равно b a == b;
Истина, если a не равно b a != b;
Истина, если a меньше b a < b;
Истина, если a больше b a > b;
Истина, если a меньше или равно b a <= b;
Истина, если a больше или равно b a >= b;
borobor вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
DomovenokBrest (22.12.2014), eevviill (07.01.2015)
Старый 18.01.2015, 12:44   #507 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547
Сообщение от borobor Посмотреть сообщение
выбери что-нибудь

Истина, если a равно b a == b;
Истина, если a не равно b a != b;
Истина, если a меньше b a < b;
Истина, если a больше b a > b;
Истина, если a меньше или равно b a <= b;
Истина, если a больше или равно b a >= b;
Уважаемый боробор, у вас опыт большой в написании, но вы меня не поняли, точнее мой вопрос, условие давно выбрано if(MA1>MA2)
напишите если не трудно в самом коде, чтобы было ясно вашу мысль?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 18.01.2015, 12:51   #508 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547
Здравствуйте Василий!
взял с вашего советника функцию трала, но он почему то не работает, задал вопрос в другую ветку форума, но там что то неясное ответили, а может я не понял, можете глянуть сами где тут ошибка???
PHP код:
//-----------------------------------------------------------------
void Tral()
{
  for(
int i=0i<OrdersTotal(); i++) { 
    if(!(
OrderSelect(iSELECT_BY_POSMODE_TRADES))) continue; 
    if(
OrderSymbol() != Symbol()) continue;        

    if(
OrderType()==OP_BUY) { 
      if(
Bid-OrderOpenPrice()>TrailingStop*Point&&Bid>=OrderOpenPrice()+TrailingStart*Point) { 
        if(
OrderStopLoss()<Bid-(TrailingStop+TrailingStep-1)*Point
          
OrderModify(OrderTicket(), OrderOpenPrice(),Bid-TrailingStop*PointOrderTakeProfit(), 0CLR_NONE); 
      } 
    } 

   if(
OrderType()==OP_SELL) { 
     if(
OrderOpenPrice()-Ask>TrailingStop*Point&& Ask<=OrderOpenPrice()-TrailingStart*Point) { 
        if(
OrderStopLoss()>Ask+(TrailingStop+TrailingStep-1)*Point
         
OrderModify(OrderTicket(), OrderOpenPrice(),Ask+TrailingStop*PointOrderTakeProfit(), 0CLR_NONE); 
      }
    } 
  } 
  
}
//------------------------------------------------ 

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 18.01.2015, 14:08   #509 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9025
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,679
Поблагодарили 9,025 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от Milord Посмотреть сообщение
Здравствуйте Василий!
взял с вашего советника функцию трала, но он почему то не работает, задал вопрос в другую ветку форума, но там что то неясное ответили, а может я не понял, можете глянуть сами где тут ошибка???
PHP код:
//-----------------------------------------------------------------
void Tral()
{
  for(
int i=0i<OrdersTotal(); i++) { 
    if(!(
OrderSelect(iSELECT_BY_POSMODE_TRADES))) continue; 
    if(
OrderSymbol() != Symbol()) continue;        

    if(
OrderType()==OP_BUY) { 
      if(
Bid-OrderOpenPrice()>TrailingStop*Point&&Bid>=OrderOpenPrice()+TrailingStart*Point) { 
        if(
OrderStopLoss()<Bid-(TrailingStop+TrailingStep-1)*Point
          
OrderModify(OrderTicket(), OrderOpenPrice(),Bid-TrailingStop*PointOrderTakeProfit(), 0CLR_NONE); 
      } 
    } 

   if(
OrderType()==OP_SELL) { 
     if(
OrderOpenPrice()-Ask>TrailingStop*Point&& Ask<=OrderOpenPrice()-TrailingStart*Point) { 
        if(
OrderStopLoss()>Ask+(TrailingStop+TrailingStep-1)*Point
         
OrderModify(OrderTicket(), OrderOpenPrice(),Ask+TrailingStop*PointOrderTakeProfit(), 0CLR_NONE); 
      }
    } 
  } 
  
}
//------------------------------------------------ 

Скрытый текст

PHP код:
///////////////////////////////////////////////////////////////////////////
void Traling_Stop_f()
{
  for(
int i=0i<OrdersTotal(); i++) 
  { 
    if(
OrderSelect(iSELECT_BY_POS))
    {
    if(
OrderSymbol() == Symbol())
    {        
    if(
OrderMagicNumber()==Magic)
    {

    if(
OrderType()==OP_BUY
      { 
      if(
Bid>=NormalizeDouble(OrderOpenPrice()+TrailingStart*point+TrailingStop*point,Digits)) 
      { 
        if(
NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(Bid-(TrailingStop+TrailingStep)*point,Digits))
        {
        if(
NormalizeDouble(OrderStopLoss(),Digits)!=NormalizeDouble(Bid-TrailingStop*point,Digits))
        {
        while(
IsTradeContextBusy()) Sleep(int(pause_if_busy*1000));
        
RefreshRates();
          if(
OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Bid-TrailingStop*point,Digits), OrderTakeProfit(), 0clrNONE))
          continue;
        } 
        }
      }
      } 

    if(
OrderType()==OP_SELL
      { 
      if(
Ask<=NormalizeDouble(OrderOpenPrice()-TrailingStart*point-TrailingStop*point,Digits)) 
      { 
        if((
NormalizeDouble(OrderStopLoss(),Digits)>NormalizeDouble(Ask+(TrailingStop+TrailingStep)*point,Digits)) || OrderStopLoss()==0
        {
        if(
NormalizeDouble(OrderStopLoss(),Digits)!=NormalizeDouble(Ask+TrailingStop*point,Digits))
        {
        while(
IsTradeContextBusy()) Sleep(int(pause_if_busy*1000));
        
RefreshRates();
          if(
OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Ask+TrailingStop*point,Digits), OrderTakeProfit(), 0clrNONE))
          continue;
        }
        }
      }
      } 
    }
    }
    } 
  }
  

[свернуть]
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
Milord (18.01.2015), Viko2000 (17.05.2015)
Старый 23.01.2015, 08:16   #510 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547
Здравствуйте Василий!
у меня возник вопрос как разделить по магику число открытых ордеров, если в советнике использовано две ТС, то есть на каждую ТС свой магик, то как сделать так, чтобы во внешних настройках задавать максимальное число открытых ордеров независимо в каждой ТС, ниже кусок кода как я его вижу, добавьте что и как нужно в него?
ЗАРАНЕЕ СПАСИБО!

PHP код:
extern int MaxTrades1 10;
extern int MaxTrades2 10;
extern int magic1 111;
extern int magic2 333;


int start() 
{
//---------TC1------------------
if(A>B)
 {
 
OrderSend(...);
 }

//----------TC2-----------------
if(C>D)
 {
 
OrderSend(...);
 }
//-----
}
//-----------end------------- 

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.01.2015, 08:38   #511 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
Вы сами написали нужный код. Осталось найти кол-во ордеров с м-номерами от 1 и от 2 ТС. И сравнивать их с нужным количеством разрешенных.
Странный вопрос. ))
Кол-во ордеров по м-номеру найти просто: перебираете все и отсеиваете по условиям.
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.01.2015, 11:02   #512 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547
Сообщение от matro3 Посмотреть сообщение
Вы сами написали нужный код. Осталось найти кол-во ордеров с м-номерами от 1 и от 2 ТС. И сравнивать их с нужным количеством разрешенных.
Странный вопрос. ))
Кол-во ордеров по м-номеру найти просто: перебираете все и отсеиваете по условиям.
ниче странного нету в моем вопросе, наоборот максимальная ясность, потому что приведен код, чего не могу сказать об вашем ответе, без кода как то неврубаюсь...к тому же я не хочу сложное решение, а как можно проще и короче в коде...да, я написал начало, и просил добавить что нету в моем коде...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)

Последний раз редактировалось Milord; 23.01.2015 в 11:05.
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.01.2015, 18:05   #513 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160
Код:
int i, k = OrdersTotal(), r = 0;

for(i = 0; i < k; i++)
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
      if(OrderSymbol() == _Symbol)
         if(OrderType() == OP_BUY || OrderType() == OP_SELL)
            if(OrderMagicNumber() == mn)
               r++;
Таким кодом подсчитываем ордера.
Вы же этим уже занимались. Потому мне и не понятно что тут непонятно ))
Сначала для одного mn, потом для другого.
Вот Вам и кол-во ордеров по каждому.
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Milord (24.01.2015)
Старый 31.01.2015, 13:55   #514 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547

По умолчанию Подскажите логику работы???


PHP код:

for (int i=OrdersTotal()-1i>=0i--)
{
if (!
OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if(
OrderMagicNumber()== Magic
Подскажите плиз - почему цикл начинается от OrderTotal()-1, ведь число ордеров открытых это OrderTotal(),и почему i>=0,по моему более верно будет писать i=0, и строка будет выглядеть так
for (int i=OrdersTotal(); i=0; i--)
или вот так
for (int i=OrdersTotal(); i=1; i--)
будет это верным или нет, и почему отсчет числа ордеров идет от 0, а не от 1?
в чем будет разница работы моего варианта и приведенного выше?
а также вот такого варианта работы:
for (int i=0;i<=OrdersTotal()-1;i++)
или вот такого
for (int i=1;i<=OrdersTotal();i++)

а то я чет запутался, либо сам путаюсь, либо у других ошибки в коде, поясните плиз понятнее разницу в кодах и логику работы???

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)

Последний раз редактировалось Milord; 31.01.2015 в 13:57.
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 31.01.2015, 14:26   #515 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547

По умолчанию Почему тут вапще код другой???


Сообщение от eevviill Посмотреть сообщение
Сегодня будем перебирать ордера
PHP код:
 1)for(int i=OrdersTotal()+1i>=0i--)
 {
 
2)OrderSelect(i,SELECT_BY_POS);
 {
 
3)if(OrderMagicNumber()==magic)
 {
 
4)if(OrderType()==OP_BUY...) OrderClose(OrderTicket(),Lot,Bid,slippage,Yellow); 
 }
 }
 } 
тут уже в коде написано
for(int i=OrdersTotal()+1; i>=0; i--)
но почему +1, а в других местах пишите -1

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 31.01.2015, 19:34   #516 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547
Сообщение от _SERG_ Посмотреть сообщение
Если работаете на одном инструменте, то функцию можно немного упростить.

double PointsPerPip()
{
int ppp;
if (MarketInfo( Symbol(), MODE_DIGITS) == 4 ) { ppp = 1;}
else { ppp = 10; }
return (ppp);
}
или еще проще, вот так

PHP код:
double PointsPerPip()
{
 
int ppp=1;
 if (
MarketInfoSymbol(), MODE_DIGITS) == ) { ppp 10;}
 return (
ppp);


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)

Последний раз редактировалось Milord; 31.01.2015 в 19:37.
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 04.02.2015, 21:00   #517 (permalink)
Почётный гражданин
 
Аватар для matro3
 
Регистрация: 18.07.2013
Сообщений: 349
Репутация: 344
matro3 matro3 matro3 matro3
Сказал(а) спасибо: 25
Поблагодарили 340 раз(а) в 143 сообщениях
Поинты: 160

Скрытый текст

Код:
int i, k = OrdersTotal();
   
   if(BreakevenStart > 0)
   {
      double stopLossGridBr;
      if(position.type == OP_BUY)
         if(Bid - position.price > BreakevenStart * _Point && position.sl == 0)
         {
            stopLossGridBr = NormalizeDouble(position.price + BreakevenProfit * _Point, Digits);
            for(i = 0; i < k; i++)
               if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
                  if(OrderSymbol() == _Symbol)
                     if(OrderMagicNumber() == magicNumber)
                        if(OrderType() == OP_BUY)
                        {
                           if(OrderStopLoss() < stopLossGridBr || OrderStopLoss() == 0)
                              ModifyOrder(-1, stopLossGridBr, -1, clrNONE);
                        }
         }
      if(position.type == OP_SELL)
         if(position.price - Ask > BreakevenStart * _Point && position.sl == 0)
         {
            stopLossGridBr = NormalizeDouble(position.price - BreakevenProfit * _Point, Digits);
            for(i = 0; i < k; i++)
               if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
                  if(OrderSymbol() == _Symbol)
                     if(OrderMagicNumber() == magicNumber)
                        if(OrderType() == OP_SELL)
                        {
                           if(OrderStopLoss() > stopLossGridBr || OrderStopLoss() == 0)
                              ModifyOrder(-1, stopLossGridBr, -1, clrNONE);
                        }
         }
   }
   
   if(TrailingStart > 0)
   {
      double stopLossGridTr;
      if(position.type == OP_BUY)
         if(Bid - position.price > TrailingStart * _Point)
            if((position.sl < Bid - (TrailingStop + TrailingStep - 1) * _Point) || position.sl == 0)
            {
               stopLossGridTr = NormalizeDouble(Bid - TrailingStop * _Point, Digits);
               for(i = 0; i < k; i++)
               if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
                  if(OrderSymbol() == _Symbol)
                     if(OrderMagicNumber() == magicNumber)
                        if(OrderType() == OP_BUY)
                        {
                           if(OrderStopLoss() < stopLossGridTr || OrderStopLoss() == 0)
                              ModifyOrder(-1, stopLossGridTr, -1, clrNONE);
                        }
            }
      if(position.type == OP_SELL)
         if(position.price - Ask > TrailingStart * _Point)
            if((position.sl > Ask + (TrailingStop + TrailingStep - 1) * _Point) || position.sl == 0)
            {
               stopLossGridTr = NormalizeDouble(Ask + TrailingStop * _Point, Digits);
               for(i = 0; i < k; i++)
               if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
                  if(OrderSymbol() == _Symbol)
                     if(OrderMagicNumber() == magicNumber)
                        if(OrderType() == OP_SELL)
                        {
                           if(OrderStopLoss() > stopLossGridTr || OrderStopLoss() == 0)
                              ModifyOrder(-1, stopLossGridTr, -1, clrNONE);
                        }
            }
[свернуть]

Вместо модификации запомни в переменную.
matro3 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 18.02.2015, 10:56   #518 (permalink)
Новичок форума
 
Аватар для Fractlr
 
Регистрация: 15.12.2014
Сообщений: 23
Репутация: 17
Fractlr
Сказал(а) спасибо: 363
Поблагодарили 16 раз(а) в 4 сообщениях
Поинты: 6
Buenos dias:
Podria por favor explicarme como programar un "Reverse Trade"; es decir si BUY-->SELL y al reves?
Gracias
Fractlr вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 18.03.2015, 14:19   #519 (permalink)
 
Аватар для bot14
 
Регистрация: 05.10.2010
Адрес: Россия
Сообщений: 1,310
Репутация: 9629
bot14 bot14 bot14 bot14 bot14 bot14 bot14 bot14 bot14 bot14 bot14
Сказал(а) спасибо: 3,815
Поблагодарили 9,629 раз(а) в 1,272 сообщениях
Поинты: 1214
Господа знатоки, подскажите наверняка для вас простую вещь )))
Каким образом можно заменить символ, отображаемый индюком из Windings на похожий из Windings3, к примеру ? Есть общее решение ?
bot14 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 16.04.2015, 03:55   #520 (permalink)
Активный участник
 
Аватар для ron2009
 
Регистрация: 03.04.2014
Адрес: Владивосток
Сообщений: 104
Репутация: 77
ron2009
Сказал(а) спасибо: 210
Поблагодарили 76 раз(а) в 32 сообщениях
Поинты: 34

По умолчанию Какой пароль на видеокурс,


Сообщение от skalper2011 Посмотреть сообщение
Для лучшего понимания скачайте видеокурс по программированию
_http://file.karelia.ru/zrz98j/
Неподскажите какой пароль на архив этого видеокурса. Я скачал а разархировать не могу. Пароль просит.
ron2009 на форуме   Ответить с цитированиемОтветить с цитированием  
Ответ


Опции темы

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

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



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


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