[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 384

 
aero >>:

1. почему нe знаю, но можно попробовать перед импортом удалить все содержимое папки history

Да, я удалял всю историю.

 

Помогите подправить индикатор. Нужно чтобы в окошке редактирования объектов индикатора можно было менять свойства стрелок и креста.


Файлы:
 

Добрый день, друзья.


Подскажите, пожалуйста, как правильно пользоваться функцией iCustom?


Например, есть индикатор

"Williams' Accumulation/Distribution, W A/D - Накопление/распределение Ларри Вильямса" (https://www.mql5.com/ru/code/7064)


и я хочу обратиться к этому индикатору из другого индикатора с помощью функции iCustom:

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red

extern string Symbol1="USDJPY";
extern int SignalMA_Period=5;
extern int SignalMA_Method=0;

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
string short_name="ind";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
SetIndexLabel(1,"Signal");
SetIndexDrawBegin(1,SignalMA_Period);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
double ad1, ad2;
//----
if(counted_bars<0) return(-1);
//----
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
//----
for(int i=0; i<limit; i++)
{

ad1=iCustom(Symbol1,0,"WAD",1,i);

ExtMapBuffer1[i]=ad1;
}
//----
for(i=0; i<limit; i++)
ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1,Bars,SignalMA_Period,0,SignalMA_Method,i);
//----
return(0);
}
//+------------------------------------------------------------------+


индикатор Вильямса у меня в системе назван WAD.

Но, к сожалению, выводится пустое окно с индикатором (т.е. индикатора в окне нет... он не строится)


Как это исправить, подскажите, если будет возможность.

Заранее большое спасибо.

 
Morzh09 писал(а) >>

Добрый день, друзья.

Подскажите, пожалуйста, как правильно пользоваться функцией iCustom?

Например, есть индикатор

"Williams' Accumulation/Distribution, W A/D - Накопление/распределение Ларри Вильямса" (https://www.mql5.com/ru/code/7064)


и я хочу обратиться к этому индикатору из другого индикатора с помощью функции iCustom:


ad1=iCustom(Symbol1,0,"WAD",1,i);


индикатор Вильямса у меня в системе назван WAD.

Но, к сожалению, выводится пустое окно с индикатором (т.е. индикатора в окне нет... он не строится)

Как это исправить, подскажите, если будет возможность.

Заранее большое спасибо.

Видимо к не тому буферу обращаешься. Возможно нужен 0. Да и параметры индикатора нужны видимо

 

Да. Нужно обращаться по другому

ad1=iCustom(Symbol1,0,"WAD",0,i); 
 

сталкнулся с такой особенностью:

открываем метаэдитор,

меняем в исходнике значения внешних переменных,

компилируем,

открываем терминал - на графике уже висит этот-же советник, но запускается он со старыми значениями внешних переменных!

если откомпилировать при запущенном советнике - значения обновятся.

проблему можно решить через #define и переназначение в инициализации, но это как-то коряво...

видимо терминал хранит где-то старые значения внешних переменных советника, но я не нашол.

шо сие означает и как с этим бороться?

 
beruk >>:

сталкнулся с такой особенностью:

открываем метаэдитор,

меняем в исходнике значения внешних переменных,

компилируем,

открываем терминал - на графике уже висит этот-же советник, но запускается он со старыми значениями внешних переменных!

если откомпилировать при запущенном советнике - значения обновятся.

проблему можно решить через #define и переназначение в инициализации, но это как-то коряво...

видимо терминал хранит где-то старые значения внешних переменных советника, но я не нашол.

шо сие означает и как с этим бороться?


значения хранятся в файле графика с раснирением chr  в папке profiles/(выбранный профиль)
 
xeon писал(а) >>

значения хранятся в файле графика с раснирением chr в папке profiles/(выбранный профиль)

точно!

но, я так понял, сделать с этим ничего нельзя, и, при необходимости, переназначать через #define - это самое лучьшее?

 

Друзья, подскажите пожалуйста по такому вопросу:


Хочу использовать для анализа торговли котировки американских и европейских бондов, но мой брокер их не предоставляет...


В такой ситуации, насколько я понимаю, возможны два пути:


1. Сменить брокера

2. Импорт в платформу Метатрейдер котировок с внешнего источника.


В этой связи 2 вопроса:


I. Откуда можно загрузить котировки:


1) US 10 Yr T-Note

2) Euro Bund


и как их потом импортировать в платформу Метатрейдера?


II. Какой брокер предоставляет торговлю этими инструментами?

(чтобы информация не воспринималась, как реклама, по второму вопросу напишите, пожалуйста, в личку)


Заранее большое спасибо.
 

что тут не так?

Короче этот советник я прикрепляю к часовому графику, и если цена в начале часа выше чем cn1 а текущая не привышает её на 8 пунктов то ордер должен открыться (также если цена ниже текущего уровня) А он у меня почему-то сразу открывает позицию. Почему?

  int i=0;
   double a,b;
   while (i==0)
   {
     a=MarketInfo("USDCAD", MODE_ASK);
     b=MarketInfo("USDCAD", MODE_BID); 
     if((Open[0]<cn1)&&((a-cn1)<0.0008))
      {
       OrderSend("USDCAD",OP_BUY,1,a,1,SL,cn2);
       i=1;
       }
     if((Open[0]>cn11)&&((cn11-b)<0.0008))
      {
       OrderSend("USDCAD",OP_SELL,1,b,1,SL1,cn21);
       i=1;
      }  
   }
Причина обращения: