Ответить
13.10.2015, 22:22
Аватар для RoboMaks
RoboMaks RoboMaks вне форума Элитный участник
Регистрация: 19.08.2012 / Адрес: Баку, Азербайджан / Сообщений: 651
Поблагодарили 1,118 раз(а) / Репутация: 1128
  • Отправить сообщение для RoboMaks с помощью Skype™
Значит нельзя тейк уменьшить?
Завтра посмотрю на свежую голову, голова уже не варит
Можно вынести эти значения в настройки, оставив там минимальные
gek 
13.10.2015, 22:29
Регистрация: 09.08.2012 / Адрес: Ua_Khm / Сообщений: 1,775
Поблагодарили 9,203 раз(а) / Репутация: 9208
На скрине верхний старый дельтафорс на нем визуально не определяются двухцветные гисты которые показаны на нижнем новом дельтафорс.
Так как не имея достаточных знаний об алгоритме работы индикатора, могу лишь предположить что какие то минимальные значения проходят для отображения двухцветной гистограммы. Можно ли установить порог для этих значений? Типа значение меньше порога гисту не красим.
Да Вам и не нужно знать алгоритм работы индюка, что бы описать то, что хотите увидеть от индюка. Я не экстрасенс, но сделал так: если одновременно есть 2 сигнала и уровень каждого из них больше заданного в настройках - рисуется гисто другого цвета. Так как шкала в исходном индюке Deltaforce принимает очень маленькие значения, ввод данных для уровня был бы не удобен, специально сделал для сравнения/наглядности/ индикатор Deltaforce(mod) - здесь шкала увеличена во много раз и по умолчанию в настройках красная линия сделана тоньше, что б можно было видеть разницу сигналов. Аналогично увеличены значения шкалы и в индикаторе Deltaforce_v2, в котором в настройках можно задавать уровень для сигналов, при превышении которого, как я писал выше, рисуется гисто желтого цвета. Надеюсь, что все понятно и именно так Вы хотели.
13.10.2015, 23:35
Аватар для Sergien
Sergien Sergien вне форума Интересующийся
Регистрация: 23.04.2015 / Сообщений: 3
Поблагодарили 0 раз(а) / Репутация: 1
Уважаемый специалист, сделать любое тело знаю я - bamsbung индикатор 2?
или любой индикатор работать так же? здесь или вечера нормально. спасибо
14.10.2015, 03:12
Аватар для Tovmas
Tovmas Tovmas вне форума Интересующийся
Регистрация: 31.08.2011 / Сообщений: 5
Поблагодарили 0 раз(а) / Репутация: 1
Здравствуйте! Прилагаемый советник работает на основе внешнего индикатора ATRTrailStop_V3. Прошу изменить советник таким образом, чтобы он работал на основе прилагаемого Ganns Signal StopLoss_V4 (трейлинг-стоп). Большое спасибо!
14.10.2015, 03:26
Аватар для LexLampard
LexLampard LexLampard на форуме Элитный участник
Регистрация: 11.08.2014 / Сообщений: 306
Поблагодарили 1,090 раз(а) / Репутация: 1091
[QUOTE=Tankk;1066170]



дааа.... судьба ко мне жестока - моё же барахло ко мне и вернулось, через И-нет
эту строку я писал....
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.
Tankk 
14.10.2015, 06:13
Аватар для IYG
IYG IYG на форуме Местный знаток
Регистрация: 22.03.2009 / Сообщений: 579
Поблагодарили 513 раз(а) / Репутация: 513
Да Вам и не нужно знать алгоритм работы индюка, что бы описать то, что хотите увидеть от индюка. Я не экстрасенс, но сделал так: если одновременно есть 2 сигнала и уровень каждого из них больше заданного в настройках - рисуется гисто другого цвета. Так как шкала в исходном индюке Deltaforce принимает очень маленькие значения, ввод данных для уровня был бы не удобен, специально сделал для сравнения/наглядности/ индикатор Deltaforce(mod) - здесь шкала увеличена во много раз и по умолчанию в настройках красная линия сделана тоньше, что б можно было видеть разницу сигналов. Аналогично увеличены значения шкалы и в индикаторе Deltaforce_v2, в котором в настройках можно задавать уровень для сигналов, при превышении которого, как я писал выше, рисуется гисто желтого цвета. Надеюсь, что все понятно и именно так Вы хотели.
Огромнейшее спасибо!
То что доктор прописал!
14.10.2015, 07:37
Регистрация: 21.05.2013 / Адрес: третья планета от Солнца / Сообщений: 888
Поблагодарили 4,014 раз(а) / Репутация: 4019
[QUOTE=LexLampard;1066220]
[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.
14.10.2015, 07:56
Аватар для coler
coler coler вне форума Интересующийся
Регистрация: 12.02.2013 / Сообщений: 38
Поблагодарили 3 раз(а) / Репутация: 4

Плохо create ea with indi

hello friend. replace plasse beforex.mq4 on ea Zig_dan_Zag_Danu_Ultimate_Investment_Long_Term. THX
deepak 
14.10.2015, 08:06
Аватар для gek
gek gek на форуме Местный знаток
Регистрация: 26.08.2008 / Сообщений: 3,281
Поблагодарили 839 раз(а) / Репутация: 842
Завтра посмотрю на свежую голову, голова уже не варит
Можно вынести эти значения в настройки, оставив там минимальные
Посмотри пожалуйста,как можно тейк,стоп и трал у него регулировать.
Довольно интересный советник.
14.10.2015, 09:39
Аватар для cros84
cros84 cros84 вне форума Местный житель
Регистрация: 15.01.2011 / Адрес: Greece / Сообщений: 84
Поблагодарили 193 раз(а) / Репутация: 194
Уважаемые программисты . если возможно сделайте индикатор MTF
14.10.2015, 11:41
Аватар для MAYORZ
MAYORZ MAYORZ вне форума Местный знаток
Регистрация: 27.03.2015 / Сообщений: 316
Поблагодарили 544 раз(а) / Репутация: 545
Здравствуйте! Обозначьте пожалуйста появление ступеньки алертом и звуком.
- Я деньги мало люблю, но уважаю в них единственный способ благопристойной независимости! (А.С. Пушкин.)
14.10.2015, 11:59
Аватар для trium
trium trium вне форума Местный житель
Регистрация: 24.12.2010 / Сообщений: 524
Поблагодарили 241 раз(а) / Репутация: 241
Уважаемые специалисты!
Очень нужно, чтобы вы совместили два индикатора в одном. На вскидку, даёт очень неплохие результаты!
Спасибо!
14.10.2015, 13:38
Аватар для djasper
djasper djasper вне форума Интересующийся
Регистрация: 26.03.2013 / Сообщений: 16
Поблагодарили 0 раз(а) / Репутация: 1
Помогите исправит фунцию мартина в сове

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

Код:
//------------------------------------------------------------------
#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);
} 

//*******************************************
[свернуть]
14.10.2015, 16:05
Аватар для MrGreen86
MrGreen86 MrGreen86 вне форума Местный знаток
Регистрация: 12.01.2012 / Сообщений: 676
Поблагодарили 961 раз(а) / Репутация: 961
  • Отправить сообщение для MrGreen86 с помощью Skype™
Помогите исправит фунцию
нормально код прикрепите пожалуйста в виде файла.
если вы сами пробовали добавить функцию мартина в этот советник - желательно выслать код без ваших добавлений.
14.10.2015, 16:14
Аватар для MrGreen86
MrGreen86 MrGreen86 вне форума Местный знаток
Регистрация: 12.01.2012 / Сообщений: 676
Поблагодарили 961 раз(а) / Репутация: 961
  • Отправить сообщение для MrGreen86 с помощью Skype™
Уважаемые специалисты!
Очень нужно, чтобы вы совместили два индикатора в одном. На вскидку, даёт очень неплохие результаты!
Спасибо!
чем они вас по отдельности не устраивают?
что вы хотите получить соеденив их?
14.10.2015, 16:19
Аватар для trium
trium trium вне форума Местный житель
Регистрация: 24.12.2010 / Сообщений: 524
Поблагодарили 241 раз(а) / Репутация: 241
чем они вас по отдельности не устраивают?
что вы хотите получить соеденив их?
Совершенно верно! Они чуть-чуть расходятся относительно друг друга. Хотелось-бы устранить эту проблему сделав один индикатор на основе этих двух.
14.10.2015, 16:20
Аватар для djasper
djasper djasper вне форума Интересующийся
Регистрация: 26.03.2013 / Сообщений: 16
Поблагодарили 0 раз(а) / Репутация: 1
Это шаблон совы к которому надо прикрепить функцию мартина: 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);
}
Помогите кто чем может
14.10.2015, 16:22
Аватар для MrGreen86
MrGreen86 MrGreen86 вне форума Местный знаток
Регистрация: 12.01.2012 / Сообщений: 676
Поблагодарили 961 раз(а) / Репутация: 961
  • Отправить сообщение для MrGreen86 с помощью Skype™
Здравствуйте! Обозначьте пожалуйста появление ступеньки алертом и звуком.
XO clean.mq4
14.10.2015, 16:23
Аватар для MrGreen86
MrGreen86 MrGreen86 вне форума Местный знаток
Регистрация: 12.01.2012 / Сообщений: 676
Поблагодарили 961 раз(а) / Репутация: 961
  • Отправить сообщение для MrGreen86 с помощью Skype™
Совершенно верно! Они чуть-чуть расходятся относительно друг друга. Хотелось-бы устранить эту проблему сделав один индикатор на основе этих двух.
я могу сделать 100500 вариантов одного индикатора из этиз двух. вам какой по счету?
14.10.2015, 16:36
Аватар для AlanG
AlanG AlanG вне форума Элитный участник
Регистрация: 10.01.2011 / Адрес: Казахстан / Сообщений: 1,210
Поблагодарили 1,052 раз(а) / Репутация: 1070
Здравствуйте! Обозначьте пожалуйста появление ступеньки алертом и звуком.
такой по пробуй
Я не программист!!!!
Цитата:
Фридрих Энгельс
«Стремление к счастью... нуждается больше всего в материальных средствах...»
―Фридрих Энгельс
Ответить

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


Опции темы

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

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



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


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