0
Даже если брать с мартином, то все ненужное там отключается, периоды МА в настройках регулируются.
avatar

AM2

  • 23 октября 2015, 13:24
0
Посмотрю сейчас, если можно добавить время в чужой код сделаю.
avatar

AM2

  • 23 октября 2015, 13:22
0
Чтобы особо не заморачиваться переделал илан RSI: www.opentraders.ru/downloads/903/

avatar

AM2

  • 23 октября 2015, 07:52
0
Усреднитель типа илана это очень приличный объем работы, начну делать сначала примитивный вариант.
avatar

AM2

  • 23 октября 2015, 05:03
0
Все нормально запустилось и с новыми и старыми файликами. Это скрипты а не советники, поэтому создавайте скрипт.



avatar

AM2

  • 23 октября 2015, 04:56
0
Настройки индикатора: www.opentraders.ru/downloads/902/


extern int gi_92 = 12;
extern int gi_96 = 14;
avatar

AM2

  • 23 октября 2015, 04:22
0
Как он работает, поясните подробнее, чтобы я мог у себя отладить попробовать?
avatar

AM2

  • 22 октября 2015, 21:58
0
Это уже усреднение а не мартин и совсем другой алгоритм.
avatar

AM2

  • 22 октября 2015, 21:51
0
Я рад за вас! *good* 
avatar

AM2

  • 22 октября 2015, 21:46
0
Я думал может это моя ошибка, но исходный вариант тоже не бросается на график. Код декомпил, там непросто что то разобрать, еще посмотрю завтра, может соберу.
avatar

AM2

  • 22 октября 2015, 21:42
0
Как он работает, я еще у себя попробую?
avatar

AM2

  • 22 октября 2015, 21:28
0
Поправил посмотрите: www.opentraders.ru/downloads/902/
Тот который до этого правил, другая версия: zakaz.opentraders.ru/27863.html

С индикатором позже буду смотреть.
avatar

AM2

  • 22 октября 2015, 18:34
0
Посмотрел. Думаю реально будет поправить.
avatar

AM2

  • 22 октября 2015, 17:39
0
Можно уточнить?

1. BuyStop и SellStop ставим когда РСИ3 пересек РСИ13 снизу вверх или сверху вниз?
2. Когда ставим BuyLimit и SellLimit?
avatar

AM2

  • 22 октября 2015, 15:14
0
Надо будет погадать на досуге :) 
avatar

AM2

  • 22 октября 2015, 15:06
+1
И опять не включает мартин


У вас же идут сплошные прибыльные сделки, а увеличение лота включается после убыточной.
avatar

AM2

  • 22 октября 2015, 14:59
0
Вот эта версия на минутках работает как положено.




//+------------------------------------------------------------------+
//|                                                    PipsToday.mq4 |
//|                                              Copyright 2014, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, AM2"
#property link      "http://www.forexsystems.biz"
#property description "100 Pips Today expert advisor"

//--- Inputs
extern double StopLoss     = 500;
extern double TakeProfit   = 500;
extern double BULevel      = 0;
extern double TrailingStop = 0;
extern int    Slip         = 30;
extern double Lots         = 0.1;
//----
extern int    BPeriod      = 34;
extern int    APeriod      = 3;
//----
extern int    Magic        = 20151022;
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   int    res;
//--- get indicators value
   double PipsTodayYellow=iCustom(Symbol(),0,"100pipstodayscalper",BPeriod,APeriod,0,1);
   double PipsTodayRed=iCustom(Symbol(),0,"100pipstodayscalper",BPeriod,APeriod,1,1);

//--- sell conditions
   if(PipsTodayYellow>PipsTodayRed && (LastDealType()==1 || LastDealType()==0))
     {
      res=OrderSend(Symbol(),OP_SELL,Lots,fND(Bid),Slip,fND(Bid+StopLoss*Point),fND(Bid-TakeProfit*Point),"",Magic,0,Red);
      return;
     }
//--- buy conditions
   if(PipsTodayRed>PipsTodayYellow && (LastDealType()==2 || LastDealType()==0))
     {
      res=OrderSend(Symbol(),OP_BUY,Lots,fND(Ask),Slip,fND(Ask-StopLoss*Point),fND(Ask+TakeProfit*Point),"",Magic,0,Blue);
      return;
     }
//---
  }
//+------------------------------------------------------------------+
//| Check for close order conditions                                 |
//+------------------------------------------------------------------+
void ClosePos()
  {
//--- get indicators value 
   double PipsTodayYellow=iCustom(Symbol(),0,"100pipstodayscalper",BPeriod,APeriod,0,1);
   double PipsTodayRed=iCustom(Symbol(),0,"100pipstodayscalper",BPeriod,APeriod,1,1);
//---
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=Magic || OrderSymbol()!=Symbol()) continue;
      //--- check order type 
      if(OrderType()==OP_BUY)
        {
         if(PipsTodayYellow>PipsTodayRed)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Bid,Slip,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
      if(OrderType()==OP_SELL)
        {
         if(PipsTodayRed>PipsTodayYellow)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Ask,Slip,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
     }
//---
  }
//+------------------------------------------------------------------+
double fND(double d,int n=-1)
  {
   if(n<0) return(NormalizeDouble(d, Digits));
   return(NormalizeDouble(d, n));
  }
//+------------------------------------------------------------------+
void Trailing()
  {
   bool mod;
   for(int i=0; i<OrdersTotal(); 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=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() || OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY)
              {
               if(OrderOpenPrice()<=(Bid-(BULevel+2)*Point) && OrderOpenPrice()>OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+20*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }
            if(OrderType()==OP_SELL)
              {
               if(OrderOpenPrice()>=(Ask+(BULevel+2)*Point) && OrderOpenPrice()<OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-20*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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()
  {
   if(CountTrades()<1) OpenPos();
   else ClosePos();

   if(BULevel!=0) BU();
   if(TrailingStop!=0) Trailing();
//---
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 22 октября 2015, 13:35
0
Я по ТЗ работаю, фантазиями не занимаюсь :D 
avatar

AM2

  • 22 октября 2015, 13:30