0
Не надо новую тему. Напишите новое ТЗ, опишите сигнал по которому ставятся ордера по индикатору и я добавлю.
avatar

AM2

  • 22 октября 2015, 13:28
0
Прямо здесь можно написать.
avatar

AM2

  • 22 октября 2015, 13:17
0
Вот он открыл один ордер и всё


Можно сделать так чтобы если ордер закрылся по TP или SL то но не открывал бы новых ордеров а ждал нового сигнала.


Судя по скрину, советник ждет противоположного сигнала как в ТЗ, т.е. продажу.
avatar

AM2

  • 22 октября 2015, 13:14
0
Сейчас скачаю этот терминал, посмотрю.
avatar

AM2

  • 22 октября 2015, 12:25
0
Еще у вас максимальный лот MaxLot стоит такой же как и начальный лот, поэтому и не увеличивает. MaxLot — это максимальный объем позы в результате увеличения по мартину, после него лот начальный — Lots.
avatar

AM2

  • 22 октября 2015, 12:23
0
У вас по скринам видно, что трал всего 10п. 5-знак это очень мало, поэтому лучше поставьте это значение 0, а потом уже подберете в тестере. А увеличение лота по скринам не видно, нужен скрин с журнала.
avatar

AM2

  • 22 октября 2015, 12:19
0
Прикрутить… слово то какое мудреное :D 
Теперь новое ТЗ нужно.
avatar

AM2

  • 22 октября 2015, 12:09
0
NKD, BRN это какие символы? Какой брокер?
avatar

AM2

  • 21 октября 2015, 22:30
0
Я KLot = 2; ставлю.
avatar

AM2

  • 21 октября 2015, 22:02
0
Только что закрыл покупку и открыл продажу. Записи со вкладок эксперты и журнал в студию.

avatar

AM2

  • 21 октября 2015, 18:21
0
Вот одна из возможных причин:
2015.10.21 19:11:28.508 100pipstodayscalper EURUSD,M1: ArrayInitialize function internal error

В индюке глюк какой то.
avatar

AM2

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

AM2

  • 21 октября 2015, 18:09
0
Напишите, какой индикатор добавить?
avatar

AM2

  • 21 октября 2015, 15:15
0
Сейчас есть стоха с оптимизируемыми параметрами, доливка и ММ:
www.opentraders.ru/downloads/899/

avatar

AM2

  • 21 октября 2015, 12:44
0
если цена пошла дальше сигнала и появился ещё сигнал, доливаемся без удвоение лотности


Делал исходя из этого пункта.
Каждый сигнал не отрабатывается, потому что доливка идет в положительной зоне, т.е. когда поза в профите, а иначе это уже будет усреднение.
avatar

AM2

  • 20 октября 2015, 21:40
0
Вот файлик: www.opentraders.ru/downloads/899/
И покажите на скрине, что неправильно.
avatar

AM2

  • 20 октября 2015, 21:28
0
Какие провалы? В настройках есть ограничение лота, можно менять.
avatar

AM2

  • 20 октября 2015, 18:38
0
На стохе сделал.




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

#define MAGIC  20141020
//--- Inputs
extern int StopLoss     = 500;
extern int TakeProfit   = 500;
extern int BULevel      = 300;
extern int TrailingStop = 300;
extern int Slip         = 30;
extern double Lots      = 0.1;
//----
extern int MPeriod      = 5;
extern int SPeriod      = 3;
extern int Slow         = 10;
extern int Level        = 30;

int s=0,b=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

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

  }
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   int    res;
//--- get Ind
   double main1=iStochastic(NULL,0,MPeriod,SPeriod,Slow,0,0,0,1);
   double sig1=iStochastic(NULL,0,MPeriod,SPeriod,Slow,0,0,1,1);
   double main2=iStochastic(NULL,0,MPeriod,SPeriod,Slow,0,0,0,2);
   double sig2=iStochastic(NULL,0,MPeriod,SPeriod,Slow,0,0,1,2);
//--- sell conditions
   if(main1>100-Level && main1<sig1 && main2>sig2 && AllProfit()>=0)
     {
      res=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,Bid+StopLoss*Point,Bid-TakeProfit*Point,"",MAGIC,0,Red);
      s++;
      return;
     }
//--- buy conditions
   if(main1<Level && main1>sig1 && main2<sig2 && AllProfit()>=0)
     {
      res=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",MAGIC,0,Blue);
      b++;
      return;
     }
//---
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double AllProfit()
  {
   double profit=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      bool sel=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MAGIC) continue;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)
         if(OrderType()==OP_BUY || OrderType()==OP_SELL) profit+=OrderProfit();
     }
   return (profit);
  }
//+------------------------------------------------------------------+
//| Check for close order conditions                                 |
//+------------------------------------------------------------------+
void ClosePos()
  {
//--- get Ind
   double main1=iStochastic(NULL,0,MPeriod,SPeriod,Slow,0,0,0,1);
   double sig1=iStochastic(NULL,0,MPeriod,SPeriod,Slow,0,0,1,1);
   double main2=iStochastic(NULL,0,MPeriod,SPeriod,Slow,0,0,0,2);
   double sig2=iStochastic(NULL,0,MPeriod,SPeriod,Slow,0,0,1,2);
//---
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderMagicNumber()==MAGIC || OrderSymbol()==Symbol())
           {
            //--- check order type 
            if(OrderType()==OP_BUY)
              {
               if(main1>100-Level && main1<sig1 && main2>sig2)
                 {
                  bool c=OrderClose(OrderTicket(),OrderLots(),Bid,Slip,White);                  
                 }
              }
            if(OrderType()==OP_SELL)
              {
               if(main1<Level && main1>sig1 && main2<sig2)
                 {
                  c=OrderClose(OrderTicket(),OrderLots(),Ask,Slip,White);
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
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);
  }
//+------------------------------------------------------------------+
bool NewBar()
  {
   static datetime lastbar=0;
   datetime curbar=Time[0];
   if(lastbar!=curbar)
     {
      lastbar=curbar;
      return (true);
     }
   else
     {
      return(false);
     }
  }
//+------------------------------------------------------------------+
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+20)*Point) && OrderOpenPrice()>OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+20*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(OrderOpenPrice()>=(Ask+(BULevel+20)*Point) && OrderOpenPrice()<OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-20*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(NewBar())
     {
      OpenPos();
      ClosePos();
     }

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

avatar

AM2

  • 20 октября 2015, 18:35
0
Это радует, что вы прислушиваетесь к мнению окружающих. После ужина начну делать на стохе. Потом для сравнения сделаю на трендвейв.
avatar

AM2

  • 20 октября 2015, 16:45
0
Если вам так важна точка на индикаторе, то я ее нарисую на обычном стохастике.
avatar

AM2

  • 20 октября 2015, 15:47