Ответ
 
Опции темы
Старый 13.10.2015, 22:22   #4821 (permalink)
Элитный участник
 
Аватар для RoboMaks
 
Регистрация: 19.08.2012
Адрес: Баку, Азербайджан
Сообщений: 651
Репутация: 1128
RoboMaks RoboMaks RoboMaks RoboMaks RoboMaks RoboMaks RoboMaks RoboMaks RoboMaks
Сказал(а) спасибо: 320
Поблагодарили 1,118 раз(а) в 442 сообщениях
Поинты: 623
Отправить сообщение для RoboMaks с помощью Skype™
Сообщение от gek Посмотреть сообщение
Значит нельзя тейк уменьшить?
Завтра посмотрю на свежую голову, голова уже не варит
Можно вынести эти значения в настройки, оставив там минимальные

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Программирование советников, индикаторов и скриптов для МТ4
контакты для платных работ:
e-mail: maksshukurov@mail.ru
skype: maksshukurov1
RoboMaks вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gek (14.10.2015)
Старый 13.10.2015, 22:29   #4822 (permalink)
 
Аватар для mobidik
 
Регистрация: 09.08.2012
Адрес: Ua_Khm
Сообщений: 1,647
Репутация: 8540
mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik
Сказал(а) спасибо: 633
Поблагодарили 8,536 раз(а) в 1,561 сообщениях
Поинты: 800
Сообщение от IYG Посмотреть сообщение
На скрине верхний старый дельтафорс на нем визуально не определяются двухцветные гисты которые показаны на нижнем новом дельтафорс.
Так как не имея достаточных знаний об алгоритме работы индикатора, могу лишь предположить что какие то минимальные значения проходят для отображения двухцветной гистограммы. Можно ли установить порог для этих значений? Типа значение меньше порога гисту не красим.
Да Вам и не нужно знать алгоритм работы индюка, что бы описать то, что хотите увидеть от индюка. Я не экстрасенс, но сделал так: если одновременно есть 2 сигнала и уровень каждого из них больше заданного в настройках - рисуется гисто другого цвета. Так как шкала в исходном индюке Deltaforce принимает очень маленькие значения, ввод данных для уровня был бы не удобен, специально сделал для сравнения/наглядности/ индикатор Deltaforce(mod) - здесь шкала увеличена во много раз и по умолчанию в настройках красная линия сделана тоньше, что б можно было видеть разницу сигналов. Аналогично увеличены значения шкалы и в индикаторе Deltaforce_v2, в котором в настройках можно задавать уровень для сигналов, при превышении которого, как я писал выше, рисуется гисто желтого цвета. Надеюсь, что все понятно и именно так Вы хотели.
Миниатюры:
Нажмите на изображение для увеличения
Название: Deltaforce_v2.png
Просмотров: 160
Размер:	91.5 Кб
ID:	222510  
Вложения:
Тип файла: mq4 Deltaforce_v2.mq4 (4.6 Кб, 85 просмотров)
Тип файла: mq4 Deltaforce(mod).mq4 (3.1 Кб, 83 просмотров)
mobidik на форуме   Ответить с цитированиемОтветить с цитированием  
11 пользователя(ей) сказали cпасибо:
allbatros2008 (07.12.2015), dadik (03.09.2016), deepak (06.12.2015), IYG (14.10.2015), kirko23 (13.10.2015), mercyr (21.10.2015), nikol-paganin (05.12.2015), Tankk (05.12.2015), viktor 12345 (14.10.2015), Vyacheslav88 (14.10.2015), некто (06.12.2015)
Старый 13.10.2015, 23:35   #4823 (permalink)
Интересующийся
 
Аватар для Sergien
 
Регистрация: 23.04.2015
Сообщений: 3
Репутация: 1
Sergien
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 2
Уважаемый специалист, сделать любое тело знаю я - bamsbung индикатор 2?
или любой индикатор работать так же? здесь или вечера нормально. спасибо
Sergien вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 03:12   #4824 (permalink)
Интересующийся
 
Аватар для Tovmas
 
Регистрация: 31.08.2011
Сообщений: 5
Репутация: 1
Tovmas
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 10
Здравствуйте! Прилагаемый советник работает на основе внешнего индикатора ATRTrailStop_V3. Прошу изменить советник таким образом, чтобы он работал на основе прилагаемого Ganns Signal StopLoss_V4 (трейлинг-стоп). Большое спасибо!
Вложения:
Тип файла: rar Gann.rar (15.9 Кб, 32 просмотров)
Tovmas вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 03:26   #4825 (permalink)
Местный знаток
 
Аватар для LexLampard
 
Регистрация: 11.08.2014
Сообщений: 257
Репутация: 939
LexLampard - LexLampard - LexLampard - LexLampard - LexLampard - LexLampard - LexLampard - LexLampard -
Сказал(а) спасибо: 213
Поблагодарили 938 раз(а) в 206 сообщениях
Поинты: 48
[QUOTE=Tankk;1066170]
Сообщение от LexLampard Посмотреть сообщение



дааа.... судьба ко мне жестока - моё же барахло ко мне и вернулось, через И-нет
эту строку я писал....
extern int A_t3_period = 18; //18; -original --> --> --> "" A_t3_period=21(20) &&& B_t3_period_ac=33(35) &&& hot=0.7 "" === THV3_Trix_v4.01_Div !!!!!!!!!!

само что интересно - а эта версия работает. Вопрос по TRIXу снят. СПАСИБО

ГЛЮК видимо в том, что я оба файла переименовывал вручную....
Эту строку я из твоего вставил, так для информации по значениям!!!

Нашел где косяк в твоем был.

extern string TimeFrame = "Current time frame";
extern int A_t3_period = 21; //18; -original --> --> --> "" A_t3_period=21(20) &&& B_t3_period_ac=33(35) &&& hot=0.7 "" === THV3_Trix_v4.01_Div !!!!!!!!!!
extern int is_A_open_price = 0;
extern int B_t3_period_ac = 33; //10; -original
extern double hot = 0.7;
extern int diferential = 0;
extern int num_bars = 1000;

ExtMapBuffer1[i] = iCustom(NULL,timeFrame,indicatorFileName,"calculat eValue",A_t3_period,num_bars,is_A_open_price,B_t3_period_ac,diferential,hot,0,y);

Порядок переменных ты поменял в объявлении настроек.

Последний раз редактировалось LexLampard; 14.10.2015 в 03:35.
LexLampard на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Tankk (14.10.2015)
Старый 14.10.2015, 06:13   #4826 (permalink)
IYG
Почётный гражданин
 
Аватар для IYG
 
Регистрация: 22.03.2009
Сообщений: 561
Репутация: 490
IYG - IYG - IYG - IYG - IYG -
Сказал(а) спасибо: 1,391
Поблагодарили 490 раз(а) в 243 сообщениях
Поинты: 176
Сообщение от mobidik Посмотреть сообщение
Да Вам и не нужно знать алгоритм работы индюка, что бы описать то, что хотите увидеть от индюка. Я не экстрасенс, но сделал так: если одновременно есть 2 сигнала и уровень каждого из них больше заданного в настройках - рисуется гисто другого цвета. Так как шкала в исходном индюке Deltaforce принимает очень маленькие значения, ввод данных для уровня был бы не удобен, специально сделал для сравнения/наглядности/ индикатор Deltaforce(mod) - здесь шкала увеличена во много раз и по умолчанию в настройках красная линия сделана тоньше, что б можно было видеть разницу сигналов. Аналогично увеличены значения шкалы и в индикаторе Deltaforce_v2, в котором в настройках можно задавать уровень для сигналов, при превышении которого, как я писал выше, рисуется гисто желтого цвета. Надеюсь, что все понятно и именно так Вы хотели.
Огромнейшее спасибо!
То что доктор прописал!
IYG на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
mobidik (14.10.2015)
Старый 14.10.2015, 07:37   #4827 (permalink)
 
Аватар для Tankk
 
Регистрация: 21.05.2013
Адрес: третья планета от Солнца
Сообщений: 858
Репутация: 3508
Tankk Tankk Tankk Tankk Tankk Tankk Tankk Tankk Tankk Tankk Tankk
Сказал(а) спасибо: 3,041
Поблагодарили 3,506 раз(а) в 611 сообщениях
Поинты: 648
[QUOTE=LexLampard;1066220]
Сообщение от Tankk Посмотреть сообщение
[B]ExtMapBuffer1[i] = iCustom(NULL,timeFrame,indicatorFileName,"calculat eValue",A_t3_period,num_bars,is_A_open_price,B_t3_period_ac,diferential,hot,0,y);

Порядок переменных ты поменял в объявлении настроек.

дааа.... точно я строки настроек местами поменял, а то разбросаны как попало...
"глючный TRIX"

Последний раз редактировалось Tankk; 14.10.2015 в 07:41.
Tankk вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 07:56   #4828 (permalink)
Интересующийся
 
Аватар для coler
 
Регистрация: 12.02.2013
Сообщений: 38
Репутация: 4
coler
Сказал(а) спасибо: 14
Поблагодарили 3 раз(а) в 3 сообщениях
Поинты: 10

Плохо create ea with indi


hello friend. replace plasse beforex.mq4 on ea Zig_dan_Zag_Danu_Ultimate_Investment_Long_Term. THX
Вложения:
Тип файла: mq4 beforex.mq4 (7.7 Кб, 56 просмотров)
Тип файла: mq4 Zig_dan_Zag_Danu_Ultimate_Investment_Long_Term.mq4 (88.9 Кб, 60 просмотров)
coler вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
deepak (06.12.2015)
Старый 14.10.2015, 08:06   #4829 (permalink)
gek
Местный знаток
 
Аватар для gek
 
Регистрация: 26.08.2008
Сообщений: 3,222
Репутация: 834
gek - gek - gek - gek - gek - gek - gek -
Сказал(а) спасибо: 1,941
Поблагодарили 831 раз(а) в 576 сообщениях
Поинты: 194
Сообщение от RoboMaks Посмотреть сообщение
Завтра посмотрю на свежую голову, голова уже не варит
Можно вынести эти значения в настройки, оставив там минимальные
Посмотри пожалуйста,как можно тейк,стоп и трал у него регулировать.
Довольно интересный советник.
gek на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 09:39   #4830 (permalink)
Местный житель
 
Аватар для cros84
 
Регистрация: 15.01.2011
Адрес: Greece
Сообщений: 84
Репутация: 193
cros84 - cros84 -
Сказал(а) спасибо: 93
Поблагодарили 192 раз(а) в 33 сообщениях
Поинты: 28
Уважаемые программисты . если возможно сделайте индикатор MTF
Вложения:
Тип файла: mq4 METRO.mq4 (3.2 Кб, 21 просмотров)
cros84 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 11:41   #4831 (permalink)
Местный знаток
 
Аватар для MAYORZ
 
Регистрация: 27.03.2015
Сообщений: 316
Репутация: 544
MAYORZ - MAYORZ - MAYORZ - MAYORZ - MAYORZ - MAYORZ -
Сказал(а) спасибо: 302
Поблагодарили 543 раз(а) в 103 сообщениях
Поинты: 42
Здравствуйте! Обозначьте пожалуйста появление ступеньки алертом и звуком.
Вложения:
Тип файла: mq4 XO clean.mq4 (2.7 Кб, 17 просмотров)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- Я деньги мало люблю, но уважаю в них единственный способ благопристойной независимости! (А.С. Пушкин.)
MAYORZ вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 11:59   #4832 (permalink)
Местный житель
 
Аватар для trium
 
Регистрация: 24.12.2010
Сообщений: 515
Репутация: 231
trium - trium - trium -
Сказал(а) спасибо: 365
Поблагодарили 231 раз(а) в 100 сообщениях
Поинты: 96
Уважаемые специалисты!
Очень нужно, чтобы вы совместили два индикатора в одном. На вскидку, даёт очень неплохие результаты!
Спасибо!
Вложения:
Тип файла: mq4 DPO.mq4 (1.5 Кб, 44 просмотров)
Тип файла: mq4 MACD Color 1.mq4 (2.9 Кб, 41 просмотров)
trium вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Vladimir1 (14.10.2015)
Старый 14.10.2015, 13:38   #4833 (permalink)
Интересующийся
 
Аватар для djasper
 
Регистрация: 26.03.2013
Сообщений: 13
Репутация: 1
djasper
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 16
Помогите исправит фунцию мартина в сове

Скрытый текст

Код:
//------------------------------------------------------------------
#property copyright "www.forex-tsd.com"
//------------------------------------------------------------------
//
//-----------------------условия марина------------------------
extern double LotSize = 1.0;                	// Величина торгуемого лота
extern bool MM = true;                    // использовать ли мартингейл
extern double LotExponent = 7;            // на сколько умножать убыточный лот
extern int LotExponentStart = 1;          // после какой по счёту убыточной сделки включать мартингейл
extern int LotExponentMax = 3;            // сколько раз умножать лот
//-------------------------------------------------------------------
extern int ma1per=5;
extern int ma2per=20;
extern int ma3per=50;
extern int ma4per=50;

extern string Name_Expert       = "Rsi Trader";
extern bool   UseAutoMagic      = true;
extern int    ManualMagic       = 28282828;  
extern double StopLoss         = 100;
extern double TakeProfit       = 100;
extern int    Slippage          = 5;
extern double Lots              = 0.1;
extern double MaximumRisk       = 0;
extern double DecreaseFactor    = 3;
//
bool dummyResult;
string s_symbol;

int    MAGIC;
int digit,STOPLEVEL; 

double point = 1;

//
int init() 
{
  s_symbol = Symbol();
  
  digit = MarketInfo(s_symbol,MODE_DIGITS);
  if (digit==2 || digit==4) point = 1;
  if (digit==3 || digit==5) point = 10;
  if (digit==6)             point = 100;
  
  if (UseAutoMagic) MAGIC = ManualMagic;
              else  MAGIC = ManualMagic;  
              
return(0);
}

//
//

int start()
{
  double ma1 = iMA (NULL,0,ma1per,0,MODE_EMA,PRICE_CLOSE,1);
  double ma2 = iMA (NULL,0,ma2per,0,MODE_EMA,PRICE_CLOSE,1);
  double ma3 = iMA (NULL,0,ma3per,0,MODE_EMA,PRICE_CLOSE,1);
  double ma4 = iMA (NULL,0,ma4per,0,MODE_EMA,PRICE_CLOSE,1);
   //
   if (!ExistPositions())
   {
      
     if(ma1<ma2 && ma2>ma3 && ma3>ma4 )  
     {
       OpenBuy();
       return(0);
     }

     if(ma1>ma2 && ma2<ma3 && ma3<ma4 )
     {
       OpenSell();
       return(0);
     }
      
   }
  
return (0);
}

//
bool ExistPositions() {
	for (int i=0; i<OrdersTotal(); i++) {
		if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
			if (OrderSymbol() == s_symbol && OrderMagicNumber() == MAGIC) {
				return(true);
			}
		} 
   }
return(false);
}

//
void OpenBuy() 
{ 
    
   double lbStop = 0; if (StopLoss>0)   lbStop = NormalizeDouble(Ask-StopLoss  *Point*point,digit);
   double lbTake = 0; if (TakeProfit>0) lbTake = NormalizeDouble(Ask+TakeProfit*Point*point,digit);
  
    dummyResult = OrderSend(s_symbol,OP_BUY,LotsOptimized(StopLoss),NormalizeDouble(Ask,Digits),Slippage,lbStop,lbTake,Name_Expert,MAGIC,0); 
  
    }		       

void OpenSell() 
{ 
   double lsStop = 0; if (StopLoss>0)   lsStop = NormalizeDouble(Bid+StopLoss  *Point*point,digit);
   double lsTake = 0; if (TakeProfit>0) lsTake = NormalizeDouble(Bid-TakeProfit*Point*point,digit);
   
   dummyResult = OrderSend(s_symbol,OP_SELL,LotsOptimized(StopLoss),NormalizeDouble(Bid,Digits),Slippage,lsStop,lsTake,Name_Expert,MAGIC,0); 
   
} 


//
double LotsOptimized(double stopLoss)
{
   double lot_min  = MarketInfo(s_symbol,MODE_MINLOT);
   double lot_max  = MarketInfo(s_symbol,MODE_MAXLOT);
   double lot_step = MarketInfo(s_symbol,MODE_LOTSTEP);
   double contract = MarketInfo(s_symbol,MODE_LOTSIZE);
   double lot      = Lots;
   int    orders   = HistoryTotal();     // history orders total
   int    losses   = 0;                  // number of losses orders without a break
   
   //
   //
   //
   //
   //
   
   if(lot_min < 0.0 || lot_max <= 0.0 || lot_step <= 0.0) 
   {
      Print("CalculateVolume: invalid MarketInfo() results [",lot_min,",",lot_max,",",lot_step,"]");
      return(0);
   }
   if(AccountLeverage()<=0)
   {
      Print("CalculateVolume: invalid AccountLeverage() [",AccountLeverage(),"]");
      return(0);
   }
   
   //
   //
   //
   //
   //
   
   if (MaximumRisk > 0 && stopLoss>0)
   {
      double pipMultiplier=1;
      int tdigit  = MarketInfo(s_symbol,MODE_DIGITS);
         if (tdigit==2 || tdigit==4) pipMultiplier = 1;
         if (tdigit==3 || tdigit==5) pipMultiplier = 10;
         if (tdigit==6)              pipMultiplier = 100;
      double _point = MarketInfo(s_symbol,MODE_POINT);
         lot = AccountFreeMargin()*(MaximumRisk/100.0)/(stopLoss*pipMultiplier*MarketInfo(s_symbol,MODE_TICKVALUE));
   }
   
   //+++++++++++++++++++++++++++++++++мартин надо исправить +++++++++++++++++++++++++++++++++++++++++++
   if (MM)
  {
     lots = LotSize;
     int ct = 0;
     for (int c=1;c<=OrdersTotal();c++)
     {
        OrderSelect(OrdersTotal()-c,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() != MAGIC) continue;
        ct+=1; break;
     }

     if (ct == 0)
     {
        int clt = 0;
        for (int co=1;co<=OrdersHistoryTotal();co++)
        {
           OrderSelect(OrdersHistoryTotal()-co,SELECT_BY_POS,MODE_HISTORY);
           if (OrderMagicNumber() != MAGIC) continue;
           if (OrderProfit() < 0) { clt+=1; if (clt < LotExponentStart+LotExponentMax) { lot = OrderLots(); } } else break;
        }

        if (clt >= LotExponentStart && LotExponentMax != 0)
        {
           clt = 0;
           int mult = 0;
           for (int co2=1;co2<=OrdersHistoryTotal();co2++)
           {
              OrderSelect(OrdersHistoryTotal()-co2,SELECT_BY_POS,MODE_HISTORY);
              if (OrderMagicNumber() != MAGIC) continue;
              if (OrderProfit() < 0) { clt+=1; if (clt >= LotExponentStart) { lot*=LotExponent; mult+=1; } }
              if (OrderProfit() >= 0) break;
           }
           if (mult <= LotExponentMax) lots = lot;
        }
     }
  }
  //+++++++++++++++++ конец мартина ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   
   if(DecreaseFactor>0)
   {
      for(int i=orders-1;i>=0;i--)
      {
        if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
        if(OrderSymbol()!= s_symbol || OrderType() > OP_SELL) continue;
      
        //
        //
        //
        //
        //
      
        if(OrderProfit() > 0) break;
        if(OrderProfit() < 0) losses++;
        }
        if(losses>1) lot=NormalizeDouble(lot - lot * losses/DecreaseFactor,2);
   }
   
   //
   //
   //
   //
   //
   
   lot=NormalizeDouble(lot/lot_step,0)*lot_step;
   if(lot<lot_min) lot=lot_min;
   if(lot>lot_max) lot=lot_max;
return(lot);
} 

//*******************************************
[свернуть]
djasper вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 16:05   #4834 (permalink)
Местный знаток
 
Аватар для MrGreen86
 
Регистрация: 12.01.2012
Сообщений: 651
Репутация: 923
MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 -
Сказал(а) спасибо: 121
Поблагодарили 923 раз(а) в 352 сообщениях
Поинты: 32
Отправить сообщение для MrGreen86 с помощью Skype™
Сообщение от djasper Посмотреть сообщение
Помогите исправит фунцию
нормально код прикрепите пожалуйста в виде файла.
если вы сами пробовали добавить функцию мартина в этот советник - желательно выслать код без ваших добавлений.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

MqlLab.ru
MrGreen86 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 16:14   #4835 (permalink)
Местный знаток
 
Аватар для MrGreen86
 
Регистрация: 12.01.2012
Сообщений: 651
Репутация: 923
MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 -
Сказал(а) спасибо: 121
Поблагодарили 923 раз(а) в 352 сообщениях
Поинты: 32
Отправить сообщение для MrGreen86 с помощью Skype™
Сообщение от trium Посмотреть сообщение
Уважаемые специалисты!
Очень нужно, чтобы вы совместили два индикатора в одном. На вскидку, даёт очень неплохие результаты!
Спасибо!
чем они вас по отдельности не устраивают?
что вы хотите получить соеденив их?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

MqlLab.ru
MrGreen86 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 16:19   #4836 (permalink)
Местный житель
 
Аватар для trium
 
Регистрация: 24.12.2010
Сообщений: 515
Репутация: 231
trium - trium - trium -
Сказал(а) спасибо: 365
Поблагодарили 231 раз(а) в 100 сообщениях
Поинты: 96
Сообщение от MrGreen86 Посмотреть сообщение
чем они вас по отдельности не устраивают?
что вы хотите получить соеденив их?
Совершенно верно! Они чуть-чуть расходятся относительно друг друга. Хотелось-бы устранить эту проблему сделав один индикатор на основе этих двух.
trium вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 16:20   #4837 (permalink)
Интересующийся
 
Аватар для djasper
 
Регистрация: 26.03.2013
Сообщений: 13
Репутация: 1
djasper
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 16
Это шаблон совы к которому надо прикрепить функцию мартина: martin rsi.mq4
Вот сама функция которую хочу вставить в сову:
Код HTML:
extern bool MM = true;                    // использовать ли мартингейл
extern double LotExponent = 7;            // на сколько умножать убыточный лот
extern int LotExponentStart = 1;          // после какой по счёту убыточной сделки включать мартингейл
extern int LotExponentMax = 3;            // сколько раз умножать лот

extern bool uplot = true;					// вкл/выкл изменение величины лота
extern double lotmin = 0.1;					// начальное значение
extern double lotmax = 0.7;					// потолок
extern double lotstep = 0.1;				// приращение лота 
extern int lastprofit = 1; 					// принимает значения -1/1. 
											// -1 - увеличение лота после минусовой сделки до первой плюсовой.
											// 1 - увеличение лота после плюсовой сделки до первой минусовой.
//--------------------------------------------------------
double GetLots() { 
  if (MM)
  {
     lots = LotSize;
     int ct = 0;
     for (int c=1;c<=OrdersTotal();c++)
     {
        OrderSelect(OrdersTotal()-c,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() != Magic) continue;
        ct+=1; break;
     }

     if (ct == 0)
     {
        int clt = 0;
        for (int co=1;co<=OrdersHistoryTotal();co++)
        {
           OrderSelect(OrdersHistoryTotal()-co,SELECT_BY_POS,MODE_HISTORY);
           if (OrderMagicNumber() != Magic) continue;
           if (OrderProfit() < 0) { clt+=1; if (clt < LotExponentStart+LotExponentMax) { lot = OrderLots(); } } else break;
        }

        if (clt >= LotExponentStart && LotExponentMax != 0)
        {
           clt = 0;
           int mult = 0;
           for (int co2=1;co2<=OrdersHistoryTotal();co2++)
           {
              OrderSelect(OrdersHistoryTotal()-co2,SELECT_BY_POS,MODE_HISTORY);
              if (OrderMagicNumber() != Magic) continue;
              if (OrderProfit() < 0) { clt+=1; if (clt >= LotExponentStart) { lot*=LotExponent; mult+=1; } }
              if (OrderProfit() >= 0) break;
           }
           if (mult <= LotExponentMax) lots = lot;
        }
     }
  }
  else
  {
     lots = lots;
     if (!uplot) return (lots);
  
     int ticket = GetLastOrderHist();
     if (ticket == -1) return (lots);
  
     if (!OrderSelect(ticket, SELECT_BY_TICKET, MODE_HISTORY)) return (lots);
     if (OrderProfit()*lastprofit < 0) return (lots);
  
     lots = MathMin(OrderLots() + lotstep, lotmax);
  }
  return(lots);
}
int GetLastOrderHist(int type = -1) {
  int ticket = -1;
  datetime dt = 0;
  int cnt = HistoryTotal();
    
  for (int i=0; i < cnt; i++) {
    if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
//Опционально
    if (OrderSymbol() != Symbol()) continue;
//Опционально
    if (OrderMagicNumber() != Magic) continue;
    if (type != -1 && OrderType() != type) continue;
    
    if (OrderCloseTime() > dt) {
      dt = OrderCloseTime();
      ticket = OrderTicket();
    }
  }
return (ticket);
}
Помогите кто чем может
djasper вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 16:22   #4838 (permalink)
Местный знаток
 
Аватар для MrGreen86
 
Регистрация: 12.01.2012
Сообщений: 651
Репутация: 923
MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 -
Сказал(а) спасибо: 121
Поблагодарили 923 раз(а) в 352 сообщениях
Поинты: 32
Отправить сообщение для MrGreen86 с помощью Skype™
Сообщение от MAYORZ Посмотреть сообщение
Здравствуйте! Обозначьте пожалуйста появление ступеньки алертом и звуком.
XO clean.mq4

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

MqlLab.ru
MrGreen86 вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
MAYORZ (14.10.2015), Sergio88 (14.10.2015)
Старый 14.10.2015, 16:23   #4839 (permalink)
Местный знаток
 
Аватар для MrGreen86
 
Регистрация: 12.01.2012
Сообщений: 651
Репутация: 923
MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 - MrGreen86 -
Сказал(а) спасибо: 121
Поблагодарили 923 раз(а) в 352 сообщениях
Поинты: 32
Отправить сообщение для MrGreen86 с помощью Skype™
Сообщение от trium Посмотреть сообщение
Совершенно верно! Они чуть-чуть расходятся относительно друг друга. Хотелось-бы устранить эту проблему сделав один индикатор на основе этих двух.
я могу сделать 100500 вариантов одного индикатора из этиз двух. вам какой по счету?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

MqlLab.ru
MrGreen86 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 14.10.2015, 16:36   #4840 (permalink)
Местный знаток
 
Аватар для AlanG
 
Регистрация: 10.01.2011
Адрес: Казахстан
Сообщений: 1,141
Репутация: 987
AlanG - AlanG - AlanG - AlanG - AlanG - AlanG - AlanG - AlanG -
Сказал(а) спасибо: 60
Поблагодарили 969 раз(а) в 567 сообщениях
Поинты: 222
Сообщение от MAYORZ Посмотреть сообщение
Здравствуйте! Обозначьте пожалуйста появление ступеньки алертом и звуком.
такой по пробуй
Вложения:
Тип файла: mq4 XO clean_mtf + alerts + lines nmc 2.mq4 (8.2 Кб, 46 просмотров)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Я не программист!!!!
Цитата:
Фридрих Энгельс
«Стремление к счастью... нуждается больше всего в материальных средствах...»
―Фридрих Энгельс
AlanG вне форума   Ответить с цитированиемОтветить с цитированием  
4 пользователя(ей) сказали cпасибо:
deepak (06.12.2015), DrBOPOH (14.10.2015), MAYORZ (14.10.2015), Sergio88 (14.10.2015)
Ответ

Метки
доработать эксперта, доработка индикаторов, исправить советник, программисты форекс


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 04:26. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
SEO by vBSEO