Ответ
 
Опции темы
Старый 20.07.2015, 08:51   #4081 (permalink)
Прохожий
 
Аватар для unikum22
 
Регистрация: 31.05.2015
Сообщений: 1
Репутация: 1
unikum22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 4

По умолчанию Проблема с удвоением лота в советнике


Здравствуйте, уважаемые форумчане. Столкнулся с проблемой удвоения лота если последняя сделка сработала в минус. Почему-то лот удваивается по два раза подряд. Вот скрин из тестера:

Помогите пожалуйста разобраться. За ранее огромное спасибо!


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

1 2015.01.02 09:00 sell 1 0.10 1.2053 1.2103 1.2003 0.00 2000.00
2 2015.01.02 22:23 t/p 1 0.10 1.2003 1.2103 1.2003 0.50 2000.50
3 2015.01.02 22:23 sell 2 0.10 1.2001 1.2051 1.1951 0.00 2000.50
4 2015.01.05 00:00 t/p 2 0.10 1.1951 1.2051 1.1951 0.50 2001.00
5 2015.01.05 00:00 buy 3 0.10 1.1948 1.1898 1.1998 0.00 2001.00
6 2015.01.05 00:02 s/l 3 0.10 1.1898 1.1898 1.1998 -0.50 2000.50
7 2015.01.05 00:02 sell 4 0.10 1.1898 1.1948 1.1848 0.00 2000.50
8 2015.01.05 00:39 s/l 4 0.10 1.1948 1.1948 1.1848 -0.50 2000.00
9 2015.01.05 00:39 buy 5 0.20 1.1948 1.1898 1.1998 0.00 2000.00
10 2015.01.05 14:34 s/l 5 0.20 1.1898 1.1898 1.1998 -1.00 1999.00
11 2015.01.05 14:34 sell 6 0.20 1.1898 1.1948 1.1848 0.00 1999.00
12 2015.01.05 22:40 s/l 6 0.20 1.1948 1.1948 1.1848 -1.00 1998.00
13 2015.01.05 22:40 buy 7 0.40 1.1948 1.1898 1.1998 0.00 1998.00
14 2015.01.06 12:27 s/l 7 0.40 1.1898 1.1898 1.1998 -2.01 1995.99
15 2015.01.06 12:27 sell 8 0.40 1.1898 1.1948 1.1848 0.00 1995.99
16 2015.01.06 19:18 s/l 8 0.40 1.1948 1.1948 1.1848 -2.00 1993.99
17 2015.01.06 19:18 buy 9 0.80 1.1948 1.1898 1.1998 0.00 1993.99
18 2015.01.06 22:09 s/l 9 0.80 1.1898 1.1898 1.1998 -4.00 1989.99
19 2015.01.06 22:09 sell 10 0.80 1.1898 1.1948 1.1848 0.00 1989.99
20 2015.01.07 12:55 t/p 10 0.80 1.1848 1.1948 1.1848 4.01 1994.00
21 2015.01.07 12:55 sell 11 1.60 1.1846 1.1896 1.1796 0.00 1994.00
22 2015.01.08 10:58 t/p 11 1.60 1.1796 1.1896 1.1796 8.04 2002.03
23 2015.01.08 10:58 sell 12 0.10 1.1794 1.1844 1.1744 0.00 2002.03
24 2015.01.09 18:03 s/l 12 0.10 1.1844 1.1844 1.1744 -0.50 2001.53
25 2015.01.09 18:03 buy 13 0.10 1.1844 1.1794 1.1894 0.00 2001.53
26 2015.01.12 12:31 s/l 13 0.10 1.1794 1.1794 1.1894 -0.50 2001.03
27 2015.01.12 12:31 sell 14 0.20 1.1794 1.1844 1.1744 0.00 2001.03
28 2015.01.12 16:50 s/l 14 0.20 1.1844 1.1844 1.1744 -1.00 2000.03
29 2015.01.12 16:50 buy 15 0.20 1.1844 1.1794 1.1894 0.00 2000.03
30 2015.01.13 11:46 s/l 15 0.20 1.1794 1.1794 1.1894 -1.01 1999.03
31 2015.01.13 11:46 sell 16 0.40 1.1794 1.1844 1.1744 0.00 1999.03
32 2015.01.14 11:36 t/p 16 0.40 1.1744 1.1844 1.1744 2.00 2001.03
33 2015.01.14 11:36 sell 17 0.40 1.1742 1.1792 1.1692 0.00 2001.03
34 2015.01.14 15:30 s/l 17 0.40 1.1792 1.1792 1.1692 -2.00 1999.03
35 2015.01.14 15:30 buy 18 0.10 1.1792 1.1742 1.1842 0.00 1999.03
36 2015.01.14 15:51 t/p 18 0.10 1.1842 1.1742 1.1842 0.50 1999.53
37 2015.01.14 15:51 buy 19 0.80 1.1844 1.1794 1.1894 0.00 1999.53
38 2015.01.14 16:35 s/l 19 0.80 1.1794 1.1794 1.1894 -4.00 1995.53
39 2015.01.14 16:35 sell 20 0.10 1.1794 1.1844 1.1744 0.00 1995.53
40 2015.01.14 23:59 close at stop 20 0.10 1.1790 1.1844 1.1744 0.04 1995.57





Код:
//+------------------------------------------------------------------+
//|                                                      Begemot.mq4 |
//|                                                        Begemot32 |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Begemot32"
#property link      "http://www.mql5.com"
#property version   "1.00"
#property strict


extern double Lot; 
double OrPrice;         
double OrLots;         
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {



   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//---
   
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert start function                                             |
//+------------------------------------------------------------------+
int start()
{
  
  



 
  for(int i=0;i<OrdersTotal();i++)
   {
   if (OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY)) // Выбираем последний ордер из истории.
     {
      OrPrice=OrderProfit(); //узнаем профит закрытого ордера
      OrLots=OrderLots();  //узнаем объем(лот)закрытого ордера
     }
   }
if(OrPrice<0) {           //если профит меньше нуля (отрицательный показатель) то..
 Lot=OrLots*2;       // ...умножаем лот на 2
         
 
 

                 if(OrdersTotal() == 0 && Open[0]<Close[0] && Close[0]==High[0]) // если нет ордеров и восходящая свеча то..
                   {
                   OrderSend(Symbol(), OP_BUY, Lot, Ask, 3, Ask-50*Point, Ask+50*Point); // открываем ордер на БАЙ с удвоенным лотом
                   }
                 else

                 
                 
                 
                if(OrdersTotal() == 0 && Open[0]>Close[0] && Close[0]==Low[0]) // если нет ордеров и нисходящая свеча то..
                  {
                  OrderSend(Symbol(), OP_SELL, Lot, Bid, 3, Bid+50*Point, Bid-50*Point); // открываем ордер на СЕЛЛ с удвоенным лотом
                  }
                else
                Print("ORDER NE USTANOVLEN!!!");
 
 }
 else // если последний ордер закрылся с положительным результатом (цена больше или равна нулю)то..




                 //ОТКРЫТИЕ ОРДЕРА НА ПОКУПКУ
                 if(OrdersTotal() == 0 && Open[0]<Close[0] && Close[0]==High[0]) // если нет ордеров и восходящая свеча то..
                   {
                   OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, Ask-50*Point, Ask+50*Point); // открываем ордер на БАЙ
                   }
                 else
                 Print("BUY - ORDER NE USTANOVLEN!!!");
                                      




                //ОТКРЫТИЕ ОРДЕРА НА ПРОДАЖУ                      
                if(OrdersTotal() == 0 && Open[0]>Close[0] && Close[0]==Low[0]) // если нет ордеров и нисходящая свеча то..
                  {
                  OrderSend(Symbol(), OP_SELL, 0.1, Bid, 3, Bid+50*Point, Bid-50*Point); // открываем ордер на СЕЛЛ
                  }
                else
                Print("ORDER NE USTANOVLEN!!!");












  
  
   return(0);
}
[свернуть]

Последний раз редактировалось NSerega; 20.07.2015 в 12:05.
unikum22 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.07.2015, 09:19   #4082 (permalink)
Интересующийся
 
Аватар для Rattnik
 
Регистрация: 15.02.2010
Сообщений: 3
Репутация: 1
Rattnik
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 2
Всем здравствуйте.

Для тестировании стратегии на H1 необходимо получать данные о закрытии предыдущего дня.

В Индикаторе пишу следующее (соответственно предварительно объявив "CloseLine" в OnInit()) :


int OnCalculate(const int rates_total, const int prev_calculated,
const datetime &time[], const double &open[],
const double &high[], const double &low[],
const double &close[], const long &tick_volume[],
const long &volume[], const int &spread[])
{
Close_Day=iClose("EURUSD",PERIOD_D1,1);
ObjectSet("CloseLine",OBJPROP_PRICE1,Close_Day);

return(rates_total);
}

В результате цена с ТФ Day не изменяется, и линия не перестраивается.
Помогите пожалуйста.

Спасибо
Rattnik вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.07.2015, 22:25   #4083 (permalink)
Активный участник
 
Аватар для vladradon
 
Регистрация: 12.02.2015
Сообщений: 105
Репутация: 38
vladradon
Сказал(а) спасибо: 23
Поблагодарили 38 раз(а) в 26 сообщениях
Поинты: 170
Сообщение от Yurkov Посмотреть сообщение
Добрый день!
Подкиньте, пожалуйста, кусок кода для закрытия всех ордеров при общем убытке X пунктов или X% от депозита.
http://fxgeneral.com/forum/topic/779-советники-мартингейл-на-основе-перцептрона-tdi-с/
Посмотри, если не поленишься, мои разработки со старого форума - там есть тот код, который тебе нужен...
Если возникнут вопросы - чиркани и я постараюсь максимально быстро проанализировать и ответить.
vladradon на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 27.07.2015, 17:04   #4084 (permalink)
Интересующийся
 
Аватар для millioner8585
 
Регистрация: 03.06.2015
Сообщений: 5
Репутация: 1
millioner8585
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 4

По умолчанию Как выловить сигнал стрелку из индикатора для советника


Подскажите как вытащить появление стрелочки на предыдущем баре из индикатора во вложении. По ним хочу открывать и закрывать позиции при добавлении фильтров...
Буду ОЧЕНЬ благодарен за помощь. На форуме новенький, если нужно писать в другую ветку, извините....
#Forexsignal30_01.ex4
millioner8585 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 28.07.2015, 00:03   #4085 (permalink)
 
Аватар для mobidik
 
Регистрация: 09.08.2012
Адрес: Ua_Khm
Сообщений: 1,655
Репутация: 8584
mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik
Сказал(а) спасибо: 634
Поблагодарили 8,579 раз(а) в 1,569 сообщениях
Поинты: 804
Сообщение от millioner8585 Посмотреть сообщение
Подскажите как вытащить появление стрелочки на предыдущем баре из индикатора во вложении. По ним хочу открывать и закрывать позиции при добавлении фильтров...
Буду ОЧЕНЬ благодарен за помощь. На форуме новенький, если нужно писать в другую ветку, извините....
Вложение 213570
PHP код:
 double RedArr iCustom(Symbol(),0,"#Forexsignal30_01",RISK,CountBars,SoundON,EmailON,0,1);  //сигнал от красной стрелки
 
double GreenArr iCustom(Symbol(),0,"#Forexsignal30_01",RISK,CountBars,SoundON,EmailON,1,1);//сигнал от зеленой стрелки 
mobidik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
millioner8585 (28.07.2015)
Старый 28.07.2015, 06:24   #4086 (permalink)
Интересующийся
 
Аватар для millioner8585
 
Регистрация: 03.06.2015
Сообщений: 5
Репутация: 1
millioner8585
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 4
Спасибо огромное.
Для новичком напишу, что само появление стрелочки (например зеленой) прописывается так:
PHP код:
GreenArr!=&& GreenArr!=EMPTY_VALUE 
millioner8585 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 28.07.2015, 12:51   #4087 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от millioner8585 Посмотреть сообщение
Спасибо огромное.
Для новичком напишу, что само появление стрелочки (например зеленой) прописывается так:
PHP код:
GreenArr!=&& GreenArr!=EMPTY_VALUE 
Ну да, для новичков прописывается так, но только для новичков.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 28.07.2015, 13:34   #4088 (permalink)
Интересующийся
 
Аватар для millioner8585
 
Регистрация: 03.06.2015
Сообщений: 5
Репутация: 1
millioner8585
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 4
Сообщение от Ugar Посмотреть сообщение
Ну да, для новичков прописывается так, но только для новичков.
А не для новичков? Приведите пример. Будет полезно для развития. И в чем разница, объясните пож-та.
millioner8585 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 28.07.2015, 16:48   #4089 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от millioner8585 Посмотреть сообщение
А не для новичков? Приведите пример. Будет полезно для развития. И в чем разница, объясните пож-та.
не новички, при сравнении содержимого double переменных, используют < и >, а не != и ==.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 28.07.2015, 19:08   #4090 (permalink)
Местный знаток
 
Аватар для vlad_123
 
Регистрация: 29.01.2013
Сообщений: 343
Репутация: 837
vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 -
Сказал(а) спасибо: 30
Поблагодарили 833 раз(а) в 333 сообщениях
Поинты: 402
Сообщение от Ugar Посмотреть сообщение
не новички, при сравнении содержимого double переменных, используют < и >, а не != и ==.

А совсем умудренные корифеи заморачиваются функциями типа CompareDoubles из _https://www.mql5.com/ru/articles/1561

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мониторинг советников: http://www.myfxbook.com/members/vlad_123/

На заказ не программирую.
vlad_123 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 28.07.2015, 21:37   #4091 (permalink)
Интересующийся
 
Аватар для millioner8585
 
Регистрация: 03.06.2015
Сообщений: 5
Репутация: 1
millioner8585
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 4
Подскажите пож-та.
пишу советник для полуавтоматической торговли...
НА демке нет пока возможности проверить.
Будет ли этот советник закрывать сделки при появлении стрелки.
При компиляции ошибка "event handling function not found", но как я понял это ошибка означает что нет открытия позиции, но я планирую ручками открывать, и автоматом (советником) закрывать.
Заранее Спасибо!
PHP код:
//--- Inputs
extern double RISK =  5;
extern double CountBars =  500;
extern double SoundON =  0;
extern double EmailON =  0;

//+------------------------------------------------------------------+
//| Calculate open positions                                         |
//+------------------------------------------------------------------+
int CalculateCurrentOrders(string symbol)
  {
   
int buys=0,sells=0;
//---
   
for(int i=0;i<OrdersTotal();i++)
     {
      if(
OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(
OrderSymbol()==Symbol())
        {
         if(
OrderType()==OP_BUY)  buys++;
         if(
OrderType()==OP_SELLsells++;
        }
     }
//--- return orders volume
   
if(buys>0) return(buys);
   else       return(-
sells);
  }
//+------------------------------------------------------------------+
//| Check for close order conditions                                 |
//+------------------------------------------------------------------+
void CheckForClose()
  {
double RedArr;  //сигнал от красной стрелки 
double GreenArr//сигнал от зеленой стрелки 
//--- go trading only for first tiks of new bar
   
if(Volume[0]>1) return;
//--- Берем стрелки 
RedArr iCustom(Symbol(),0,"#Forexsignal30_01",RISK,CountBars,SoundON,EmailON,0,1);
GreenArr iCustom(Symbol(),0,"#Forexsignal30_01",RISK,CountBars,SoundON,EmailON,1,1);
//---
   
for(int i=0;i<OrdersTotal();i++)
     {
      if(
OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      
      
//--- check order type 
      
if(OrderType()==OP_BUY)
        {
         if(
RedArr!=&& RedArr!=EMPTY_VALUE)
           {
            if(!
OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
               Print(
"OrderClose error ",GetLastError());
           }
         break;
        }
      if(
OrderType()==OP_SELL)
        {
         if(
GreenArr!=&& GreenArr!=EMPTY_VALUE)
           {
            if(!
OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
               Print(
"OrderClose error ",GetLastError());
           }
         break;
        }
     }
//---
  

millioner8585 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 29.07.2015, 06:45   #4092 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от millioner8585 Посмотреть сообщение
Подскажите пож-та.
пишу советник для полуавтоматической торговли...
НА демке нет пока возможности проверить.
Будет ли этот советник закрывать сделки при появлении стрелки.
При компиляции ошибка "event handling function not found", но как я понял это ошибка означает что нет открытия позиции, но я планирую ручками открывать, и автоматом (советником) закрывать.
Заранее Спасибо!
Не будет вообще работать. Где функция OnTick() или OnTimer()?
Накидал пользовательских функций, а вызывать то кто их будет?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 29.07.2015, 20:53   #4093 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
Чё себе приключения придумывать?!!!
Цитата:
..."event handling function not found", но как я понял это ошибка означает что нет открытия позиции, ...
а на самом деле:
Цитата:
....Добавлена ошибка компиляции "event handling function not found" при отсутствии в программе точек входа (OnStart, OnTick и т.д.)....
Не правильное понимание - неправильный результат.
Надо бы со структурой программ в MQL познакомиться.

Последний раз редактировалось _SERG_; 29.07.2015 в 20:57.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.07.2015, 18:01   #4094 (permalink)
 
Аватар для ksardas
 
Регистрация: 20.10.2013
Адрес: Лас-Пальмас-де-Гран-Канария
Сообщений: 701
Репутация: 2595
ksardas ksardas ksardas ksardas ksardas ksardas ksardas ksardas ksardas ksardas ksardas
Сказал(а) спасибо: 680
Поблагодарили 2,598 раз(а) в 582 сообщениях
Поинты: 475
Случайно попался не доработанный индюк, считает бычьи и медвежьи свечи
но не обновляется, что нужно поправить???

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

PHP код:
//+------------------------------------------------------------------+
//|                                                Copyright © 2010  |
//|                                                  indikator MA.mq4|
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009. All rights reserved."
#property link "1yuriy1@gmail.com"

#property indicator_separate_window

#property indicator_buffers 5
#property indicator_color1 Orange 


extern int bar 1000;// количество кирпичей РЕНКО для отображения линии
extern int Sum 34// суммируемое количество последних баров, от 1 до Sum=34 

double line[];

int i,limit,sum
//========================================================
int init() {
   
IndicatorBuffers(1);

   
SetIndexStyle(0DRAW_LINESTYLE_SOLID2);
   
SetIndexBuffer(0line);

   
IndicatorDigits(Digits); 
   
IndicatorShortName("indikator MA");

return(
0);
}

int deinit()
{

return(
0);
}

//====================================================================
int start() {   
      
limit bar IndicatorCounted(); 
      
limit;

//РИСУЕМ ГРАФИК
//--------------------------------------------------------------------
   
while(i>=0)
{  
sum=0;
   for(
int t Sum0t--){
if(
Open[i+t-1]-Close[i+t-1]>0)sum=sum-1; else sum=sum+1;
}

       
line[i] = sum;
        
i--;
}
//--------------------------------------------------------------------
   
return(0);
}
//+------------------------------------------------------------------+ 
[свернуть]

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Ты не старайся, и у тебя всё получится.
ksardas вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 30.07.2015, 21:33   #4095 (permalink)
 
Аватар для mobidik
 
Регистрация: 09.08.2012
Адрес: Ua_Khm
Сообщений: 1,655
Репутация: 8584
mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik
Сказал(а) спасибо: 634
Поблагодарили 8,579 раз(а) в 1,569 сообщениях
Поинты: 804
Сообщение от ksardas Посмотреть сообщение
Случайно попался не доработанный индюк, считает бычьи и медвежьи свечи
но не обновляется, что нужно поправить???

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

PHP код:
//+------------------------------------------------------------------+
//|                                                Copyright © 2010  |
//|                                                  indikator MA.mq4|
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009. All rights reserved."
#property link "1yuriy1@gmail.com"

#property indicator_separate_window

#property indicator_buffers 5
#property indicator_color1 Orange 


extern int bar 1000;// количество кирпичей РЕНКО для отображения линии
extern int Sum 34// суммируемое количество последних баров, от 1 до Sum=34 

double line[];

int i,limit,sum
//========================================================
int init() {
   
IndicatorBuffers(1);

   
SetIndexStyle(0DRAW_LINESTYLE_SOLID2);
   
SetIndexBuffer(0line);

   
IndicatorDigits(Digits); 
   
IndicatorShortName("indikator MA");

return(
0);
}

int deinit()
{

return(
0);
}

//====================================================================
int start() {   
      
limit bar IndicatorCounted(); 
      
limit;

//РИСУЕМ ГРАФИК
//--------------------------------------------------------------------
   
while(i>=0)
{  
sum=0;
   for(
int t Sum0t--){
if(
Open[i+t-1]-Close[i+t-1]>0)sum=sum-1; else sum=sum+1;
}

       
line[i] = sum;
        
i--;
}
//--------------------------------------------------------------------
   
return(0);
}
//+------------------------------------------------------------------+ 
[свернуть]
Если нужна вся история, сделай так: в строке
PHP код:
 limit bar IndicatorCounted(); 
замени bar на Bars, если нужно ограничение по истории, замени на:
PHP код:
 limit MathMin(Bars IndicatorCounted(),bar); 
mobidik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
ksardas (31.07.2015)
Старый 31.07.2015, 06:28   #4096 (permalink)
 
Аватар для ksardas
 
Регистрация: 20.10.2013
Адрес: Лас-Пальмас-де-Гран-Канария
Сообщений: 701
Репутация: 2595
ksardas ksardas ksardas ksardas ksardas ksardas ksardas ksardas ksardas ksardas ksardas
Сказал(а) спасибо: 680
Поблагодарили 2,598 раз(а) в 582 сообщениях
Поинты: 475
Сообщение от mobidik Посмотреть сообщение
Если нужна вся история, сделай так: в строке
PHP код:
 limit bar IndicatorCounted(); 
замени bar на Bars, если нужно ограничение по истории, замени на:
PHP код:
 limit MathMin(Bars IndicatorCounted(),bar); 
Работает
Спасибо дружище))

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Ты не старайся, и у тебя всё получится.
ksardas вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
mobidik (31.07.2015)
Старый 31.07.2015, 18:35   #4097 (permalink)
Интересующийся
 
Аватар для millioner8585
 
Регистрация: 03.06.2015
Сообщений: 5
Репутация: 1
millioner8585
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 4
Скажите как прописать:
За последние 10 баров одно из значений 0-го буфера стохастика было больше 80.
Спасибо.
millioner8585 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 01.08.2015, 11:31   #4098 (permalink)
Активный участник
 
Аватар для Saigon
 
Регистрация: 16.07.2015
Сообщений: 207
Репутация: 60
Saigon
Сказал(а) спасибо: 0
Поблагодарили 59 раз(а) в 32 сообщениях
Поинты: 124
ПОМОГИТЕ ПОЖАЛУЙСТА НАПИСАТЬ ВОТ ТАКОЙ ИНДИКАТОР ИСОИ (Импульс Силы Открытого Интереса):

Что бы высчитать ИСОИ – можно использовать любое кол-во баров но не меньше 3х….
Коэффициент ИСОИ со знаком «-« - интерес в шорт
Коэффициент ИСОИ со знаком «+« - интерес в лонг
ИСОИ
от 0 до +\- 0.5 слабый импульс
от +\- 0.5 до +\- 1.0 сильный импульс
Возьмем к примеру 5 баров.
Теперь суммируем объем (V) – 21597
Суммируем время (Т) -23089 или 6.41 часа
Суммируем Дельту со знаком (D) - +639
Суммируем цену в пунктах (минимальная и максимальная цена за 5 баров) (Р) – 25 пунктов.
1. Вычисляем коэффициент диапазона
Т \ Р = K
6.41 \ 25 = 0.23
2. Вычисляем соотношение Дельты
D x 100% \ V = G
+639 х 100% \ 21597 = 2.96%
2. Вычисляем ИСОИ
K x G = ИСОИ
0.23 х 2.96 = 0.68
Или 68% - импульс Открытого Интереса – сильный…
Saigon вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 01.08.2015, 18:11   #4099 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от F.Zhukov Посмотреть сообщение
ПОМОГИТЕ ПОЖАЛУЙСТА НАПИСАТЬ ВОТ ТАКОЙ ИНДИКАТОР ИСОИ (Импульс Силы Открытого Интереса):

Что бы высчитать ИСОИ – можно использовать любое кол-во баров но не меньше 3х….
Коэффициент ИСОИ со знаком «-« - интерес в шорт
Коэффициент ИСОИ со знаком «+« - интерес в лонг
ИСОИ
от 0 до +\- 0.5 слабый импульс
от +\- 0.5 до +\- 1.0 сильный импульс
Возьмем к примеру 5 баров.
Теперь суммируем объем (V) – 21597
Суммируем время (Т) -23089 или 6.41 часа
Суммируем Дельту со знаком (D) - +639
Суммируем цену в пунктах (минимальная и максимальная цена за 5 баров) (Р) – 25 пунктов.
1. Вычисляем коэффициент диапазона
Т \ Р = K
6.41 \ 25 = 0.23
2. Вычисляем соотношение Дельты
D x 100% \ V = G
+639 х 100% \ 21597 = 2.96%
2. Вычисляем ИСОИ
K x G = ИСОИ
0.23 х 2.96 = 0.68
Или 68% - импульс Открытого Интереса – сильный…
А как у тебя получилось за 5 баров больше шести часов?
Если Н1 то не больше пяти часов, а если Н4 то гораздо больше...
А в общем-то эффективность метода надо проверять. Но у меня сейчас нет времени этим заниматься.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 03.08.2015, 16:31   #4100 (permalink)
Почётный гражданин
 
Аватар для Viko2000
 
Регистрация: 22.02.2012
Сообщений: 431
Репутация: 442
Viko2000 - Viko2000 - Viko2000 - Viko2000 - Viko2000 -
Сказал(а) спасибо: 1,351
Поблагодарили 441 раз(а) в 170 сообщениях
Поинты: 430
Коллеги перезагрузка.) Вопрос к профи.

Есть идея с изменением процента закрытия дальнего с изменением просадки по Эквити.
А именно условие. Внешние переменные и условие. Сообразил так.

PHP код:
extern double CloseProfitprc  1;     //закрывать по суммарному проц

extern double PercentLossCloseProfitprc1 1;
extern double PercentLossCloseProfitprc2 5;
extern double PercentLossCloseProfitprc3 10;
extern double PercentLossCloseProfitprc4 20;
   
int start3()

  if (
AccountEquity()<=AccountBalance()*(1-PercentLossCloseProfitprc1  /100)) {CloseProfitprc=1;}
    else 
  if (
AccountEquity()<=AccountBalance()*(1-PercentLossCloseProfitprc2  /100)) {CloseProfitprc=0.5;}
    else
  if (
AccountEquity()<=AccountBalance()*(1-PercentLossCloseProfitprc3  /100)) {CloseProfitprc=0.1;}
    else
  if (
AccountEquity()<=AccountBalance()*(1-PercentLossCloseProfitprc4  /100)) {CloseProfitprc=0.01;}     
//////////////////////////////////////

   
return(0);
  } 
Работать будет.? Что я пока не врубаюсь. Может без else?
Viko2000 вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

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

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



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


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