Ответить
17.10.2014, 17:56
Аватар для profamilii
profamilii profamilii вне форума Новичок форума
Регистрация: 05.02.2013 / Сообщений: 62
Поблагодарили 14 раз(а) / Репутация: 15
Доброго времени суток форумчане. Подскажите пожалуйста как прописать команду открытия ордера (рыночное исполнение) при условии, когда цена проходит определенное количество пунктов за определенное количество секунд в одном направлении?
18.10.2014, 08:17
Регистрация: 13.03.2009 / Сообщений: 2,357
Поблагодарили 1,965 раз(а) / Репутация: 2042
Доброго времени суток форумчане. Подскажите пожалуйста как прописать команду открытия ордера (рыночное исполнение) при условии, когда цена проходит определенное количество пунктов за определенное количество секунд в одном направлении?
В чём вопрос? Не знаешь как открывать маркету или как условие прописать? Или весь советник написать надо, тогда это в эту ветку.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
18.10.2014, 08:22
Аватар для profamilii
profamilii profamilii вне форума Новичок форума
Регистрация: 05.02.2013 / Сообщений: 62
Поблагодарили 14 раз(а) / Репутация: 15
В чём вопрос? Не знаешь как открывать маркету или как условие прописать? Или весь советник написать надо, тогда это в эту ветку.
Не знаю как условие прописать. Конкретно " Если цена прошла 10 или более пунктов вверх за 3 секунды" Ну и наоборот.
18.10.2014, 08:57
Регистрация: 13.03.2009 / Сообщений: 2,357
Поблагодарили 1,965 раз(а) / Репутация: 2042
Не знаю как условие прописать. Конкретно " Если цена прошла 10 или более пунктов вверх за 3 секунды" Ну и наоборот.
Когда то давно писал такую функцию. Делал это с помощью пары статических массивов. В один пишется время, в другой цены, посекундно.
Ну а взять из нужных ячеек цены и сравнить их не проблема.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
19.10.2014, 19:32
Аватар для Вовка_25
Вовка_25 Вовка_25 вне форума Новичок форума
Регистрация: 13.05.2011 / Адрес: Россия / Сообщений: 33
Поблагодарили 23 раз(а) / Репутация: 24
привет,подскажите почему советник не тестирует на 99 тиковых котировках?
27.10.2014, 09:56
Аватар для gince
gince gince вне форума Местный знаток
Регистрация: 09.09.2008 / Адрес: Литва / Сообщений: 448
Поблагодарили 810 раз(а) / Репутация: 810
  • Отправить сообщение для gince с помощью Skype™

По умолчанию Помогите с метками.

Господа форумчани, помогите с необычным советником. Запутался с метками (флажками) открытия ордера и дополнительных ордеров.
Да и в файл плохо печатает.
1.По условию на вход от индикаторов открываем первый ордер. Закры-
вается стустя 5 мин после открытия.
2.Проверяем прибыльнось (угадали ли мы направление).
cl_price-op_price)*op_type<0
2.1.Если угадали,ждем следующий сигнал от индикаторов на вход по
первому (1)пункту.
2.2.А если неугадали направление, открываемся в том же направлении
что и преведущая сделка плюс минимальное условие от индикаторов.
3.Может быть открытым только один ордер. Дополнительно можно откыть
в ыом же направлении только один ордер.
4.Цены открытия/закрытия и время открытия/закрытия печатаеться в
файл после закрытия ордера. Также печатаеться направление
5.Функции открытия и закрытия ненужны.

Skype: gintaras2604
Гинтарас

Последний раз редактировалось gince; 27.10.2014 в 10:02. Причина: пополнение
27.10.2014, 11:31
Аватар для gince
gince gince вне форума Местный знаток
Регистрация: 09.09.2008 / Адрес: Литва / Сообщений: 448
Поблагодарили 810 раз(а) / Репутация: 810
  • Отправить сообщение для gince с помощью Skype™
плохо видно изложил свои проблемы
Гинтарас
27.10.2014, 14:01
Аватар для gince
gince gince вне форума Местный знаток
Регистрация: 09.09.2008 / Адрес: Литва / Сообщений: 448
Поблагодарили 810 раз(а) / Репутация: 810
  • Отправить сообщение для gince с помощью Skype™
Помогите пожалыйство
Гинтарас
27.10.2014, 14:24
Аватар для Sicilian
Sicilian Sicilian вне форума Почётный гражданин
Регистрация: 24.03.2012 / Сообщений: 215
Поблагодарили 300 раз(а) / Репутация: 301
Люди добрые. подскажите как вписать в коде вместо название цвета лини вписать чтоб не было цвета а поставить там None. когда вместо названия цвета пишу none выдает ошибку
27.10.2014, 14:31
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,038
Поблагодарили 871 раз(а) / Репутация: 857
Люди добрые. подскажите как вписать в коде вместо название цвета лини вписать чтоб не было цвета а поставить там None. когда вместо названия цвета пишу none выдает ошибку
Кнопку F1 сломал что-ли ?
Константа "Нету цвета":
PHP код:
clrNONE 
27.10.2014, 14:34
Аватар для Sicilian
Sicilian Sicilian вне форума Почётный гражданин
Регистрация: 24.03.2012 / Сообщений: 215
Поблагодарили 300 раз(а) / Репутация: 301
Кнопку F1 сломал что-ли ?
Константа "Нету цвета":
PHP код:
clrNONE 
Большая благодарность
27.10.2014, 14:38
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,038
Поблагодарили 871 раз(а) / Репутация: 857
Большая благодарность
Я имел в виду, что список цветов в стандартном хелпе выдается без проблем, иногда туда полезно заглядывать по мелочам разным и быстрее
27.10.2014, 14:51
Аватар для Sicilian
Sicilian Sicilian вне форума Почётный гражданин
Регистрация: 24.03.2012 / Сообщений: 215
Поблагодарили 300 раз(а) / Репутация: 301
Я имел в виду, что список цветов в стандартном хелпе выдается без проблем, иногда туда полезно заглядывать по мелочам разным и быстрее
я не смог этого сообразить
28.10.2014, 08:41
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,031 раз(а) / Репутация: 9031
  • Отправить сообщение для eevviill с помощью Skype™

По умолчанию 2

1) extern float Lot = 0.1;
truncation of constant value
possible loss of data due to type conversion

Почему?
2) Придумали uchar,short... Почему сами разработчики не используют(
int ma_method, //метод усреднения
int applied_price, //тип цены

)?
28.10.2014, 08:53
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,038
Поблагодарили 871 раз(а) / Репутация: 857
1) extern float Lot = 0.1;
truncation of constant value
possible loss of data due to type conversion

Почему?
Цитата:
Дополнительные сведения об этих значениях см. в документе "Стандарт организации IEEE в отношении двоичной арифметики с плавающей запятой" (IEEE Standard Binary Floating-Point Arithmetic), который доступен на веб-узле организации IEEE (на английском языке).

Они ваяют терминал на языке С, оттуда же дерут все существующие типы и конструкции.
Вот идиотские сообщения о якобы ошибках, конечно, раздражают, хотя можно с помощью таких фишек нормально поэкономить память или ресурсы проца.
Но когда видишь
Цитата:
possible loss of data due to type conversion
все желание пропадает
29.10.2014, 15:59
Аватар для Alexz2107
Alexz2107 Alexz2107 вне форума Интересующийся
Регистрация: 05.05.2011 / Сообщений: 16
Поблагодарили 1 раз в 1 сообщении / Репутация: 2

По умолчанию Как найти ближайший ордер?..

Здравствуйте, подскажите, пожалуйста, как можно определить расстояние в пунктах между рынком и ближайшей открытой позицией? Я пытался использовать известную функцию DistMarketAndPos(), но она не возвращает никаких значений.
Или хотя бы как выбрать ближайший к рынку ордер?
29.10.2014, 20:29
Аватар для matro3
matro3 matro3 вне форума Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
Код:
fot(int i=0; i<OrdersTotal(); i++)
{
   int p;
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
      if(OrderSymbol()==_Symbol)
         if(OrderMagicNumber()==mn)
         {
            if(OrderType()==OP_BUY)
               if((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/Point<p)
                  p=(MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/Point;
            if(OrderType()==OP_SELL)
               if((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/Point<p)
                  p=(OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/Point;
         }
   return(p);
}
Типа того...
30.10.2014, 05:02
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,715 раз(а) / Репутация: 3711
Код:
fot(int i=0; i<OrdersTotal(); i++)
{
   int p;
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
      if(OrderSymbol()==_Symbol)
         if(OrderMagicNumber()==mn)
         {
            if(OrderType()==OP_BUY)
               if((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/Point<p)
                  p=(MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/Point;
            if(OrderType()==OP_SELL)
               if((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/Point<p)
                  p=(OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/Point;
         }
   return(p);
}
Типа того...
А если ордеров не один и в разных направлениях??? Как в этом коде определяется который из них ближе к текущей цене???

Здесь надо использовать математические функции MathMin() и MathAbs()
В начале кода переменной double р назначить значение побольше и потом такую строку независимо от типа ордера.
р = MathMin(р, MathAbs(OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_BID)))

Последний раз редактировалось AlexeyVik; 30.10.2014 в 05:15.
30.10.2014, 06:35
Аватар для matro3
matro3 matro3 вне форума Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
Это код не для пользования как есть, а для доработки.
Возвращать можно что угодно, тикет или расстояние до цены, что там нужно-то?
30.10.2014, 06:50
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,715 раз(а) / Репутация: 3711
Это код не для пользования как есть, а для доработки.
Возвращать можно что угодно, тикет или расстояние до цены, что там нужно-то?
Ну так отвечаешь-то на конкретный вопрос...
как можно определить расстояние в пунктах между рынком и ближайшей открытой позицией?
А после твоего ответа будет следующий вопрос почему не работает, и ещё и ещё...
Ответить

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


Опции темы

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

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



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


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