Ответ
 
Опции темы
Старый 05.07.2013, 07:56   #1361 (permalink)
Новичок форума
 
Аватар для Leonup
 
Регистрация: 23.12.2011
Сообщений: 56
Репутация: 5
Leonup
Сказал(а) спасибо: 11
Поблагодарили 4 раз(а) в 4 сообщениях
Поинты: 58

По умолчанию Канал из 4-х равноудаленных линий


Добрый день!
В mt4 есть функция вставки параллельного канала, состоящего из 2-х равноудаленных линий.
Можно ли создать такой же регулируемый канал с помощью mql4, но состоящий из 4-х равноудаленных линий?
Конечно, это можно, сделать вручную, поместив в больший канал – канал поменьше. Но это сравнительно долго: глаз – не алмаз. . И, кроме того, если ширину большего канала нужно изменить, то все начинай сначала. Хотелось бы автоматизировать.
Если да, подскажите, пожалуйста, с чего начать?
А может, есть такой индикатор?
Leonup на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 05.07.2013, 08:06   #1362 (permalink)
Интересующийся
 
Аватар для }{ottabch
 
Регистрация: 14.06.2013
Сообщений: 9
Репутация: 1
}{ottabch
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 6
Здравствуйте.
Код:
if (Tip==0 && Cls_B==true)                
        {                                       
         Alert("Trying to close Buy",Ticket,". Waiting for reply ..");
         RefreshRates();                        
         Ans=OrderClose(Ticket,Lot,Bid,2);      
         if (Ans==true)                         
           {
            Alert ("Closed order Buy ",Ticket);
            break;                              
           }
закрывает один ордер... а как организовать закрыть все ордера типа бай открытые на данный момент
}{ottabch вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 06.07.2013, 17:50   #1363 (permalink)
gzh
Интересующийся
 
Аватар для gzh
 
Регистрация: 11.12.2012
Сообщений: 47
Репутация: 2
gzh
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Поинты: 64
День добрый!
Я новичок в MQL4,еще много вещей не знаю. Кто знает, подскажите пожалуйста как сделать такое: если ордер в определенном минусе (минус задается во внешней переменной), открыть противоположный ордер.

extern double Profit = 0.5;
extern double Ubytok = 0.5;

for (int i=0; i<=orderstotal(); i++)
{
OrderSelect (i,SELECT_BY_POS);
if (OrderType()==0 && OrderProfit() >= Profit)
{
OrderSend (Symbol(), OP_SELL, lot, Bid, slippage, 0,0);
}
}

Что в этом коде нужно изменить, чтобы если убыток ордера равен Ubytok, тогда открывается противоположный ордер. ??
gzh вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 07.07.2013, 07:35   #1364 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от Leonup Посмотреть сообщение
Добрый день!
В mt4 есть функция вставки параллельного канала, состоящего из 2-х равноудаленных линий.
Можно ли создать такой же регулируемый канал с помощью mql4, но состоящий из 4-х равноудаленных линий?
Конечно, это можно, сделать вручную, поместив в больший канал – канал поменьше. Но это сравнительно долго: глаз – не алмаз. . И, кроме того, если ширину большего канала нужно изменить, то все начинай сначала. Хотелось бы автоматизировать.
Если да, подскажите, пожалуйста, с чего начать?
А может, есть такой индикатор?
Можно. Я бы рисовал руками обычный канал и имел бы скрипт, который следил бы за этим каналом и подрисовывал второй.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 07.07.2013, 07:38   #1365 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от }{ottabch Посмотреть сообщение
Здравствуйте.
Код:
if (Tip==0 && Cls_B==true)                
        {                                       
         Alert("Trying to close Buy",Ticket,". Waiting for reply ..");
         RefreshRates();                        
         Ans=OrderClose(Ticket,Lot,Bid,2);      
         if (Ans==true)                         
           {
            Alert ("Closed order Buy ",Ticket);
            break;                              
           }
закрывает один ордер... а как организовать закрыть все ордера типа бай открытые на данный момент
Посмотри в кодбазе, там туча вариантов. Например так
_http://codebase.mql4.com/ru/8821
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 07.07.2013, 07:45   #1366 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от gzh Посмотреть сообщение
День добрый!
Я новичок в MQL4,еще много вещей не знаю. Кто знает, подскажите пожалуйста как сделать такое: если ордер в определенном минусе (минус задается во внешней переменной), открыть противоположный ордер.

extern double Profit = 0.5;
extern double Ubytok = 0.5;

for (int i=0; i<=orderstotal(); i++)
{
OrderSelect (i,SELECT_BY_POS);
if (OrderType()==0 && OrderProfit() >= Profit)
{
OrderSend (Symbol(), OP_SELL, lot, Bid, slippage, 0,0);
}
}

Что в этом коде нужно изменить, чтобы если убыток ордера равен Ubytok, тогда открывается противоположный ордер. ??
Поменять OrderProfit() >= Profit на OrderProfit() <= Ubytok
Убыток задавать как отрицательное число во внешнем параметре.
OrdersTotal() правильно написать.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 07.07.2013, 10:47   #1367 (permalink)
gzh
Интересующийся
 
Аватар для gzh
 
Регистрация: 11.12.2012
Сообщений: 47
Репутация: 2
gzh
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Поинты: 64
Все работает. Спасибо за ответ!!
gzh вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 07.07.2013, 11:27   #1368 (permalink)
Новичок форума
 
Аватар для Leonup
 
Регистрация: 23.12.2011
Сообщений: 56
Репутация: 5
Leonup
Сказал(а) спасибо: 11
Поблагодарили 4 раз(а) в 4 сообщениях
Поинты: 58
Сообщение от qqmber Посмотреть сообщение
Можно. Я бы рисовал руками обычный канал и имел бы скрипт, который следил бы за этим каналом и подрисовывал второй.
Спасибо за идею. Как только вот получить координаты построенного вручную канала? Дальше, думаю, будет легче...
Leonup на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 07.07.2013, 14:04   #1369 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от Leonup Посмотреть сообщение
Спасибо за идею. Как только вот получить координаты построенного вручную канала? Дальше, думаю, будет легче...
ObjectGet() все скажет.

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

Код:
int start() {
int i;
double t1,t2,t3,p1,p2,p3;
string name;
   for(i=0; i<ObjectsTotal(); i++) {
      name=ObjectName(i);
      if(ObjectType(name)!=OBJ_CHANNEL) continue;
//F1:      OBJ_CHANNEL 5 Channel. Uses 3 coordinates. 
      t1=ObjectGet(name,OBJPROP_TIME1);
      p1=ObjectGet(name,OBJPROP_PRICE1);
      t2=ObjectGet(name,OBJPROP_TIME2);
      p2=ObjectGet(name,OBJPROP_PRICE2);
      t3=ObjectGet(name,OBJPROP_TIME3);
      p3=ObjectGet(name,OBJPROP_PRICE3);
      Alert("Channel ","(",TimeToStr(t1)," ",p1,") ","(",TimeToStr(t2)," ",p2,") ","(",TimeToStr(t3)," ",p3,") ");
   }
}
[свернуть]
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Leonup (08.07.2013)
Старый 07.07.2013, 14:12   #1370 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от qqmber Посмотреть сообщение
Можно.
Я бы рисовал руками обычный канал и имел бы скрипт, который следил бы за этим каналом и подрисовывал второй.
Версия 0.2.
Я имел бы скрипт, который рисует два канала и следит за ними, если один канал кто-то изменил руками, то скрипт подстраивает второй.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 08.07.2013, 10:33   #1371 (permalink)
Активный участник
 
Аватар для asers1111
 
Регистрация: 22.12.2011
Сообщений: 169
Репутация: 43
asers1111
Сказал(а) спасибо: 423
Поблагодарили 42 раз(а) в 15 сообщениях
Поинты: 184
Цитата:
int Flet;
Flet = METROMagenta > 50 && METROBlue < 50 && RedLine > sig1_CentrLevel && BlueLine < sig1_CentrLevel && WPRDnLine < sig1_CentrWPRLevel && WPRUpLine > sig1_CentrWPRLevel
|| METROMagenta < 50 && METROBlue > 50 && RedLine > sig1_CentrLevel && BlueLine < sig1_CentrLevel && WPRDnLine < sig1_CentrWPRLevel && WPRUpLine > sig1_CentrWPRLevel;
Добрый день.Помогите,пожалуйста.
Bот условия,взятые из нескольких пользовательских индикаторов,при которых нужно,чтобы сделки НЕ ОТКРЫВАЛИСЬ я назвал их Flet.А как бы записать обратное состояние рынка - ну хоть Trend,когда условия Flet отсутствуют и можно ОТКРЫВАТЬ сделки?

Последний раз редактировалось asers1111; 08.07.2013 в 10:54.
asers1111 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 08.07.2013, 16:48   #1372 (permalink)
Новичок форума
 
Аватар для Leonup
 
Регистрация: 23.12.2011
Сообщений: 56
Репутация: 5
Leonup
Сказал(а) спасибо: 11
Поблагодарили 4 раз(а) в 4 сообщениях
Поинты: 58
[QUOTE=qqmber;661075]ObjectGet() все скажет.


Делал по первой версии. Все получилось! Спасибо огромное!
Leonup на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 09.07.2013, 13:53   #1373 (permalink)
Новичок форума
 
Аватар для Leonup
 
Регистрация: 23.12.2011
Сообщений: 56
Репутация: 5
Leonup
Сказал(а) спасибо: 11
Поблагодарили 4 раз(а) в 4 сообщениях
Поинты: 58
Сообщение от qqmber Посмотреть сообщение
Версия 0.2.
Я имел бы скрипт, который рисует два канала и следит за ними, если один канал кто-то изменил руками, то скрипт подстраивает второй.
Оказывается, в mt4 есть все-таки функция вставки такого канала! Только нужно изменить имеющиеся там уровни. Эти уровни можно удалять, добавлять, сколько нужно.
А урок MQL4, думаю, пригодится в будущем!
Спасибо.
Leonup на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
qqmber (09.07.2013)
Старый 09.07.2013, 14:31   #1374 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от Leonup Посмотреть сообщение
Оказывается, в mt4 есть все-таки функция вставки такого канала! Только нужно изменить имеющиеся там уровни. Эти уровни можно удалять, добавлять, сколько нужно.
А урок MQL4, думаю, пригодится в будущем!
Спасибо.
Точно! Фибо со произвольными уровнями.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2013, 10:49   #1375 (permalink)
Активный участник
 
Аватар для asers1111
 
Регистрация: 22.12.2011
Сообщений: 169
Репутация: 43
asers1111
Сказал(а) спасибо: 423
Поблагодарили 42 раз(а) в 15 сообщениях
Поинты: 184
Помогите советом!
Здравствуйте.Подскажите что делать!Вчера вечером при выключении компа пришлось установить очередные обновления безопасности для Windows.Сегодня включил Метатрейдер,чтобы просмотреть получше в тестере то,что вчера писал в Метаэдиторе ,а советник не открывает свойства и не работает.А ВЧЕРА РАБОТАЛ! Я заглянул в папку терминала и увидел,что там только mq4 файл, а ex4 файла нету.И в тех советниках,где нет ex4 файла дела обстоят также.Попытался написать заново,но Метаэдитор создает только файл mq4 и он не работает в тестере.Обновления - удалил с компа,но все осталось также. Что делать?Подскажите,пожалуйс та!
asers1111 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2013, 11:22   #1376 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от asers1111 Посмотреть сообщение
Помогите советом!
Здравствуйте.Подскажите что делать!Вчера вечером при выключении компа пришлось установить очередные обновления безопасности для Windows.Сегодня включил Метатрейдер,чтобы просмотреть получше в тестере то,что вчера писал в Метаэдиторе ,а советник не открывает свойства и не работает.А ВЧЕРА РАБОТАЛ! Я заглянул в папку терминала и увидел,что там только mq4 файл, а ex4 файла нету.И в тех советниках,где нет ex4 файла дела обстоят также.Попытался написать заново,но Метаэдитор создает только файл mq4 и он не работает в тестере.Обновления - удалил с компа,но все осталось также. Что делать?Подскажите,пожалуйс та!
Файл mq4 часом не декомпил? Если открыть его метаедитором и нажать кнопку компилировать - что пишет?
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2013, 11:40   #1377 (permalink)
Активный участник
 
Аватар для asers1111
 
Регистрация: 22.12.2011
Сообщений: 169
Репутация: 43
asers1111
Сказал(а) спасибо: 423
Поблагодарили 42 раз(а) в 15 сообщениях
Поинты: 184
Сообщение от qqmber Посмотреть сообщение
Файл mq4 часом не декомпил? Если открыть его метаедитором и нажать кнопку компилировать - что пишет?
Я сам вчера писал советник.Он работал в тестере.Сегодня хотел его доработать,но тестер ни настройки его не показывает ни работать ему не дает.При компиляции пишет 0 ошибок.
Я заметил,что работают только те совы,у которых в папке 2 файла ex4 и mq4 ,а у которых только mq4 - не работают.Попробовал перекинуть код советника на другой терминал,а там полная каша получилась,хотя копировал абсолютно нормальный код...
Что можно сделать теперь? Работать никак не могу.......Беда!
asers1111 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2013, 12:00   #1378 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от asers1111 Посмотреть сообщение
Я сам вчера писал советник.Он работал в тестере.Сегодня хотел его доработать,но тестер ни настройки его не показывает ни работать ему не дает.При компиляции пишет 0 ошибок.
Я заметил,что работают только те совы,у которых в папке 2 файла ex4 и mq4 ,а у которых только mq4 - не работают.Попробовал перекинуть код советника на другой терминал,а там полная каша получилась,хотя копировал абсолютно нормальный код...
Что можно сделать теперь? Работать никак не могу.......Беда!
Одно из двух - или компилятор считает, что это декомпилированный код и поэтому отказывается работать или что-то с размещением по папкам не так стало после обновления.
Что значит каша получилась - не понял. Если копирование файла не работает нормально, то надо железо лечить или винду переустанавливать.
Ну а пока
1. Скачай терминал с сайта брокера.
2. Установи в корень с: (не а в Program Files)
3. Убедись, что терминал 509 билда
Если не поможет, убери символы подчеркивания в именах переменных.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2013, 12:15   #1379 (permalink)
Активный участник
 
Аватар для asers1111
 
Регистрация: 22.12.2011
Сообщений: 169
Репутация: 43
asers1111
Сказал(а) спасибо: 423
Поблагодарили 42 раз(а) в 15 сообщениях
Поинты: 184
Сообщение от qqmber Посмотреть сообщение
Одно из двух - или компилятор считает, что это декомпилированный код и поэтому отказывается работать или что-то с размещением по папкам не так стало после обновления.
Что значит каша получилась - не понял. Если копирование файла не работает нормально, то надо железо лечить или винду переустанавливать.
Ну а пока
1. Скачай терминал с сайта брокера.
2. Установи в корень с: (не а в Program Files)
3. Убедись, что терминал 509 билда
Если не поможет, убери символы подчеркивания в именах переменных.
Спасибо. Я сегодня поставил новый терминал - билд 509.Вот на него я перенес файлы сов и индюков с терминала 482 билда,на котором все и писал.Так на этом 509 те совы в которых оба файла сохранились(ex4 и mq4) работают....Но в Метаэдиторе просто каша,а не код.И индикаторы тоже каша в коде,а на графике и в тестере работают.ПАРАДОКС! Однако мне надо бы в коде что-то подправить,а я не могу....И как тут быть???????
asers1111 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 11.07.2013, 12:17   #1380 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от asers1111 Посмотреть сообщение
Спасибо. Я сегодня поставил новый терминал - билд 509.Вот на него я перенес файлы сов и индюков с терминала 482 билда,на котором все и писал.Так на этом 509 те совы в которых оба файла сохранились(ex4 и mq4) работают....Но в Метаэдиторе просто каша,а не код.И индикаторы тоже каша в коде,а на графике и в тестере работают.ПАРАДОКС! Однако мне надо бы в коде что-то подправить,а я не могу....И как тут быть???????
Прям заинтриговал. Покажи, что такое каша, скриншотом хоть.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
levymiranda (21.07.2013)
Ответ

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


Опции темы

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

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



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


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