[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 1092

 

No requotes.

 
Ais:

No requotes.


It only on the fast server

 

kolyango:

Вообще-то, уважаемый "товарищ", я так понимаю, учиться вы не собираетесь,можно же было посмотреть, и на сайте и в хелпе редактора как правильно пользоваться переменными.

extern int     magic                = 1234567890,
               stoploss             = 350,
               takeprofit           = 1000;
extern double  LOT                  = 0.1;
//--------------------------------------------------------------------------------------------
int start()
 {
 int sells=0;
 for (int i=0; i<OrdersTotal(); i++)
   {
     if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
     {
       if (OrderSymbol() !=Symbol() || OrderMagicNumber() !=magic || OrderType() !=OP_SELL ) continue;
       OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3,White);
       sells++;
      }
   }
 if (sells==0) OrderSend(Symbol(),OP_BUY, LOT,NormalizeDouble(Ask,Digits),3,StopLoss,TakeProfit,"",magic,0,Green);
 return(0);
 }
 

Люди, Человеки, учитесь пользоваться хелпом редактора MT4, там всё есть и подробно.

Вот текст из хелпа.

bool OrderClose( int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
 
//Закрытие позиции. Возвращает TRUE при успешном завершении функции. Возвращает FALSE
//при неудачном завершении функции. Чтобы получить информацию
//об ошибке,необходимо вызвать функцию GetLastError(). 
// Параметры:
// ticket   -  Уникальный порядковый номер ордера. 
// lots     -  Количество лотов для закрытия. 
// price    -  Цена закрытия. 
// slippage -  Значение максимального проскальзывания в пунктах. 
// Color    -  Цвет стрелки закрытия на графике.Если параметр отсутствует или его значение равно
//             CLR_NONE то стрелка на графике не отображается. 

// Пример:
  if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75)
    {
     OrderClose(order_id,1,Ask,3,Red);
     return(0);
    }




 

 

С наступившим 2011 годом!!!!


for( i = 0; i < total; i++) {

OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&OrderType() == OP_SELL)
{ if (Nyzhnyayaghranytsa>Close[i])
{ OrderCloseBy (ticket,ticket,Green);Alert("OrderCloseBySell", GetLastError()); }}

OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol()&&OrderMagicNumber() == 16384 &&OrderType() == OP_BUY)
{ if (Verhnyayaghranytsa<Close[i])
{ OrderCloseBy (ticket,ticket,Green);Alert("OrderCloseByBuy", GetLastError());}} }

Я здесь внутри границ боллинджера,при касании пытаюсь перевернуть ордер на обратный.Ничего не происходит,совсем ничего,и даже никакой ошибки и даже ноля в журналах не пишет!

Мож,какой запятой где-нить нема?

Пол часа уж это место рассматриваю!

 

Спрашивайте,отвечу . Сам спрошу.

А каким еще индюком лучше всего сопровождать боллинджера?

 
Dimka-novitsek:

С наступившим 2011 годом!!!!


for( i = 0; i < total; i++) {

OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&OrderType() == OP_SELL)
{ if (Nyzhnyayaghranytsa>Close[i])
{ OrderCloseBy (ticket,ticket,Green);Alert("OrderCloseBySell", GetLastError()); }}

OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol()&&OrderMagicNumber() == 16384 &&OrderType() == OP_BUY)
{ if (Verhnyayaghranytsa<Close[i])
{ OrderCloseBy (ticket,ticket,Green);Alert("OrderCloseByBuy", GetLastError());}} }

Я здесь внутри границ боллинджера,при касании пытаюсь перевернуть ордер на обратный.Ничего не происходит,совсем ничего,и даже никакой ошибки и даже ноля в журналах не пишет!

Мож,какой запятой где-нить нема?

Пол часа уж это место рассматриваю!

Ну во первых, ты ищешь по закрытому бару "if (Verhnyayaghranytsa<Close[i]", где i у тебя = 0, а это ещё не закрывшийся бар, надо либо менять на Open, либо Close[i+1].

Во вторых, OrderCloseBy(int ticket, int opposite, color Color=CLR_NONE), где ticket и opposite это разные порядковые номера разных ордеров.

В третьих, OrderCloseBy не переворачивает с одного ордера на другой, он перекидывает слив депозита, а не закрывает его и в обратном напровлении открывает новый.
Нужно самому закрыть старый и открыть новый.
 

 
Dimka-novitsek:

С наступившим 2011 годом!!!!

----------------------------------------------

Пол часа уж это место рассматриваю!

Сходите лучше пивка себе возьмите с рыбкой, либо шампусика с фруктовым ассорти, а там глядишь и "просветление" настанет... :-)))

С Новым годом!

 

Вопрос классический. ЧО ДЕЛАТЬ?)))

 
Отдыхать,отмечать :) У трейдеров выходные!
Причина обращения: