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

 

MA_1_t=iCustom(Symbol(),0,"AMA_optimized",1,1); // ??_1
MA_2_t=iCustom(Symbol(),0,"AMA_optimized",2,1); // ??_2
MA_3_t=iCustom(Symbol(),0,"AMA_optimized",1,2); // ??_2
MA_4_t=iCustom(Symbol(),0,"AMA_optimized",2,2); // ??_4
//---------------------------------------------------------------- 5.1 ???? ?????
static datetime New_Time;
bool New_Bar;
bool wayUP, wayDOWN;

if(New_Time!=Time[0])
{
New_Time=Time[0];
New_Bar=true;
} else { New_Bar=false;
}
//---------------------------------------------------------------- 5.1

if (MA_1_t!=0 && wayDOWN==true) // && MA_3_t==0
{
if (New_Bar==true)
{
Opn_B=true;
New_Bar=false;
}
//Cls_S=true;
}

if (MA_2_t!=0 && wayUP==true) // && MA_4_t==0
{
if (New_Bar==true)
{
Opn_S=true;
New_Bar=false;
}
//Cls_B=true;
}

if (New_Bar==true) {
if (MA_3_t!=0 && MA_4_t==0) {wayUP=true;}
if (MA_4_t!=0 && MA_3_t==0) {wayDOWN=true;}
}

//--------------------------------------------------------------- 6 --

ЛЮДИ СПАСАЙТЕ, надо как-то запоминать до 2 бара какое было направление и потом сравнивать его, если направление не совпадает с 1 баром, то на 0 баре открываться...

или не помогут!

Может я не правельные вопросы задаю, черт побери?! мысли в члух

 
Всем привет. Я в МТ 4 сделал не стандартный таймфрейм М10, но он почему то не работает в реальном времени. То есть историю показывает правильно по нужному тайму М10, но только до того момента когда я его создал, дальше график стоит мёртвый, хотя в остальных таймах котировки идут,графики рисуюца. В чём проблема?? Это так и должно быть или я что то не так сделал. А то получаеца что в реальном времени по не стандартному тайму торговать не возможно, только историю смотреть((
 
Файл Period_Converter_Opt.mq4 скопируйте в папку experts\indicators вашего терминала. Если терминал был открыл, перезагрузите его.

Шаг 2.1. Добавьте индикатор Period_Converter_Opt на график, из которого хотите получить нестандартный таймфрейм. Откроется окошло. Установите фложок "Разрешить импорт DLL" на вкладке "Общие".

Шаг 2.2. На вкладке "Входные параметры" можно выставить настройки нескольких переменных. Переменная PeriodMultiplier - это множитель для исходного графика. Например, если вы хотите получить из графика Н1 график Н6, то необходимо выставить значение 6.

Переменная UpdateInterval отвечает за частоту обновления графика. По умолчанию выставлено нулевое значение - график обновляется в режиме реального времени. Если вы хотите сократить нагрузку на ресурсы компьютера, увеличьте это значение.

 
Шаг между обычными таймфреймами MetaTrade'a достаточно велик - часовой, четырёхчасовой, дневной графики. Поэтому полезными могут быть графики М10, Н2, H3, H6, H8, H12.
Дальше как обычно - открыть график автономно, ищите созданный ТФ и запускаете.
Файлы:
 

Где-то, когда-то встречал толи оператор, толи функцию, указывающие советнику работать ТОЛЬКО! с ордерами инструмента, на котором он сидит, игнорируя ордера остальных пар. Попытался сейчас найти и не смог. Может кто подскажет навскидку?

 
vendim писал(а) >>

Где то встречал толи оператор, толь функцию, указывающие советнику работать ТОЛЬКО! с ордерами инструмента, на котором он сидит, игнорируя ордера остальных пар. Попытался сейчас найти и не смог. Может кто подскажет навскидку?

за это отвечает параметр magic при открытии ордера. при анализе ордеров учитывать его уникальность.

'Отрицательный Magic'

 
DDFedor писал(а) >>

за это отвечает параметр magic при открытии ордера. при анализе ордеров учитывать его уникальность.

Я имел ввиду штатные возможности языка. А может я и заблуждаюсь, может оно было где-то прописано отдельно и я не заметил. А то весь код захламлен проверками типа

&& (OrderSymbol() == Symbol())

Там, где видел, вначале советника была нужная строчка (даже с комментом) и дальше уже автор не заморачивался ордерами других валютных пар. А может оно и из библиотеки бралось ...

Короче штатный оператор\функция в MQL4 существует?

 

попрошу ещё раз, кто-нить, помогите с удалением объектов

#property copyright ""
#property link      ""

#include <WinUser32.mqh>

int start() {
   for (int li_0 = 0; li_0 < ObjectsTotal(); li_0++) {
      if (StringFind(ObjectName(li_0), "стрелка") == 0) {
         ObjectDelete(ObjectName(li_0));
         li_0--;
      }
   }
   int li_4 = WindowHandle(Symbol(), Period());
   if (li_4 != 0) PostMessageA(li_4, WM_COMMAND, 33324, 0);
   return (0);
}

как сделать, что бы этот скрипт удалял объекты не по имени а по стилю, к примеру, как сделать, что бы скрипт удолял эти объекты 





(OBJPROP_ARROWCODE,158)

подсобите, плз

 
NEKSUS_ >>:

попрошу ещё раз, кто-нить, помогите с удалением объектов


как сделать, что бы этот скрипт удалял объекты не по имени а по стилю, к примеру, как сделать, что бы скрипт удолял эти объекты





подсобите, плз


Лично я бы сделал так:

for (int li_0 = 0; li_0 < ObjectsTotal(); li_0++) {
if (ObjectGet(ObjectName(li_0),OBJPROP_ARROWCODE)==158) {
ObjectDelete(ObjectName(li_0));
}
}

Только цикл с декрементом, а то фиг потом разберешься в очередности объектов если их будешь по очереди удалять.

 
splxgf >>:

Лично я бы сделал так:

for (int li_0 = 0; li_0 < ObjectsTotal(); li_0++) {
if (ObjectGet(ObjectName(li_0),OBJPROP_ARROWCODE)==158) {
ObjectDelete(ObjectName(li_0));
}
}

Только цикл с декрементом, а то фиг потом разберешься в очередности объектов если их будешь по очереди удалять.

так, я же вообще не соображаю в mql, а скрипт вообще работает, только его нужно 7-мь раз запускать и в итоге всё равно остаётся несколько объектов на графике

 
NEKSUS_ >>:

так, я же вообще не соображаю в mql, а скрипт вообще работает, только его нужно 7-мь раз запускать и в итоге всё равно остаётся несколько объектов на графике

Может так:

for(int k=0;k<ObjectsTotal();k++)
{
   if (ObjectGet(ObjectName(k),OBJPROP_ARROWCODE)==158) 
   {
      ObjectDelete(ObjectName(k));
      k--;
   }
}

Это удаление стрелок. Если вас интересуют другие объекты - читайте help по функции ObjectGet()