Ваши пожелания, предложения по развитию ресурса Trading-Go | Страница 6 | Trading Go - Форекс советники, индикаторы и скрипты.
  • На текущий момент форум работает не стабильно, есть перебои, мы делаем все что бы как можно быстро исправить проблемы! Иногда помогает Ctrl+F5 Благодарим Вас за Ваше Внимание и Понимание!!!
  • Уважаемый гость! Чтобы просмотреть скрытую часть информации Вам нужно зарегистрироваться.

    Быстрая регистрация!

Ваши пожелания, предложения по развитию ресурса Trading-Go

Admin

Команда форума
Администратор
Регистрация
3 Янв 2013
Сообщения
1.940
Благодарностей
428
Автор темы #62
Регистрация
16 Янв 2018
Сообщения
5
Благодарностей
2
#63
Код:
#property version   "1.00"
#property strict

input int    MagicNumber   = 3;
input int    Second        = 14400;// 3600-1h;14400 4h;
input double Lots          = 0.01;
input int    Orders        = 4;
input int    StopLoss      = 25;
input int    TakeProfit    = 50;
input int    Otstyp        = 20;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Calculate open positions                                         |
//+------------------------------------------------------------------+
int CalculateCurrentOrders(string symbol)
  {
   int buys=0,sells=0;
//---
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()== MagicNumber)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
//--- return orders volume
   if(buys>0) return(buys);
   else       return(-sells);
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void CheckForOpen()
{
  int  total, res;
  double ma;
   total = OrdersTotal();
    if(total > Orders)return;//СРАВНИВАЕМ КОЛИЧЕСТВО ОРДЕРОВ
 //  if(Volume[0]>1) return;
//----   
 d[0]le Spred = MarketInfo(Symbol(),MODE_SPREAD);
 
//-------------РАСЧЁТ МА---------------------------------
  ma = (Close[20]+Close[19]+Close[18]+Close[17]+[20]e[16]+[19]e[15]+[18]e[14]+[17]e[13]+[16]e[12]+[15]e[11]+[14]e[10]+[13]e[9]+C[12][8]+Cl[11]7]+Clo[10]]+Clos[9]]+Clos[8]]+Clos[7]]+Clos[6]]+Clos[5]])/20;[4] //---[3]ell --[2]------[1]--------------------------------открывается по Bid
 /*  if(Bid <= ma) */if(Open[2] < Close[2] && High[2]>=ma && Open[1] > Close[2])//Эти у[2]вия не р[2]тают как хоч[1]я,т.е. н[1]аботает это High[2]>=ma,все остальные срабатывают
     {
     if((OrderType()==OP_SELL)>1)return;
      res=O[2]rSend(Symbol(),OP_SELL,Lots,Bid,3,Ask +( StopLoss * Point),Ask-(TakeProfit*Point),"",MagicNumber,0,Red);
      
      if((OrderType()==OP_SELLSTOP)>1)return;
       res = OrderSend(Symbol(),OP_BUYSTOP,Lots, Bid-(Otstyp*Point),5, Ask+(StopLoss*Point),Ask-(TakeProfit*Point),"",MagicNumber,TimeCurrent()+Second,Blue);
      return;
     }
 //---- buy ----------------------------------------------------------открывается по Ask
  /* if( Ask >= ma)*/if(Open[2] > Close[2] && Low[2] <= ma && Open[1] < Close[1]) //Эти тоже
     {
     if((OrderType()==OP_BUY)> 1)return;   
      res=Ord[2]end(Symb[2]),OP_BU[2]ots,Ask,3,Bid [1]StopLoss[1]Point),Bid+(TakeProfit*Point),"",MagicNumber,0,Blue);
      
      if((OrderType()==OP_BUYSTOP)> 1)return;
         res = OrderSend(Symbol(),OP_SELLSTOP,Lots,Ask +(Otstyp*Point), 5,Bid-(StopLoss*Point),Bid+(TakeProfit*Point),"",MagicNumber,TimeCurrent()+Second,Red);
      return;
     }   
//------------------------------------------------------------------------------------------------
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- check for history and trading
   if(Bars<100 || IsTradeAllowed()==false)
      return;
//--- calculate open orders by current symbol
   if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
//   else                                    CheckForClose();
//---
  }
//+------------------------------------------------------------------+[/CODE]

Теперь и стоповые ордера не открываются.
 

Admin

Команда форума
Администратор
Регистрация
3 Янв 2013
Сообщения
1.940
Благодарностей
428
Автор темы #64
ma = (Close[20]+Close[19]+Close[18]+Close[17]+Close[16]+Close[15]+Close[14]+Close[13]+Close[12]+Close[11]+Close[10]+Close[9]+Close[8]+Close[7]+Close[6]+Close[5]+Close[4]+Close[3]+Close[2]+Close[1])/20;

Мувинг по закрытию считается по другому iMA(NULL,0,20,0,MODE_SMMA,PRICE_CLOSE,1); //

И еще Вы создали очень редкое условие. Оно редко встречается на графике.

if((OrderType()==OP_SELL)>1)return; так не правильно OrderType() вызывается только в пределах ордер селект, за пределами возвращает бред..
 
Регистрация
16 Янв 2018
Сообщения
5
Благодарностей
2
#66
Здравствуйте Владимир.Подправил код, в местах где Вы указали ошибки. На счёт iMA ,мне показалось неоднократно ,что работает не совсем корректно поэтому вписал внутрь.Условие на открытие подправил,входов стало больше, но всё-же не срабатывает как написано.
[CODE] ma = (/*Close[20]+Close[19]+Close[18]+Close[17]+Close[16]+Close[15]+Close[14]+Close[13]+Close[12]+Close[11]+*/Close[10]+Close[9]+Close[8]+Close[7]+Close[6]+Close[5]+Close[4]+Close[3]+Close[2]+Close[1])/
Код:
 //---- sell -[20]------[19]------[18]------[17]------[16]-откры[15]ся по [14] /*  i[13]d <= m[12]/if(Op[11]] > Clos[10] &&Ope[9]]>ma &[8]lose[2[7]a && O[6][1] > [5]se[1])[4]   {
 [3]/  if([2]derTyp[1]==OP_SELL)>1)return;
      res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask +( StopLoss * Point),Ask-(TakeProfit*Point),"",MagicNu[3]r,0,Red)[3]     
 [2]/   if((Orde[2]pe()==OP_SE[1]TOP)>1)r[1]rn;
       res = OrderSend(Symbol(),OP_BUYSTOP,Lots, Bid-(Otstyp*Point),5, Ask+(StopLoss*Point),Ask-(TakeProfit*Point),"",MagicNumber,TimeCurrent()+Second,Blue);

      return;
     }
 //---- buy ----------------------------------------------------------открывается по Ask
  /* if( Ask >= ma)*/if(Open[3] < Close[3] &&Open[2]<ma && Close[2]> ma && Open[1] < Close[1])
     {
 //    if((OrderType()==OP_BUY)> 1)return;   
      res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid -( StopLoss * Point),Bid+(TakeProfit*Point),"",MagicNumber,0,Blu[3]

      [3]/     i[2]OrderType()=[2]_BUYSTOP)> 1[1]turn;
  [1]    res = OrderSend(Symbol(),OP_SELLSTOP,Lots,Ask +(Otstyp*Point), 5,Bid-(StopLoss*Point),Bid+(TakeProfit*Point),"",MagicNumber,TimeCurrent()+Second,Red);
      return;
     } [/CODE]
Попробую ещё с Линиями Боллинджера может вход будет как хотелось-бы.Вы можете подсказать где ошибаюсь.Спасибо.

[ATTACH=full]2600[/ATTACH]
[ATTACH=[/ATTACH]
 

W0wAN

Участник
Регистрация
11 Дек 2013
Сообщения
101
Благодарностей
41
#67

Admin

Команда форума
Администратор
Регистрация
3 Янв 2013
Сообщения
1.940
Благодарностей
428
Автор темы #68

W0wAN

Участник
Регистрация
11 Дек 2013
Сообщения
101
Благодарностей
41
#69
Чего бы хотелось или чего не хватает форуму , пишите тут.[/QUOTE]
дядя Вова, возможно ли в трейдинг па
лать тралл и безубыток изменяемым прямо на ордере?, удобно же когда надо поджимать сделку
 

Вложения

Admin

Команда форума
Администратор
Регистрация
3 Янв 2013
Сообщения
1.940
Благодарностей
428
Автор темы #70
дядя Вова, возможно ли в трейдинг панели сделать тралл и безубыток изменяемым прямо на ордере?, удобно же когда надо поджимать сделку[/QUOTE]
Теоритически сейчас должно все работать, Вы выделяете линию двойным кликом ?
 

W0wAN

Участник
Регистрация
11 Дек 2013
Сообщения
101
Благодарностей
41
#71

Вложения

Admin

Команда форума
Администратор
Регистрация
3 Янв 2013
Сообщения
1.940
Благодарностей
428
Автор темы #72
Ага, так было задумано, когда линия выделена ее можно перемещать и стоп лос будет двигаться в след за линией