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

Рейтинг 2151



РЕКОМЕНДУЮ



Советник МТ4

Здравствуйте Андрей! Возможно ли написать советник по данному индикаторуFisher.rar (8 Kb) открытие ордера при смене цвета.
1-Ордер должен открываться не сразу после смены цвета а например на 1,2,3, сформировавшимся сигнале то есть если сигнал Sell то ордер откроется на второй красной линии, это должен быть настраиваемый параметр от 1-10.
2-Закрытие потому же принципу что и открытие.И если например стоит закрытие ордера на 4-ом сигнале, то если открыт ордер Sell и поступает два сигнал на на Bay а трети на Sell то ордер не закрывается.
3-Наличие трала.
4-Без убыток +1-10 пунктов прибыли настраиваемый параметр.
5-Работа на всех ТФ.
6-Работа на любых символах от валютных пар до индексов, фьючерсов.
7-Если ордер закрылся по SL или TP то советник ждет сигнал в противоположенную сторону.
  • 0
  • Просмотров: 3983
  • 2 ноября 2015, 16:09
  • mim
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

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

+
0
6-Работа на любых символах от валютных пар до индексов, фьючерсов.


У вас какой брокер на МТ4 поддерживает работу с индексами и фьючерсами?
avatar

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

  • 2 ноября 2015, 17:59
+
0
FOREX CLUB
avatar

  2  mim Автор Сообщений: 36

  • 2 ноября 2015, 18:22
+
0
А где там фьючерсы?

avatar

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

  • 2 ноября 2015, 18:31
+
0
предполагалось нефть, платина и т.д
avatar

  2  mim Автор Сообщений: 36

  • 2 ноября 2015, 18:37
+
0
Сначала сделаю, то что начал а потом уже ваш буду смотреть.
avatar

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

  • 2 ноября 2015, 18:40
+
0
avatar

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

  • 2 ноября 2015, 23:54
+
0
Спасибо работает но не так как хотелось бы смотрим рисунок

1-открыл ордер на Bay и Sell хотя сигнала небыло,
2-цифрами 2,3,4,5, показано как я хочу чтоб он работал 2-открытие Bay 3-закрытие Bay открытие Sell.и т.д 3,4
На втором рисунке он вообще начал открывать и закрывать ордера как хочет

цифра 1 показано где он должен был закрыть ордер
avatar

  2  mim Автор Сообщений: 36

  • 3 ноября 2015, 15:48
+
0
1-открыл ордер на Bay и Sell хотя сигнала небыло


Условие на покупку стоит: столбик зеленый и указанное количество баров назад был красный.

На втором рисунке он вообще начал открывать и закрывать ордера как хочет


Индикатор перерисовывается и понять правильно или нет можно только в режиме реального времени.
avatar

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

  • 3 ноября 2015, 16:48
+
0
хорошо поставлю на демо, а как сделать чтоб он на 2ом столбе открывал ордер
avatar

  2  mim Автор Сообщений: 36

  • 3 ноября 2015, 17:24
+
0
Можете проверить и в тестере в замедленном режиме с остановкой.
Меняйте сдвиг в настройках:

extern int IndPeriod    = 12;       // период Fisher
extern int IndShift     = 3;        // сдвиг Fisher
avatar

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

  • 3 ноября 2015, 17:27
+
0
Не демо тоже не очень( 
А можно сделать так? Если столб выше нулевой линии то бай если ниже то сэл, и чтоб также не на текущий столб смотрел а на предыдущие,
avatar

  2  mim Автор Сообщений: 36

  • 3 ноября 2015, 19:13
+
0
Как вы просили:


//+------------------------------------------------------------------+
//|                                                       Shifer.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 BULevel      = 300;      // уровень бу
extern int BUPoint      = 30;       // пункты бу
extern int TrailingStop = 400;      // трал
extern int Slip         = 30;       // реквот
extern int Magic        = 123;      // магик
extern string IndicatorProperties="--------------------";
extern int IndPeriod    = 12;       // период Fisher
extern int IndShift     = 3;        // сдвиг Fisher
//+------------------------------------------------------------------+
//| 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,"Fisher",IndPeriod,0,1);
   double FRed=iCustom(Symbol(),0,"Fisher",IndPeriod,1,1);
   double ShiftFGreen=iCustom(Symbol(),0,"Fisher",IndPeriod,0,IndShift);
   double ShiftFRed=iCustom(Symbol(),0,"Fisher",IndPeriod,1,IndShift);

//--- sell conditions
   if(ShiftFGreen>0 && (LastDealType()==1 || LastDealType()==0))
     {
      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(ShiftFGreen<0 && (LastDealType()==2 || LastDealType()==0))
     {
      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;
     }
//---
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Trailing()
  {
   bool mod;
   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)
              {
               if(TrailingStop>0)
                 {
                  if(Bid-OrderOpenPrice()>TrailingStop*Point)
                    {
                     if(OrderStopLoss()<Bid-TrailingStop*Point)
                       {
                        mod=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                        return;
                       }
                    }
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(TrailingStop>0)
                 {
                  if((OrderOpenPrice()-Ask)>TrailingStop*Point)
                    {
                     if((OrderStopLoss()>(Ask+TrailingStop*Point)) || (OrderStopLoss()==0))
                       {
                        mod=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                        return;
                       }
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void BU()
  {
   bool m;
   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)
              {
               if(OrderOpenPrice()<=(Bid-(BULevel+BUPoint)*Point) && OrderOpenPrice()>OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BUPoint*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(OrderOpenPrice()>=(Ask+(BULevel+BUPoint)*Point) && OrderOpenPrice()<OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-BUPoint*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| Check for close order conditions                                 |
//+------------------------------------------------------------------+
void ClosePos()
  {
//--- get Ind
   double FGreen=iCustom(Symbol(),0,"Fisher",IndPeriod,0,1);
   double FRed=iCustom(Symbol(),0,"Fisher",IndPeriod,1,1);
   double ShiftFGreen=iCustom(Symbol(),0,"Fisher",IndPeriod,0,IndShift);
   double ShiftFRed=iCustom(Symbol(),0,"Fisher",IndPeriod,1,IndShift);

   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(ShiftFGreen>0)
                 {
                  bool c=OrderClose(OrderTicket(),OrderLots(),Bid,Slip,White);
                  return;
                 }
              }
            if(OrderType()==OP_SELL)
              {
               if(ShiftFGreen<0)
                 {
                  c=OrderClose(OrderTicket(),OrderLots(),Ask,Slip,White);
                  return;
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int LastDealType()
  {
   int type=0;
   if(OrdersHistoryTotal()==0)
     {
      type=0;
     }
   if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
     {
      if(OrderType()==OP_BUY)
        {
         type=1;//buy  
        }
      if(OrderType()==OP_SELL)
        {
         type=2;//sell  
        }
     }
   return(type);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   double FGreen=iCustom(Symbol(),0,"Fisher",IndPeriod,0,1);
   double FRed=iCustom(Symbol(),0,"Fisher",IndPeriod,1,1);

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

   if(BULevel!=0) BU();
   if(TrailingStop!=0) Trailing();

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

avatar

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

  • 4 ноября 2015, 03:11
+
0
работает только ордера не правильно открывает где должен открыть бай он открывает сэл, где сэл там бай
avatar

  2  mim Автор Сообщений: 36

  • 4 ноября 2015, 05:24
+
0
А можно сделать так? Если столб выше нулевой линии то бай если ниже то сэл, и чтоб также не на текущий столб смотрел а на предыдущие,


Реализовано как раз так:

   double ShiftFGreen=iCustom(Symbol(),0,"Fisher",IndPeriod,0,IndShift);
   double ShiftFRed=iCustom(Symbol(),0,"Fisher",IndPeriod,1,IndShift);

//--- sell conditions
   if(ShiftFGreen>0 && (LastDealType()==1 || LastDealType()==0))



Прикладываете пожалуйста реалтайм скрин и подробно описывайте то что нужно и что именно не работает. Иначе это будет разговор ни очем.
Редактирован: 4 ноября 2015, 15:39
avatar

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

  • 4 ноября 2015, 15:37
+
0
У меня он торгует вот как

на демо открывает также
Может в терминале проблема
avatar

  2  mim Автор Сообщений: 36

  • 4 ноября 2015, 17:20
+
0
на демо открывает также
Может в терминале проблема


Судя по скрину у вас стоит самая первая версия. Создайте советник с новым именем в метаэдиторе и скопируйте туда последний код из окошка в топике. Должно помочь :) 
avatar

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

  • 4 ноября 2015, 17:48
+
0
Сделал тоже самое происходит
avatar

  2  mim Автор Сообщений: 36

  • 4 ноября 2015, 17:55
+
0
Мне нужно видеть что вы делаете. Это можно только по скайпу: andrew.am2
avatar

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

  • 4 ноября 2015, 17:58
+
0
Тогда тока завтра надо камеру найти да ребенок уже спит.
avatar

  2  mim Автор Сообщений: 36

  • 4 ноября 2015, 18:03
+
0
Камеру не надо, просто нажмете показать экран.
avatar

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

  • 4 ноября 2015, 18:11
+
0
Не дело не в терминале, поставил на второй комп тоже самое, хотя на нем первой версии совы нет
avatar

  2  mim Автор Сообщений: 36

  • 4 ноября 2015, 19:08
+
0
Добрый день Андрей когда можно совершить звонок?
avatar

  2  mim Автор Сообщений: 36

  • 5 ноября 2015, 16:51
+
0
Через полчаса где то. Вы в сети будете?
avatar

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

  • 5 ноября 2015, 16:57
+
0
Да буду ждать
avatar

  2  mim Автор Сообщений: 36

  • 5 ноября 2015, 16:58
+
0
здравствуйте Андрей поставил советник на демо

как видно отрывает много ордеров в том же на направлении хотя должен ждать обратного сигнала, на тестере работает чотко
7-Если ордер закрылся по SL или TP то советник ждет сигнал в противоположенную сторону.
avatar

  2  mim Автор Сообщений: 36

  • 12 ноября 2015, 20:24
+
0
Значит не срабатывает функция определения типа последней сделки :) 
avatar

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

  • 12 ноября 2015, 20:32
+
0
А это возможно исправить?:) 
avatar

  2  mim Автор Сообщений: 36

  • 12 ноября 2015, 20:34
+
0
Возможно :) 
avatar

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

  • 12 ноября 2015, 20:35
+
0
Давайте исправим*victory* 
avatar

  2  mim Автор Сообщений: 36

  • 12 ноября 2015, 20:36
+
0
Я не против :) 
avatar

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

  • 12 ноября 2015, 20:37
+
0
ну с чего начнем :D 
avatar

  2  mim Автор Сообщений: 36

  • 12 ноября 2015, 20:40
+
0
С вас :D 
avatar

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

  • 12 ноября 2015, 20:41
+
0
Давайте начнем с меня, а потом с вас:D 
avatar

  2  mim Автор Сообщений: 36

  • 12 ноября 2015, 20:44
+
0
А с меня взятки гладки :D 
avatar

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

  • 12 ноября 2015, 20:45
+
0
Весёлый разговор получается первую 1000 у.е которую он заработает я вам отправлю:) 
avatar

  2  mim Автор Сообщений: 36

  • 12 ноября 2015, 20:51
+
0
Самое главное чтобы хотя бы при своих остались :) 
Это от разных брокеров зависит расположение ордеров в истории. Завтра я посмотрю у себя другую функцию.
avatar

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

  • 12 ноября 2015, 20:55
+
0
Буду премного благодарен*boss* 
avatar

  2  mim Автор Сообщений: 36

  • 12 ноября 2015, 20:57
+
0
Я сейчас только открыл закрыл сделки на двух брокерах альпы и фх клуб. больше не открывает сделок. Посмотрю еще чуть чуть подольше.


avatar

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

  • 12 ноября 2015, 22:18
+
0
Вот эта версия:


//+------------------------------------------------------------------+
//|                                                       Shifer.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 BULevel      = 300;      // уровень бу
extern int BUPoint      = 30;       // пункты бу
extern int TrailingStop = 400;      // трал
extern int Slip         = 30;       // реквот
extern int Magic        = 123;      // магик
extern string IndicatorProperties="--------------------";
extern int IndPeriod    = 12;
extern int IndShift     = 3;
//+------------------------------------------------------------------+
//| 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,"Fisher",IndPeriod,0,1);
   double FRed=iCustom(Symbol(),0,"Fisher",IndPeriod,1,1);
   double ShiftFGreen=iCustom(Symbol(),0,"Fisher",IndPeriod,0,IndShift);
   double ShiftFRed=iCustom(Symbol(),0,"Fisher",IndPeriod,1,IndShift);

//--- sell conditions
   if(FGreen<0 && (LastDealType()==1 || LastDealType()==0))
     {
      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(FGreen>0 && (LastDealType()==2 || LastDealType()==0))
     {
      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;
     }
//---
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Trailing()
  {
   bool mod;
   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)
              {
               if(TrailingStop>0)
                 {
                  if(Bid-OrderOpenPrice()>TrailingStop*Point)
                    {
                     if(OrderStopLoss()<Bid-TrailingStop*Point)
                       {
                        mod=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                        return;
                       }
                    }
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(TrailingStop>0)
                 {
                  if((OrderOpenPrice()-Ask)>TrailingStop*Point)
                    {
                     if((OrderStopLoss()>(Ask+TrailingStop*Point)) || (OrderStopLoss()==0))
                       {
                        mod=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                        return;
                       }
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void BU()
  {
   bool m;
   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)
              {
               if(OrderOpenPrice()<=(Bid-(BULevel+BUPoint)*Point) && OrderOpenPrice()>OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BUPoint*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(OrderOpenPrice()>=(Ask+(BULevel+BUPoint)*Point) && OrderOpenPrice()<OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-BUPoint*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| Check for close order conditions                                 |
//+------------------------------------------------------------------+
void ClosePos()
  {
//--- get Ind
   double FGreen=iCustom(Symbol(),0,"Fisher",IndPeriod,0,1);
   double FRed=iCustom(Symbol(),0,"Fisher",IndPeriod,1,1);
   double ShiftFGreen=iCustom(Symbol(),0,"Fisher",IndPeriod,0,IndShift);
   double ShiftFRed=iCustom(Symbol(),0,"Fisher",IndPeriod,1,IndShift);

   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<0 && ShiftFGreen>0)
                 {
                  bool c=OrderClose(OrderTicket(),OrderLots(),Bid,Slip,White);
                  return;
                 }
              }
            if(OrderType()==OP_SELL)
              {
               if(FGreen>0 && ShiftFGreen<0)
                 {
                  c=OrderClose(OrderTicket(),OrderLots(),Ask,Slip,White);
                  return;
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int LastDealType()
  {
   int type=0;
   if(OrdersHistoryTotal()==0)
     {
      type=0;
     }
   if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
     {
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
        {
         if(OrderType()==OP_BUY)
           {
            type=1;//buy  
           }
         if(OrderType()==OP_SELL)
           {
            type=2;//sell  
           }
        }
     }
   return(type);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   double FGreen=iCustom(Symbol(),0,"Fisher",IndPeriod,0,1);
   double FRed=iCustom(Symbol(),0,"Fisher",IndPeriod,1,1);

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

   if(BULevel!=0) BU();
   if(TrailingStop!=0) Trailing();

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

avatar

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

  • 12 ноября 2015, 22:23
+
0
спасибо будем тестить
avatar

  2  mim Автор Сообщений: 36

  • 12 ноября 2015, 22:46
+
0
как настроить чтобы сделка открывалась и закрывалась, не зависимо текйпрофита и стплосса — при смене цвета фишера?
avatar

  1  Kamijouher Сообщений: 3

  • 13 ноября 2017, 07:44

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