Ответить
24.06.2013, 08:52
Аватар для conceptor
conceptor conceptor вне форума Активный участник
Регистрация: 09.10.2010 / Сообщений: 120
Поблагодарили 77 раз(а) / Репутация: 78
Подскажите, как наложить мувинг на MACD
С навигатора перетягиваешь на открытый макди, выбираешь First Indikators data.

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

[свернуть]

Последний раз редактировалось NSerega; 24.06.2013 в 10:27.
24.06.2013, 08:55
Аватар для Torn_ado
Torn_ado Torn_ado вне форума Новичок форума
Регистрация: 10.07.2012 / Сообщений: 23
Поблагодарили 10 раз(а) / Репутация: 11
conceptor, спасибо за помощь
24.06.2013, 10:39
Аватар для asers1111
asers1111 asers1111 вне форума Активный участник
Регистрация: 22.12.2011 / Сообщений: 176
Поблагодарили 44 раз(а) / Репутация: 45
Добрый день.Я пытаюсь изучать програмирование - пока еще недалеко ушел.Подскажите пожалуйста,как можно в коде записать мое условие на открытие ордера.Я его приложил в файле.У меня упорно не работает цикл for.Сделка открывается только если одновременно линии пересекаются,а если линия подтверждающего индикатора пересекает свой уровень позже,то цикл не работает.Что-то пока не понимаю,наверное....Немогли бы вы записать мое условие кодом(если вас не затруднит) - это был бы настольный учебник для меня.
24.06.2013, 14:25
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
Как отредактировать индикатор без mql4 source file?
Декомпилировать, т.е. восстановить исходный текст их ex4 файла. Граничит с пиратством, но на этой площадке считается приемлимым.
24.06.2013, 14:27
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
У меня возникла проблема, после недавнего обновления мт4 с добавлением торговли в один клик, у меня перестали обнаруживаться некоторые индикаторы расширением mq4. До обновления все работало нормально... Что можно сделать?
Есть предположение, что эти mq4 - декомпилы. С некоторых пор терминал отказывается с ними работать.
24.06.2013, 14:41
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
Добрый день.Я пытаюсь изучать програмирование - пока еще недалеко ушел.Подскажите пожалуйста,как можно в коде записать мое условие на открытие ордера.Я его приложил в файле.У меня упорно не работает цикл for.Сделка открывается только если одновременно линии пересекаются,а если линия подтверждающего индикатора пересекает свой уровень позже,то цикл не работает.Что-то пока не понимаю,наверное....Немогли бы вы записать мое условие кодом(если вас не затруднит) - это был бы настольный учебник для меня.
Пересечение стохастиков надо на каждом из 8 баров проверять, т.е. вычислять их внутри for цикла.
Знаки < > поставить как надо.
Убрать кривой лишний &&OrderClose().
24.06.2013, 14:52
Аватар для asers1111
asers1111 asers1111 вне форума Активный участник
Регистрация: 22.12.2011 / Сообщений: 176
Поблагодарили 44 раз(а) / Репутация: 45
Пересечение стохастиков надо на каждом из 8 баров проверять, т.е. вычислять их внутри for цикла.
Знаки < > поставить как надо.
Убрать кривой лишний &&OrderClose().
Спасибо за ответ.Получается,что цикл здесь вообще не нужен?Это придется такую писанину огромную делать - для восьми баров?
24.06.2013, 15:02
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
Спасибо за ответ.Получается,что цикл здесь вообще не нужен?Это придется такую писанину огромную делать - для восьми баров?
Цикл нужен, надо внутрь него вычисление стохастиков занести. Как-то так.
Код:
   if(RSI>50 && RSI1<50 && CountBuy()==0)
        {
        for(bar=1;bar<8;bar++)
        {
          double STOCHASTIK = iStochastic(NULL,0,28,10,10,MODE_EMA,1,0,bar);
          double STOCHASTIK1 = iStochastic(NULL,0,28,10,10,MODE_EMA,1,0,bar+1);

        if(STOCHASTIK>20 && STOCHASTIK1<20 && CountBuy()==0)
        {
        ticket= OrderSend(Symbol(),OP_BUY,Lots,Ask,5,0,0,comment,Magic,0,Green);
        break;
        }
        }
        }

Последний раз редактировалось qqmber; 24.06.2013 в 15:06. Причина: }
24.06.2013, 15:59
Аватар для asers1111
asers1111 asers1111 вне форума Активный участник
Регистрация: 22.12.2011 / Сообщений: 176
Поблагодарили 44 раз(а) / Репутация: 45
Цикл нужен, надо внутрь него вычисление стохастиков занести. Как-то так.
Код:
   if(RSI>50 && RSI1<50 && CountBuy()==0)
        {
        for(bar=1;bar<8;bar++)
        {
          double STOCHASTIK = iStochastic(NULL,0,28,10,10,MODE_EMA,1,0,bar);
          double STOCHASTIK1 = iStochastic(NULL,0,28,10,10,MODE_EMA,1,0,bar+1);

        if(STOCHASTIK>20 && STOCHASTIK1<20 && CountBuy()==0)
        {
        ticket= OrderSend(Symbol(),OP_BUY,Lots,Ask,5,0,0,comment,Magic,0,Green);
        break;
        }
        }
        }
Простите пожалуйста,но тут у меня сразу вопрос возник : А как с компиллятором договориться? Ведь он пишет variable already defined ,указывая на double STOCHASTIK и double STOCHASTIK1.
24.06.2013, 16:15
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
Простите пожалуйста,но тут у меня сразу вопрос возник : А как с компиллятором договориться? Ведь он пишет variable already defined ,указывая на double STOCHASTIK и double STOCHASTIK1.
Ну так убрать эти строчки выше if(). Они по идее только внутри цикла должны быть.
24.06.2013, 16:52
Аватар для asers1111
asers1111 asers1111 вне форума Активный участник
Регистрация: 22.12.2011 / Сообщений: 176
Поблагодарили 44 раз(а) / Репутация: 45
Ну так убрать эти строчки выше if(). Они по идее только внутри цикла должны быть.
double STOCHASTIK = iStochastic(NULL,0,28,10,10,MODE_EMA,1,0,bar) ;
double STOCHASTIK1 = iStochastic(NULL,0,28,10,10,MODE_EMA,1,0,bar+1);


if(RSI>50 && RSI1<50 && CountBuy()==0)
{
for(bar=1;bar<8;bar++)
{

if(STOCHASTIK>20 && STOCHASTIK1<20 && CountBuy()==0)
{
ticket= OrderSend(Symbol(),OP_BUY,Lots,Ask,5,0,0,comment,M agic,0,Green);
break;
}
}
}

if(RSI<50 && RSI1>50 && CountSell()==0)
{
for(bar=1;bar<8;bar++)
{

if(STOCHASTIK<80 && STOCHASTIK1>80 && CountSell()==0)
{
ticket= OrderSend(Symbol(),OP_SELL,Lots,Bid,5,0,0,comment, Magic,0,Red);
break;
}
}
}

Так получается практически тоже,что я в файле прикреплял.И отказывается работать почему-то.....Я попробовал побарно расписать весь этот цикл из 8-ми баров и тут результат есть! Сделки открываются правильно......Только вот писанины - очень много... Что же поделать тут?
24.06.2013, 17:19
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
Так, я наверное слишком краток.
Эти две строчки надо передвинуть с того места, где они были, внутрь цикла.
Код:
int start()
  {
     int ticket;
     int bar =1;
     
  
  double RSI = iRSI(NULL,0,21,PRICE_LOW,bar);
  double RSI1 = iRSI(NULL,0,21,PRICE_LOW,bar+1);
  
  
   if(RSI>50 && RSI1<50 && CountBuy()==0)
        {
        for(bar=1;bar<8;bar++)
	{
  	double STOCHASTIK = iStochastic(NULL,0,28,10,10,MODE_EMA,1,0,bar);
  	double STOCHASTIK1 = iStochastic(NULL,0,28,10,10,MODE_EMA,1,0,bar+1);
        
        if(STOCHASTIK>20 && STOCHASTIK1<20 && CountBuy()==0)
        {
        ticket= OrderSend(Symbol(),OP_BUY,Lots,Ask,5,0,0,comment,Magic,0,Green);
	break;
	}
        }
	}
   return(0);
 }
25.06.2013, 00:00
Аватар для zipinter
zipinter zipinter вне форума Protester
Регистрация: 19.04.2009 / Адрес: Toronto / Сообщений: 324
Поблагодарили 516 раз(а) / Репутация: 519
Всем привет!
Кто знает, как эдитор определяет, что код декомпилирован? У меня есть мои проекты, но он их тоже бракует и обзывает декомпилами.
Может введены какие-то изменения и нужно просто их переписать вручную?

Всем профитов!
No Pain - No Gain
25.06.2013, 02:11
Аватар для zipinter
zipinter zipinter вне форума Protester
Регистрация: 19.04.2009 / Адрес: Toronto / Сообщений: 324
Поблагодарили 516 раз(а) / Репутация: 519
Вообщем, потратил час на обнаружение причины, может кому пригодится:

Начал копировать код частями в советник, вновь созданный в билде 507.
При добавлении очередной функции, компилятор начал ругаться известой фразой "using of decompiled source code is prohibited".
В конечном итоге, победил эту хрень тем, что переименовал переменные в операторе "for", после этого пока компилируется.
Буду продолжать загонять код таким образом, если вылезут еще какие-то подводные камни, то отпишусь.

Всем профитов!
No Pain - No Gain
26.06.2013, 08:55
Аватар для smartmans
smartmans smartmans вне форума Активный участник
Регистрация: 07.09.2012 / Адрес: Москва / Сообщений: 119
Поблагодарили 82 раз(а) / Репутация: 83
Парни, где поправить код, чтобы не дергался на каждом тике. Можно, к примеру на открытии нового бара

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

PHP код:
int start()
 {
   
int ilimitcounted_bars=IndicatorCounted();

   if(
counted_bars<0) return(-1);
   if(
counted_bars>0counted_bars--;
   
limit=Bars-counted_bars;
   if (
limit>Count_bars && Count_bars>0limit=Count_bars;

   for(
i=limit;i>=0;i--)

  {
   if (
Time[i] != oldTime)
     {
       
oldTime Time[i];
       
Fr[i+1]   = EMPTY_VALUE;   

.......

if (
n_h <= n_h && n_d <= n_d && n_w >= n_w && n_L >= n_L )
        if (
Alert_ON && == 1Alert("Алерт");
        if (
Sound_ON && == 1PlaySound(Sound_Fr); 
[свернуть]

Последний раз редактировалось smartmans; 26.06.2013 в 09:10.
02.07.2013, 13:04
Аватар для asers1111
asers1111 asers1111 вне форума Активный участник
Регистрация: 22.12.2011 / Сообщений: 176
Поблагодарили 44 раз(а) / Репутация: 45
Помогите советом,пожалуйста.
Добрый день всем.Пытаюсь изучать MQL4 и пытаюсь писать советник на пользовательских индикаторах.Но при обращении к некоторым индикаторам ,почему-то в тестере замедляется работа,а при нажатии "Стоп",получается серо-белесый экран,на котором ничего не отрисовывается.Попробовал так индикаторы : RSIOMA ,
pa wprsmooth_histo_ma , MA_RSI_BB......Подскажите,пожалуй ста что нужно СДЕЛАТЬ или НЕ ДЕЛАТЬ, чтобы можно было использовать такие индикаторы.Заранее благодарен за ответ.

extern string PA_WPR ="Настройки индикатора pa wprsmooth_w_histo_ma";
extern double filter = 1.0;
extern double cycles = 5.0;
extern double mafilter = 1.0;
extern double macycles = 1.0;
extern int SmoothLength = 5;
extern double SmoothPhase = 0;
extern bool ShowHistogram = false;
extern bool ShowUpDownLimit = true;
extern double lowerlevel = -40.0;
extern double upperlevel = 40;
extern bool arrowsVisible = false;
extern bool arrowsOnZeroCross = true;
extern double arrowsDistance = 1.0;
extern string arrowsIdentifier = "wprSmoothArrows";
extern color arrowsUpColor = DeepSkyBlue;
extern color arrowsDnColor = PaleVioletRed;

int ticket2;
//+------------------------------------------------------------------+
int start()
{
int ticket;

int bar =1;

double PAperuUP = iCustom(Symbol(),0,"pa wprsmooth_w_histo_ma",filter,cycles,mafilter,macyc les,
SmoothLength,SmoothPhase,lowerlevel,upperlevel,arr owsDistance,0,bar);
double PAperuDN = iCustom(Symbol(),0,"pa wprsmooth_w_histo_ma",filter,cycles,mafilter,macyc les,
SmoothLength,SmoothPhase,lowerlevel,upperlevel,arr owsDistance,1,bar);
double PAViolet = iCustom(Symbol(),0,"pa wprsmooth_w_histo_ma",filter,cycles,mafilter,macyc les,
SmoothLength,SmoothPhase,lowerlevel,upperlevel,arr owsDistance,4,bar);
02.07.2013, 13:15
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,624
Поблагодарили 3,758 раз(а) / Репутация: 3750
Помогите советом,пожалуйста.
Добрый день всем.Пытаюсь изучать MQL4 и пытаюсь писать советник на пользовательских индикаторах.Но при обращении к некоторым индикаторам ,почему-то в тестере замедляется работа,а при нажатии "Стоп",получается серо-белесый экран,на котором ничего не отрисовывается.Попробовал так индикаторы : RSIOMA ,
pa wprsmooth_histo_ma , MA_RSI_BB......Подскажите,пожалуй ста что нужно СДЕЛАТЬ или НЕ ДЕЛАТЬ, чтобы можно было использовать такие индикаторы.Заранее благодарен за ответ.

extern string PA_WPR ="Настройки индикатора pa wprsmooth_w_histo_ma";
extern double filter = 1.0;
extern double cycles = 5.0;
extern double mafilter = 1.0;
extern double macycles = 1.0;
extern int SmoothLength = 5;
extern double SmoothPhase = 0;
extern bool ShowHistogram = false;
extern bool ShowUpDownLimit = true;
extern double lowerlevel = -40.0;
extern double upperlevel = 40;
extern bool arrowsVisible = false;
extern bool arrowsOnZeroCross = true;
extern double arrowsDistance = 1.0;
extern string arrowsIdentifier = "wprSmoothArrows";
extern color arrowsUpColor = DeepSkyBlue;
extern color arrowsDnColor = PaleVioletRed;

int ticket2;
//+------------------------------------------------------------------+
int start()
{
int ticket;

int bar =1;

double PAperuUP = iCustom(Symbol(),0,"pa wprsmooth_w_histo_ma",filter,cycles,mafilter,macyc les,
SmoothLength,SmoothPhase,lowerlevel,upperlevel,arr owsDistance,0,bar);
double PAperuDN = iCustom(Symbol(),0,"pa wprsmooth_w_histo_ma",filter,cycles,mafilter,macyc les,
SmoothLength,SmoothPhase,lowerlevel,upperlevel,arr owsDistance,1,bar);
double PAViolet = iCustom(Symbol(),0,"pa wprsmooth_w_histo_ma",filter,cycles,mafilter,macyc les,
SmoothLength,SmoothPhase,lowerlevel,upperlevel,arr owsDistance,4,bar);
А ты посчитай сколько параметров входит в индикатор и сколько вписано в iCustom() у тебя. И посмотри что пишет в журнале.
02.07.2013, 13:22
Аватар для asers1111
asers1111 asers1111 вне форума Активный участник
Регистрация: 22.12.2011 / Сообщений: 176
Поблагодарили 44 раз(а) / Репутация: 45
Спасибо,что так быстро ответили....А тогда вопрос сразу : Я не включил строковый параметр и цветовые.Их тоже надо вносить?А со строковым как быть?
02.07.2013, 13:29
Аватар для asers1111
asers1111 asers1111 вне форума Активный участник
Регистрация: 22.12.2011 / Сообщений: 176
Поблагодарили 44 раз(а) / Репутация: 45
Пишет,что pa wprsmooth_histo_ma loaded sacsessfully.........
А как еще с bool параметрами быть?
02.07.2013, 13:52
Аватар для asers1111
asers1111 asers1111 вне форума Активный участник
Регистрация: 22.12.2011 / Сообщений: 176
Поблагодарили 44 раз(а) / Репутация: 45
А ты посчитай сколько параметров входит в индикатор и сколько вписано в iCustom() у тебя. И посмотри что пишет в журнале.
Большое спасибо за отзывчивость.Вписал все как есть в списке и заработало!Спасибо!
Ответить

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


Опции темы

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

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



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


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