Помощь в кодировании - страница 652

 
stevenpun:

Спасибо, Младен,

Я думаю, что я ослеп, я никогда не видел буфер 6. Теперь все работает отлично :)

Я просто сделал быстрый тест в ea tester, после тестирования я проверил "список индикаторов".

Там есть загрузка много раз индикатора, это нормально?


stevenpun

Нет, это не нормально

Проверьте типы параметров, используемых в вызове iCustom() (эта ошибка обычно возникает, когда тип параметра, используемого в вызове iCustom(), не совпадает с типом параметра в списке параметров индикатора).

 
mladen:

Нет, это не нормально

Проверьте типы параметров, используемых в вызове iCustom() (эта ошибка обычно возникает, когда тип параметра, используемого в вызове iCustom(), не совпадает с типом параметра в списке параметров индикатора).

Все еще не могу решить эту проблему, я пытаюсь скопировать весь параметр из индикатора, но он все равно остается тем же самым.

Г-н mladen, не могли бы вы помочь мне удалить все алерты и таймфрейм из индикатора?

Чтобы сделать его "простым" только для использования в ea.

 
stevenpun:

Все еще не могу решить эту проблему, я пытаюсь скопировать весь параметр из индикатора, но он все равно остается тем же.

Г-н mladen, не могли бы вы помочь мне удалить все оповещения и временные рамки из индикатора?

Чтобы сделать его "простым" только для использования в ea.

Я использовал этот код :

//------------------------------------------------------------------
//
//------------------------------------------------------------------
#property indicator_chart_window
#property indicator_buffers 0
extern int     UpBandPrice          =     0;    // Upper Band Price(ex.2 for High)     
extern int     LoBandPrice          =     0;    // Lower Band Price(ex.3 for Low) 
extern int     MA_Length            =     6;    // Bollinger Bands Period
extern int     MA_Mode              =     0;    // Mode of Moving Average  
extern double  Deviation            =     1;    // Deviation
extern int     DeviationLength      =     20;    // Period of Standard Deviation
extern double  MoneyRisk            =     0.5;    // Offset Factor
extern int     SignalMode           =     1;    // SignalMode: Display signals mode: 0-only Stops,1-Signals & Stops,2-only Signals
extern int     LineMode             =     1;    // Display line mode: 0-no,1-yes  
extern int shift  =1;
//------------------------------------------------------------------
//
//------------------------------------------------------------------
int init()  { return(0); }
int start() 
{ 
   double trendCurr = iCustom(Symbol(),0,"BBands stop v3 MTF + limited bars",0,UpBandPrice, LoBandPrice, MA_Length, MA_Mode,Deviation,DeviationLength,MoneyRisk,SignalMode,LineMode,6,shift);
   double trendPrev = iCustom(Symbol(),0,"BBands stop v3 MTF + limited bars",0,UpBandPrice, LoBandPrice, MA_Length, MA_Mode,Deviation,DeviationLength,MoneyRisk,SignalMode,LineMode,6,shift+1); 
   Comment(trendCurr,"    ",trendPrev);
   return(0); 
}


для теста, и все работает ОК

 
oguz:
Привет друзья!
Это моя ea и теперь она не открывает ни одного ордера!
Возможно проблема в последней версии mt4 b988. Вы можете помочь мне, пожалуйста?

PS: Мой брокер теперь "instant type" Может это коды не совместимые с брокером instant type?
Какие ошибки вы получаете на вкладке эксперты или журнал в терминале?
 
mladen:

Я использовал этот код :


для теста, и все работает ОК

Я протестировал код, который вы разместили, но все еще получаю ту же проблему.

Я прилагаю ea, когда у вас будет свободное время, вы можете протестировать его?

И у меня еще один вопрос по поводу TotalsOrder() .

Я хочу, чтобы функция close all закрывала только график, который я прикрепляю.

Насколько я знаю, TotalsOrder() вернет все открытые ордера для всех символов, но как получить для конкретной валютной пары?

Пытался найти ответ в интернете, но не совсем понял.

Один из кодов - подсчет ордеров в цикле ордеров, но не уверен, где разместить этот код.


string symbol=Symbol();
int    orders_cnt=0;
int    total=OrdersTotal();
for(int i=0; i<total; i++)
{
    if(OrderSelect(i)==false) continue;
    if(OrderSymbol()==symbol) orders_cnt++;
}


Файлы:
BbandTest.mq4  34 kb
 
oguz:
Привет друзья!
Это моя ea и теперь она не открывает ни одного ордера!
Возможно проблема в последней версии mt4 b988. Вы можете помочь мне, пожалуйста?

PS: Мой брокер теперь "instant type" Может это коды не совместимые с брокером instant type?

Вам просто нужно изменить название индикатора на " ptl 2_1 + alerts.mq4 ", тогда он должен работать.

Это имя используется в ea iCustom.

 
stevenpun:

Я протестировал код, который вы опубликовали, но все равно получил ту же проблему.

Я прилагаю ea, когда у вас будет свободное время, вы можете протестировать его?

И у меня еще один вопрос по поводу TotalsOrder() .

Я хочу, чтобы функция close all закрывала только график, который я прикрепляю.

Насколько я знаю, TotalsOrder() вернет все открытые ордера для всех символов, но как получить для конкретной валютной пары?

Пытался найти ответ в интернете, но не совсем понял.

Один из кодов - подсчет ордеров в цикле ордеров, но не уверен, где разместить этот код.



stevenpun

На моем терминале он не вызывает этих ошибок (он работает так, как должен - загрузка только одного экземпляра индикатора, без изменения кода).

Кроме того, функция, которую вы опубликовали, в порядке, но вы должны проверить, является ли OrderSymbol() тем же самым, что и Symbol(), когда вы закрываете ордер.

 
stevenpun:

Вам просто нужно изменить название индикатора на " ptl 2_1 + alerts.mq4 ", тогда он должен работать.

ea iCustom вызывает это имя.

В любом случае, оригинальное имя остается тем же.

Новый форум изменил его имя на upload!

 
mladen:
Какие ошибки вы получаете на вкладке экспертов или журнала в терминале?
Я жду любой ошибки, чтобы получить вкладку журнала...
 
oguz:
Я жду любой ошибки, чтобы получить вкладку журнала...
OK. Когда вы это сделаете, пожалуйста, опубликуйте ошибку, которую вы получаете