0
Вот это другое дело. Завтра гляну.
avatar

AM2

  • 27 октября 2015, 20:26
0
EX4 это не архив, а файл скомпилированный, туда ничего не вставишь.
avatar

AM2

  • 27 октября 2015, 20:25
0
Посмотрите вариант:




//+------------------------------------------------------------------+
//|                                                  SuperProfit.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 Count        = 3;
extern int Slip         = 30;
//----
extern int SPPeriod     = 16;
extern int MA1Period    = 50;
extern int MA2Period    = 80;
extern int Magic        = 26102015;

int t=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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()
  {
   int r=0;
   double SPGreen1=iCustom(Symbol(),0,"superprofit",SPPeriod,0,1);
   double SPRed1=iCustom(Symbol(),0,"superprofit",SPPeriod,1,1);
   double SPGreen2=iCustom(Symbol(),0,"superprofit",SPPeriod,0,2);
   double SPRed2=iCustom(Symbol(),0,"superprofit",SPPeriod,1,2);
   double ma1=iMA(NULL,0,MA1Period,0,MODE_EMA,PRICE_CLOSE,1);
   double ma2=iMA(NULL,0,MA2Period,0,MODE_EMA,PRICE_CLOSE,1);

   if(t!=Time[0] && CountTrades()<=Count)
     {
      //--- sell conditions
      if((SPRed1<1000 && SPGreen2<1000) || (Close[1]<ma1 && Close[2]>ma1 && SPRed1<1000) || (Close[1]<ma2 && Close[2]>ma2 && SPRed1<1000))
        {
         r=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,Bid+StopLoss*Point,Bid-TakeProfit*Point,"",Magic,0,Red);
         t=Time[0];
         return;
        }

      //--- buy conditions
      if((SPGreen1<1000 && SPRed2<1000) || (Close[1]>ma1 && Close[2]<ma1 && SPGreen1<1000) || (Close[1]>ma2 && Close[2]<ma2 && SPGreen1<1000))
        {
         r=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",Magic,0,Blue);
         t=Time[0];
         return;
        }
     }

   Comment("\n SPGreen1: ",SPGreen1,
           "\n SPRed1: ",SPRed1,
           "\n SPGreen2: ",SPGreen2,
           "\n SPRed2: ",SPRed2,
           "\n Time[0]: ",Time[0],
           "\n t: ",t);
//---
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 27 октября 2015, 17:53
+1
Смотрите сколько условий! Тут уже просто запутываешься в таком многообразии *strah* 

if((SPRed1<1000 && SPGreen2<1000) || (Close[1]<ma1 && Close[2]>ma1 && (SPRed1<1000 && SPGreen2<1000)) || (Close[1]<ma2 && Close[2]>ma2 && (SPRed1<1000 && SPGreen2<1000)))
avatar

AM2

  • 27 октября 2015, 16:39
0
Сигналит один раз, но перерисовывается когда цена пошла в другую сторону.
avatar

AM2

  • 27 октября 2015, 16:24
0
Поправил. Сейчас поставлю на тест.



www.opentraders.ru/downloads/909/
avatar

AM2

  • 27 октября 2015, 16:16
0
Открыл 3 сделки по условию.

avatar

AM2

  • 27 октября 2015, 15:20
0
У меня тоже пока стоит на отладке. В процессе вношу изменения. Вот последняя версия:


//+------------------------------------------------------------------+
//|                                                  SuperProfit.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 Count        = 3;
extern int Slip         = 30;
//----
extern int SPPeriod     = 16;
extern int MA1Period    = 50;
extern int MA2Period    = 80;
extern int Magic        = 26102015;

int t=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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()
  {
   int r=0;
   double SPGreen1=iCustom(Symbol(),0,"superprofit",SPPeriod,0,1);
   double SPRed1=iCustom(Symbol(),0,"superprofit",SPPeriod,1,1);
   double SPGreen2=iCustom(Symbol(),0,"superprofit",SPPeriod,0,2);
   double SPRed2=iCustom(Symbol(),0,"superprofit",SPPeriod,1,2);
   double ma1=iMA(NULL,0,MA1Period,0,MODE_EMA,PRICE_CLOSE,1);
   double ma2=iMA(NULL,0,MA2Period,0,MODE_EMA,PRICE_CLOSE,1);

   if(t!=Time[0] && CountTrades()<=Count)
     {
      //--- sell conditions
      if((SPRed1<1000 && SPGreen2<1000) || (Close[1]<ma1 && Close[2]>ma1) || (Close[1]<ma2 && Close[2]>ma2))
        {
         r=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,Bid+StopLoss*Point,Bid-TakeProfit*Point,"",Magic,0,Red);
         t=Time[0];
         return;
        }

      //--- buy conditions
      if((SPGreen1<1000 && SPRed2<1000) || (Close[1]>ma1 && Close[2]<ma1) || (Close[1]>ma2 && Close[2]<ma2))
        {
         r=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",Magic,0,Blue);
         t=Time[0];
         return;
        }
     }

   Comment("\n SPGreen1: ",SPGreen1,
           "\n SPRed1: ",SPRed1,
           "\n SPGreen2: ",SPGreen2,
           "\n SPRed2: ",SPRed2,
           "\n Time[0]: ",Time[0],
           "\n t: ",t);
//---
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 27 октября 2015, 14:59
0
Это значит, что когда советник бросили на график еще не было пересечения в реальном времени.
avatar

AM2

  • 27 октября 2015, 12:38
0
У меня стоит условие пересечения свечой МА, т.е. на покупку свеча закрылась выше МА, а предыдущая ниже.
avatar

AM2

  • 27 октября 2015, 12:15
0
Поставлю на демо, посмотрю.
avatar

AM2

  • 27 октября 2015, 12:09
0
Техническое задание

Торговый советник MANDARIN V.1
для торгового терминала МТ4
Пользовательский индикатор AllInverseFisher_v1.01.ex4
(подвал, гистограмма),
прилагается
• Советник торгует в реверс (LONG/SHORT);
• В советнике должен быть реализован StopLoss, TakeProfit;
• Установка фиксированного лота для торговли;
• Функция начала работы советника /час, мин/ пожалуйста с минутами;
• Функция окончания работы советник /час, мин/ пожалуйста с минутами;
• Функция выхода из позиции перед окончанием работы советника;
Трал не предусмотрен;
. Советник должен торговать на нескольких парах одновременно и на одном терминале;
MagicNamber
1. Условия входа и выхода

Вход в длинную позицию осуществляется по следующему условию:
• Вход в позицию осуществляется строго на второй свече при появлении Dntrend Increasing
(гистограммы AllInverseFisher_v1.02.ex4 )

Выход из длинной позиции происходит, если выполнено, хотя бы одно из следующих условий:
• Выход из позиции осуществляется на второй свече при появлении Dntrend Decreasing
(гистограммы AllInverseFisher_v1.02.ex4 )
• Выход по ордеру стоп-лосс или тейк-профит.
• Выход в конце работы робота (при активной соответствующей опции).

Вход в короткую позицию осуществляется по следующему Условию:
• Вход в позицию осуществляется строго на второй свече при появлении Uptrend Increasing
(гистограммы AllInverseFisher_v1.02.ex4 )

Выход из короткой позиции
происходит, если выполнено, хотя бы одно из следующих условий:
1. Выход из позиции осуществляется на второй свече при появлении Uptrend Decreasing
(гистограммы AllInverseFisher_v1.02.ex4 )
2. Выход по ордеру стоп-лосс или тейк-профит.
3. Выход в конце работы робота (при активной соответствующей
опции).

2. Выставление заявок
Все ордера, формируемые роботом, являются рыночными

2. Тейкпрофит и стоплосс
1. 0 — параметр отключен, и Тейкпрофит будет равен 0.
2. 0 — параметр отключен, и Стоплосс будет равен 0.
avatar

AM2

  • 27 октября 2015, 05:42
0
Я только на мкл видел такое грамотное ТЗ *good*  Только ради этого стоит написать. Завтра обязательно посмотрю и индикатор.
avatar

AM2

  • 27 октября 2015, 00:34
0
ДОБАВЛЕНИЕ СОВЕТНИКА В ВИДЕ КОДА
start.opentraders.ru/12302.html
avatar

AM2

  • 26 октября 2015, 19:19
0
Завтра уже возьмусь.
avatar

AM2

  • 26 октября 2015, 19:16
0
Значит нужно это сделать и все пройдет.
avatar

AM2

  • 26 октября 2015, 19:15
0
Скомпилировали советник?
avatar

AM2

  • 26 октября 2015, 19:10