Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Советник по индикатору Yzyz
[*]

Прошу ВАС сделать советник по индикатору Yzyz Yzyz.rar (9 Kb)

Советник должен выставить ордер при появлении зелёной стрелки на покупку (красной на продажу). Например: Появилась зелёная стрелка советник должен сразу же выставить ордер на покупку и закрыть его только при при появлении красной стрелки и одновременно открыть ордер на продажу и закрыть его при появлении зелёной стрелки, и так далее.
• В советнике должен быть выбор фиксированного лота для торговли
  • 0
  • Просмотров: 2815
  • 3 декабря 2015, 09:30
  • Thunder61
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
dt_FFT
30 ноября 2015
03 декабря 2015

Брокер для ваших роботов, 15 лет на рынке

Комментарии (6)

+
0
Выставлять надо стрелочки по факту на следующий бар, а не на текущий, как он рисует.
Т.е. можете прогнать на истории и все его стрелки на сигнал покупки/продажи сдвинуть на 1 бар вперед и увидите, как индюк ошибается. Смысл писать очередной сливатор?
avatar

  17  vis Сообщений: 200 - ♫♪♫♪

  • 3 декабря 2015, 10:02
+
0
Я по нему в ручную работаю и нормалёк, я прошу вас написать как есть?
avatar

  14  Thunder61 Автор Сообщений: 166 - Thunder61

  • 3 декабря 2015, 10:13
+
0
хорошо, попробую :) 
avatar

  17  vis Сообщений: 200 - ♫♪♫♪

  • 3 декабря 2015, 10:59
+
0
Готово: www.opentraders.ru/downloads/951/




//+------------------------------------------------------------------+
//|                                                          XYZ.mq4 |
//|                                              Copyright 2015, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, AM2"
#property link      "http://www.forexsystems.biz"
#property description "Simple expert advisor"

//--- Inputs
extern double Lots      = 0.1;      // лот
extern int StopLoss     = 500;      // лось
extern int TakeProfit   = 500;      // язь
extern int Slip         = 30;       // реквот
extern int Magic        = 123;      // магик
extern string IndicatorProperties="--------------------";
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   int    r=0;
   double sl=0,tp=0;
//--- get Ind
   double FGreen=iCustom(Symbol(),0,"Yzyz",0,1);
   double FRed=iCustom(Symbol(),0,"Yzyz",1,1);
//--- sell conditions
   if(FGreen>FRed)
     {
      if(StopLoss>0) sl=NormalizeDouble(Bid+StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(Bid-TakeProfit*Point,Digits);
      r=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,sl,tp,"",Magic,0,Red);
      return;
     }
//--- buy conditions
   if(FRed>FGreen)
     {
      if(StopLoss>0) sl=NormalizeDouble(Ask-StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(Ask+TakeProfit*Point,Digits);
      r=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,sl,tp,"",Magic,0,Blue);
      return;
     }
//---
  }
//+------------------------------------------------------------------+
//| Check for close order conditions                                 |
//+------------------------------------------------------------------+
void ClosePos()
  {
//--- get Ind
   double FGreen=iCustom(Symbol(),0,"Yzyz",0,1);
   double FRed=iCustom(Symbol(),0,"Yzyz",1,1);

   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderMagicNumber()==Magic || OrderSymbol()==Symbol())
           {
            if(OrderType()==OP_BUY)
              {
               if(FGreen>FRed)
                 {
                  bool c=OrderClose(OrderTicket(),OrderLots(),Bid,Slip,White);
                 }
               break;
              }
            if(OrderType()==OP_SELL)
              {
               if(FRed>FGreen)
                 {
                  c=OrderClose(OrderTicket(),OrderLots(),Ask,Slip,White);
                 }
               break;
              }
           }
        }

     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   double FGreen=iCustom(Symbol(),0,"Yzyz",0,1);
   double FRed=iCustom(Symbol(),0,"Yzyz",1,1);

   if(CountTrades()<1) OpenPos();
   if(CountTrades()>0) ClosePos();

   Comment("\n FGreen: ",FGreen,
           "\n FRed: ",FRed);
//---
  }
//+------------------------------------------------------------------+




Редактирован: 3 декабря 2015, 11:29
avatar

  35  AM2 Сообщений: 16285 - Андрей

  • 3 декабря 2015, 11:23
+
0
Спасибо вам большое. это то что мне нужно.
avatar

  14  Thunder61 Автор Сообщений: 166 - Thunder61

  • 3 декабря 2015, 12:00
+
0
Прошу доработать советник: например если выставлен ордер на покупку и он закрылся по тейк профиту, чтоб больше он не открывал ордера на покупку, а когда цвет стрелки поменяется на крассный он должен открыть ордер на продажу и при закрытии по тейк профиту больше на продажу не открывал.За ранее благодарен.
avatar

  14  Thunder61 Автор Сообщений: 166 - Thunder61

  • 19 марта 2016, 15:38

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий