0
Чегой-то и я соблазнился, хоть пирамиды не люблю… Только я через биткойны предпочитаю.
avatar

guest111

  • 10 июня 2014, 13:28
0
Ну, я же сказал, в тело цикла удаление отложников надо, потому что OrderDelete(...) требует параметром глобальный идентификатор ордера, возвращаемый функцией OrderTicket(), а она в свою очередь требует, чтобы ордер был предварительно выбран функцией OrderSelect(...), а при выходе из цикла текущий выбранный ордер может быть любым!
Кроме того, как я и думал, отсутствует проверка на наличие уже имеющихся ордеров.

Вот код переделанной функции start():

//+------------------------------------------------------------------+
//|                                                      ОТЛОЖКИ.mq4 |
//+------------------------------------------------------------------+
extern double StopLoss     = 100; //Стоплосс ордера  
extern double TakeProfit   = 150; //Тейкпрофит ордера
extern double TrailingStop = 100; // трал 
extern int    Delta        = 100; //Расстояние от цены для установки ордера
extern double LOT          = 0.1; //Объём позиции
extern int    Magic        =2;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  if (TrailingStop!=0) Trailing();
  
   //ИНДИКАТОР RSI
   double RSI0=iRSI(NULL,0,5,PRICE_CLOSE,0);
   double RSI1=iRSI(NULL,0,5,PRICE_CLOSE,1);
  
   int b = 0, s = 0, p = 0, res = 0;

   double BuyPrice=Ask+Delta*Point; 
   double SellPrice=Bid-Delta*Point;
   
   for (int i=0; i<OrdersTotal(); i++)
    {
     if (OrderSelect(i, SELECT_BY_POS)==true)
      {
        if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue;
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) p++;
        if (OrderType()==OP_BUYSTOP)
        {
           if(RSI0<50&&RSI1>50)
                OrderDelete(OrderTicket());
            else
                b++;
        }
        if (OrderType()==OP_SELLSTOP)
        {
           if(RSI0>50&&RSI1<50)
                OrderDelete(OrderTicket());
              else
                s++;
        }
      }
    }

   double SL,TP; // < !!!!!!!!! эти переменные не используются, можно удалить

//---- buy stop
   if(RSI0>50&&RSI1<50 && p<1 && b<1) // < !!!!!!!!!
     {
      res=OrderSend(Symbol(),OP_BUYSTOP,LOT,BuyPrice,0,BuyPrice-StopLoss*Point,BuyPrice+TakeProfit*Point,"ОТЛОЖКИ",Magic,OP_SELLSTOP,Blue);
     }        
//---- sell stop  
   if(RSI0<50&&RSI1>50 && p<1 && s<1) // < !!!!!!!!!
     {
      res=OrderSend(Symbol(),OP_SELLSTOP,LOT,SellPrice,0,SellPrice+StopLoss*Point,SellPrice-TakeProfit*Point,"ОТЛОЖКИ",Magic,OP_BUYSTOP,Red);
     }
//----
   return(0);
}


//--------------------------------------------------------------------
//---------ФУНКЦИЯ ТРАЛА----------------------------------------------
//--------------------------------------------------------------------


Функция трейлинга стопов кривая, ДУМАЙ



P.S.
Ну и кривой же тут редактор!
avatar

guest111

  • 10 июня 2014, 13:00
0
ну так дай полный код совы, думаю отсутствует проверка на наличие уже выставленных отложников и открытых ордеров:

p<1 && s<1

p<1 && b<1
avatar

guest111

  • 10 июня 2014, 10:52
0
Ну не скажи, я застал «биток» ещё по 7-15 баксов. Тогда и гокс и бтц-е в ноздрю шли, перевод между обменниками тоже вполне нормально работал через коды (в долларах), арбитражить можно было. Ввод-вывод на бтц-е был вообще лёгким, не то что сейчас.
avatar

guest111

  • 6 июня 2014, 11:43
+1
Странные какие-то сигналы. *think* 

А вообще, нужно перенести секции "//---- buy stop делете" и "//---- sell stop делете" в тело цикла, и не OrderDelete(OP_BUYSTOP) и OrderDelete(OP_SELLSTOP) а OrderDelete(OrderTicket()).

Примерно так:

   for (int i=0; i<OrdersTotal(); i++)
    {
     if (OrderSelect(i, SELECT_BY_POS)==true)
      {  
        if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue;
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) p++;
        if (OrderType()==OP_BUYSTOP)
             if (сигнал_bue) OrderDelete(OrderTicket());
                 else b++;
        if (OrderType()==OP_SELLSTOP)
             if (сигнал_sell) OrderDelete(OrderTicket());
                 else s++;
      }   
    }
avatar

guest111

  • 6 июня 2014, 11:19
0
А я не пытался озвучить насчёт банкротства гокса — как новость *???* 
В общем, я хотел сказать, что сейчас работать с «койнами» — а их кроме «бит» целая куча клонов — по части ввода и вывода в нал сплошной гемор.
avatar

guest111

  • 6 июня 2014, 11:10
0
Дико извиняюсь, конечно же, отложники! *wall* 
Поправил переделал, но писал из головы — надо проверить в работе <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/017.gif' alt=' ;) '>&nbsp; 
avatar

guest111

  • 6 июня 2014, 07:35
0
А между тем, один из самых больших обменников — mtgox — обанкротился. Остался наш btc-e, но все более-менее удобные способы ввода-вывода они убрали. Зато прикрутили к своей площадке терминал MT4.
avatar

guest111

  • 6 июня 2014, 07:02
0
Снизят или нет, но штормить, я думаю, будет изрядно. Поэтому рисковать не буду, войду на откате, когда чётко сформируется тренд. Или вообще покурю вне рынка.
avatar

guest111

  • 5 июня 2014, 12:58
0
например так:

extern int  Magic = 123654;   // уникальный идентификатор "своих" ордеров

/************************************************************************
   Функция закрытия открытых и удаления отложенных ордеров.
   Входные параметры: тип ордеров
   Возвращает: код ошибки (0 - успешное завершение)
************************************************************************/
int close_orders_all(int type)
{
   for (int i = OrdersTotal() - 1; i >= 0; i--)
   {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() == Symbol() &&
          OrderMagicNumber() == Magic && OrderType() == type)
      {
         if ( ((type == OP_BUY || type == OP_SELL) &&
               OrderClose(OrderTicket(), OrderLots(), (type == OP_BUY) ? Bid : Ask, 3, CLR_NONE)) ||
               OrderDelete(OrderTicket(), CLR_NONE) ) continue;
      }
      return (GetLastError());
   }
   return (0);
}


P.S.
вызывается эта функция, примерно так:

if(сигнал_на_закрытие_SELL == true && close_orders_all(OP_SELLSTOP) != 0) error();
if(сигнал_на_закрытие_BUY  == true && close_orders_all(OP_BUYSTOP)   != 0) error();
avatar

guest111

  • 5 июня 2014, 12:33
0
В нашем сегодняшнем быстро менющемся мире давать прогнозы на 10-15 лет я бы не рискнул. Чем больше штаты будут наглеть в попытках сохранить свою гегемонию, тем быстрее они её потеряют. Будет мультивалютная глобальная экономическая система, о которой уже давненько говорят. И доллар в ней займёт далеко не ведущее место. Так или иначе, произойдёт это лет через пять-восемь. Естественно, всё это сугубо моё личное мнение.
avatar

guest111

  • 3 июня 2014, 10:34
0
Немного запоздал, был занят. Ну вот так:

будет время, пороюсь в коде индюка, навскидку не нравится мне метод, которым автор там цвет линий определяет, с привлечением системных библиотек, с определением координат точек на экране. Черезжопно это по-моему. Хотя на само значение индюка вроде влиять не должно.
P.S.
это 646-й билд, разумеется.
avatar

guest111

  • 2 июня 2014, 12:05
0
Они практикуют прогрэссывный мэтод фытотырапыи *pontorez* 

avatar

guest111

  • 30 мая 2014, 09:35
0
Кто-то взял, кто-то как всегда прозевал, а кто-то вообще слил, докупаясь и надеясь на откат «вот-вот сейчас уже будет» <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' :) '>&nbsp;  Соотношение, думаю, эдак 10/30/60 <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/009.gif?newyear' alt=' 8-) '>&nbsp; 

P.S.
Накидав уровней по фибо, можно видеть очень красивые круглые цифры, в том числе и 1,3500. Но вероятность как всегда 1/2.
avatar

guest111

  • 29 мая 2014, 09:28
+1
Не знаю насчёт концепции «долгов», но очень часто цена возвращается к пробитому уровню, а потом оттолкнувшись или не дойдя немного, продолжает основное движение.
avatar

guest111

  • 28 мая 2014, 15:56
0
Я правильно понимаю, что если PUT/CALL > 1 то вероятен поход вниз, а если < 1 то наверх?
avatar

guest111

  • 28 мая 2014, 14:34
0
Посчитать максимальную вероятную просадку при безоткатном движении «против шерсти», допустим пунктов 600-800. Подстраховаться, утроив. И увеличить риски до приемлемого профита. Депо же позволяет. Тем более, как я понимаю, это демо.
avatar

guest111

  • 27 мая 2014, 11:17
0
Так, вот оно и прилетело: 646 билд.
Завтра вечером вроде новостей не густо, попробую.
avatar

guest111

  • 27 мая 2014, 07:22
0
Извиняюсь, я в этих матрёшках полный ноль. Кто там кого партнёрит и в какой позе. *pardon*  Реально удивило, неужели кто-то из ДЦ сливает данные клиентов налево, или просто «попали» случайно? Вообще-то спам по СМС мне приходит, но ооочень редко. Пару СМС за полгода примерно. Симку брал специально для работы на форекс. Всё это неспроста… *think*  Ну да ладно.
avatar

guest111

  • 26 мая 2014, 07:05
0
Вы так говорите, как будто Администрация заранее согласна, или вы и есть та Администрация. :D 
avatar

guest111

  • 25 мая 2014, 19:28