Напишу советник бесплатно - страница 63

 
Здравствуйте. Можете по этой стратегии написать советник https://www.youtube.com/watch?v=V58JIhy2rw4. Или нету у вас какого-нибудь советника который топчется на месте или немного в плюс идет.... для заработка на ребейте на сайте fxcash.ru. Спасибо .Если что пишите вк https://vk.com/id16112208  или в личку.
Метод торговли на FOREX (Безубыточный)
Метод торговли на FOREX (Безубыточный)
  • 2016.01.11
  • www.youtube.com
САЙТ – http://forexbid.jimdo.com/strategy/metod/ ФОРУМ – http://forex.forumex.ru/viewtopic.php?f=5&t=45&p=73#p73 Возврат спреда http://www.getforexrebate.com...
 
Sergey Zaitsev:
Здравствуйте. Можете по этой стратегии написать советник https://www.youtube.com/watch?v=V58JIhy2rw4. Или нету у вас какого-нибудь советника который топчется на месте или немного в плюс идет.... для заработка на ребейте на сайте fxcash.ru. Спасибо .Если что пишите вк https://vk.com/id16112208  или в личку.
Да я писал такого типа сов.
****
Для ребейта норм конечно. Лотов много набирает без сильной просадки.
Но во время долгого флета может слить ... 
 
я так понимаю не то что долгого флэта, а именно когда флэт расширяется? Можно его получить?
 
а у вас на странице ребейтсервис globegain.com нормальный? почему так много дает форекс4ю - 18,6$ за лот....инста - 14,3$... это реально?
 

Доброго времени суток!

Вот решил немного роботизировать свою торговлю. За основу взял трендовый советник из терминала МТ4 «Moving Average». Советников такого типа вагон и маленькая тележка, но не один из тех которые мне встречались не отвечает моим требованиям в полном объёме. В общем  решил, остановится на советнике из терминала МТ4, немного его доработал. Добавил ему еще одну машку, изменил условия входа- выхода, добавил стоп, профит, ограничил время открытия сделок. Хотелось бы еще добавить.

1)Возможность открывать сразу два ордера с регулируемыми стоп-лосом , переходом в без убыток,  тейк-профитом.

2)Регулируемое количество  заходов в  день.

3)Регулируемая возможность входа на следующий день при открытой сделке.

4)Сделать выход по стоп-лосу, без убытку или тейк-профиту. 

5)Удаление расчета максимума риска. (особой надобности я в нем не вижу, к тому же я так и не понял как он рассчитывает риск, такое впечатление что от фонаря, лоты открывались то 0,10 то 1,00)

6)Не корректно работает на валютной паре USDJPY

Возможно  что то стоит поправить, почистить для улучшения работы советника. Помогите или подскажите.

Работает одновременно более десяти графиков, в каждом окне графика валютной пары свой советник. Код прилагаю. Всем кто откликнется СПАСИБО.

//+------------------------------------------------------------------+
//|                                                      MA_MA_1.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//#property strict
#define MAGICMA  20131112
//--- Inputs
input double SL             =500; //стоп лос
input double TakeProfit     =1000; //тейк профит
input double Lots           =0.01; //розмер лота
//input double MaximumRisk    =0.1; //отключил не понятна логика расчета
input double DecreaseFactor = 3; //фактор снижение(наверно проскальзывание)
input int    MovingPeriod1  =36; //медленная средняя
input int    MovingPeriod2  =12; //быстрая средняя
input int    MovingShift1   =10; //сдвиг медленной средней
input int    MovingShift2   = 0; //сдвиг быстрой средней
extern int   TimeStart      = 8; //время начала торгов
extern int   TimeStop       =20; //время окончания торгов
//+------------------------------------------------------------------+
//| 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()==MAGICMA)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
//--- return orders volume //объём ордеров на возврат
   if(buys>0) return(buys);
   else       return(-sells);
  }
//+------------------------------------------------------------------+
//| Calculate optimal lot size       //расчет оптимального размера лота                                |
//+------------------------------------------------------------------+
double LotsOptimized()
  {
   double lot=Lots;
   int    orders=HistoryTotal();     // history orders total (история заказов всего)
   int    losses=0;                  // number of losses orders without a break (количество потерь заказов без перерыва)
//--- select lot size //ОТКЛЮЧИЛ выбор размер лота. 
//lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);//(логика выбора мне не понятна)
//--- calcuulate number of losses orders without a break (Расчет количества заказов на потери без перерыва)
//   if(DecreaseFactor>0)
//    {
//      for(int i=orders-1;i>=0;i--)
//        {
//         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
//           {
//            Print("Error in history!");
//            break;
//           }
//         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
//            continue;
         //---
//         if(OrderProfit()>0) break;
//         if(OrderProfit()<0) losses++;
//        }
//      if(losses>1)
//         lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
//     }
//--- return lot size (розмер возвращаемого лота)
   if(lot<0.1) lot=0.1;
   return(lot);
  }
//+------------------------------------------------------------------+
//| Check for open order conditions       //проверка условий для открытия ордера                           |
//+------------------------------------------------------------------+
void CheckForOpen()
  {  
   double ma1; //медленная средняя
   double ma2; //быстрая средняя
   int    res;
//--- go trading only for first tiks of new bar// торговать только на первом тике нового бара
   if(Volume[0]>1) return;
//--- get Moving Average //получение скользящих средних
   ma1=iMA(NULL,0,MovingPeriod1,MovingShift1,MODE_SMA,PRICE_CLOSE,0);//медленная
   ma2=iMA(NULL,0,MovingPeriod2,MovingShift2,MODE_SMA,PRICE_CLOSE,0);//быстрая
//--- sell conditions //условия для продажи
   if(ma1<ma2 && Close[1]<ma1 && TimeHour(TimeCurrent())>TimeStart && TimeHour(TimeCurrent())<TimeStop)
     {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,Bid+SL*Point,Bid-TakeProfit*Point,"",MAGICMA,0,Red);
      return;      
     }
//--- buy conditions //условия для покупки
   if(ma1>ma2 && Close[1]>ma1 && TimeHour(TimeCurrent())>TimeStart && TimeHour(TimeCurrent())<TimeStop)
     {
      res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask-SL*Point,Ask+TakeProfit*Point,"",MAGICMA,0,Blue);
      return;      
     }
//---
  }
//+------------------------------------------------------------------+
//| Check for close order conditions      //проверка условий для закрытия ордера                           |
//+------------------------------------------------------------------+
void CheckForClose()
  {
   double ma1;//медленная
   double ma2;//быстрая
//--- go trading only for first tiks of new bar// торговать толькона тике нового бара
   if(Volume[0]>1) return;
//--- get Moving Average //получение средних
   ma1=iMA(NULL,0,MovingPeriod1,MovingShift1,MODE_SMA,PRICE_CLOSE,0);//медленная
   ma2=iMA(NULL,0,MovingPeriod2,MovingShift2,MODE_SMA,PRICE_CLOSE,0);//быстрая
//---
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
      //--- check order type //проверка типа ордера
      if(OrderType()==OP_BUY)
        {
         if(Close[1]<ma2 && Open[2]>Close[1] && ma1<ma2) //(Open[1]>ma && Close[1]<ma)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
      if(OrderType()==OP_SELL)
        {
         if(Close[1]>ma2 &&  Open[2]<Close[1] && ma1>ma2)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
     }
//---
  }
//+------------------------------------------------------------------+
//| OnTick 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();
//---
  }
//+------------------------------------------------------------------+
 
Sergey Zaitsev:
Здравствуйте. Можете по этой стратегии написать советник https://www.youtube.com/watch?v=V58JIhy2rw4. Или нету у вас какого-нибудь советника который топчется на месте или немного в плюс идет.... для заработка на ребейте на сайте fxcash.ru. Спасибо .Если что пишите вк https://vk.com/id16112208  или в личку.

Посмотрите ветку Лавина, там есть советники по этой ТС.
 

Здравствуйте!

Можно помочь меня? Советник отрьйвает сделки на каждьй тик. Как нада написать код для отрьйтие примерно 5 сделок или только сколько я хочу?

extern int tp=50;

extern int sl=200;

extern double lot=0.01;

oid OnTick()

OrderSend("USDJPY",OP_SELL,lot,Bid,0,Ask+sl*Point,Ask-tp*Point,"Batsasho",1,0,Red);

}

Что нада изменит, добавит в код?

Спасибо!

 

Если я не затрудняю можно ответить ***

Спасибо!

 

Добрый день, уважаемые. нужен простенький советник, попытался переделать готовые шаблоны, в итоге выдает пару ошибок. а надо всего лишь чтоб сова:

1) открывала позиции на бай, если закрывшаяся свеча бычья, и позиция на селл, если закрывшаяся свеча медвежья.

2) и так после КАЖДОЙ свечи. 

у меня второе условие не получается. 

если кто поможет, буду очень благодарен

 
alstefanov:

Можно помочь меня? Советник отрьйвает сделки на каждьй тик. Как нада написать код для отрьйтие примерно 5 сделок или только сколько я хочу?

Что нада изменит, добавит в код?

Добавить надо цикл перебора ордеров и ограничить кол-во перед исполнением OrderSend
Причина обращения: