Ответ
 
Опции темы
Старый 21.11.2012, 18:08   #521 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от greatiger Посмотреть сообщение
eevviill, а Max_lots не надо как вводимую переменную в начале прописывать?
Надо.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
greatiger (22.11.2012)
Старый 22.11.2012, 02:16   #522 (permalink)
Активный участник
 
Аватар для greatiger
 
Регистрация: 06.02.2010
Сообщений: 490
Репутация: 68
greatiger
Сказал(а) спасибо: 318
Поблагодарили 67 раз(а) в 59 сообщениях
Поинты: 333
Сообщение от eevviill Посмотреть сообщение
Надо.
а как именно описать переменную? double? каким типом вводные переменные описываются если не секрет) а то в синтаксисе этого языка ноль из нулей)

ПС..после пивного застолья( если что не так написал прошу понять(

Последний раз редактировалось greatiger; 22.11.2012 в 02:18.
greatiger вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2012, 08:42   #523 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от greatiger Посмотреть сообщение
а как именно описать переменную? double? каким типом вводные переменные описываются если не секрет) а то в синтаксисе этого языка ноль из нулей)

ПС..после пивного застолья( если что не так написал прошу понять(
PHP код:
extern double Max_lot 122.6
http://forexsystemsru.com/yazyk-programmirovaniya-mql4/67073-mql4-uroki-ot-eevviill.html#post410681
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
greatiger (22.11.2012)
Старый 22.11.2012, 11:48   #524 (permalink)
Интересующийся
 
Аватар для aufx
 
Регистрация: 16.11.2012
Сообщений: 26
Репутация: 3
aufx
Сказал(а) спасибо: 11
Поблагодарили 2 раз(а) в 2 сообщениях
Поинты: 22
Коллеги! Подскажите плисс..
Вот пример из учебника

while(!IsStopped()) // До тех пор, пока пользователь..
{ // ..не прекратит исполнение программы RefreshRates(); // Обновление данных
//......................Здесь указывается основной код ограммы
Sleep(5); // Небольшая пауза
}

При выполнении этой проги терминал тупо виснет и не хочет больше ни с кем общаться. Только Ctrl+Alt+Del заставляет (после удаления этой функции и компиляции проги) оживить его.
Ни кто не подскажет как "общаться" с этой прогой?
aufx вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2012, 14:04   #525 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от aufx Посмотреть сообщение
Коллеги! Подскажите плисс..
Вот пример из учебника

while(!IsStopped()) // До тех пор, пока пользователь..
{ // ..не прекратит исполнение программы RefreshRates(); // Обновление данных
//......................Здесь указывается основной код ограммы
Sleep(5); // Небольшая пауза
}

При выполнении этой проги терминал тупо виснет и не хочет больше ни с кем общаться. Только Ctrl+Alt+Del заставляет (после удаления этой функции и компиляции проги) оживить его.
Ни кто не подскажет как "общаться" с этой прогой?
Думаю потому что перегружается процесор. Ведь то что в коде выполняется даже не на каждом тике, а постоянно.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2012, 16:05   #526 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™

По умолчанию Такое может быть??


У меня проблема.

Объявил буфер
PHP код:
double Mins[]; 
Пишу.
PHP код:
Mins[1]=EMPTY_VALUE;
Alert(Mins[1]); 
Выдаёт 0. Почему так?
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2012, 16:12   #527 (permalink)
Программиров
 
Аватар для expforex
 
Регистрация: 11.01.2009
Сообщений: 2,134
Репутация: 2147
expforex expforex expforex expforex expforex expforex expforex expforex expforex expforex expforex
Сказал(а) спасибо: 136
Поблагодарили 2,089 раз(а) в 733 сообщениях
Поинты: 267
Вы не задали размерность массива
в Вашем случае:
double Mins[2];
Mins[1]=EMPTY_VALUE;
Alert(Mins[1]);

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Советники на заказ! admin@expforex.com
Говорим Спасибо
expforex вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (22.11.2012)
Старый 22.11.2012, 16:39   #528 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от expforex Посмотреть сообщение
Вы не задали размерность массива
в Вашем случае:
double Mins[2];
Mins[1]=EMPTY_VALUE;
Alert(Mins[1]);
Спасибо но не понимаю.
Это я пытаюсь вшить индикатор в советник.
Почему тогда в индикаторах не надо размерность указывать?
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2012, 16:46   #529 (permalink)
Программиров
 
Аватар для expforex
 
Регистрация: 11.01.2009
Сообщений: 2,134
Репутация: 2147
expforex expforex expforex expforex expforex expforex expforex expforex expforex expforex expforex
Сказал(а) спасибо: 136
Поблагодарили 2,089 раз(а) в 733 сообщениях
Поинты: 267
В индикаторе размер массива генерируется автоматически
я бы даже сказал там не массивы а буферы.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Советники на заказ! admin@expforex.com
Говорим Спасибо

Последний раз редактировалось expforex; 22.11.2012 в 17:06.
expforex вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (22.11.2012)
Старый 22.11.2012, 17:57   #530 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
У меня следующая ситуация. Совок ставит в определённое время, а точнее, по закрытия свечи на D1 отложенный ордер - лимитник по канкретной цене. Если лимитник не сработал к закрытию следующей свечи на, то его нужно просто удалить.

Если вариантов несколько как я понимаю:

1. Можно дать параметру expiration функции OrderSend() значение, т.е. просчитать его и задать ровно 24 часа в секундах, итого получиться (60 * 60) *24 часа = 86400 секунд.
Т.е. ордер будет иметь такой вид(если байлимит):

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

PHP код:
OrderSend(string symbolOP_BUYLIMITdouble volumedouble priceint slippagedouble stoplossdouble takeprofitstring comment=NULLint magic=0datetime 86400color arrow_color=CLR_NONE
[свернуть]



2. Другой вариант, будет таким, что можно создать условие типа:

PHP код:
if( (time[0] == ВРЕМЯГДЕ ОРДЕР НУЖНО ЗАКРЫТЬ ) && ( Ordertype >= ))
  {
     
Orderclose();
  } 

Т.е. если время, в которое истекает срок его закрытия пришло и тип ордера - отложенник.. ЗАКРЫВАЕМ ЕГО.

Прошу подсказать как более грамотно реализовать данный момент.
А может есть ещё какие варианты?

Последний раз редактировалось NSerega; 22.11.2012 в 19:02.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2012, 21:07   #531 (permalink)
Почётный гражданин
 
Аватар для Hurghadahome
 
Регистрация: 07.03.2010
Адрес: Египет - Хургада
Сообщений: 723
Репутация: 464
Hurghadahome - Hurghadahome - Hurghadahome - Hurghadahome - Hurghadahome -
Сказал(а) спасибо: 19
Поблагодарили 463 раз(а) в 244 сообщениях
Поинты: 38
ПАРНИ ПОМОГИТЕ .
НУЖЕН БОТ КОТОРЫЙ БУДЕТ ЗАКРЫВАТЬ ВСЕ ОТКРЫТЫЕ СДЕЛКИ ЕСЛИ ОНИ НЕ ПОДПАДАЮТ ПОД УСЛОВИЕ: РАБОТА РАЗРЕШЕНА ТОЛЬКО ПЕРВЫЕ ПОЛ ЧАСА ПОСЛЕ ЗАКРЫТИЯ ЧЕТЫРЕХ ЧАСОВОЙ СВЕЧИ(ЗАПРЕТ ДЛЯ ВСЕХ ОРДЕРОВ В ТОМ ЧИСЛЕ И ОТЛОЖЕННЫХ).
И ВСЕ
С УВАЖЕНИЕМ ИЛЬЯ.

Последний раз редактировалось Hurghadahome; 22.11.2012 в 21:10.
Hurghadahome вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2012, 22:04   #532 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от hoz Посмотреть сообщение
У меня следующая ситуация. Совок ставит в определённое время, а точнее, по закрытия свечи на D1 отложенный ордер - лимитник по канкретной цене. Если лимитник не сработал к закрытию следующей свечи на, то его нужно просто удалить.

Если вариантов несколько как я понимаю:

1. Можно дать параметру expiration функции OrderSend() значение, т.е. просчитать его и задать ровно 24 часа в секундах, итого получиться (60 * 60) *24 часа = 86400 секунд.
Т.е. ордер будет иметь такой вид(если байлимит):

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

PHP код:
OrderSend(string symbolOP_BUYLIMITdouble volumedouble priceint slippagedouble stoplossdouble takeprofitstring comment=NULLint magic=0datetime 86400color arrow_color=CLR_NONE
[свернуть]



2. Другой вариант, будет таким, что можно создать условие типа:

PHP код:
if( (time[0] == ВРЕМЯГДЕ ОРДЕР НУЖНО ЗАКРЫТЬ ) && ( Ordertype >= ))
  {
     
Orderclose();
  } 

Т.е. если время, в которое истекает срок его закрытия пришло и тип ордера - отложенник.. ЗАКРЫВАЕМ ЕГО.

Прошу подсказать как более грамотно реализовать данный момент.
А может есть ещё какие варианты?
PHP код:
static int prevtime 0
это в глобальные переменные(с самого начала програмы)

PHP код:
prevtime iTime(Symbol(),0,0); 
это в int init()

PHP код:
if (iTime(Symbol(), 00) == prevtime) {Sleep(50);return(0);}
   
prevtime iTime(Symbol(),0,0); 
это в int start()


Думаю так будет лучше(если я правильно понял). Сразу после открытия новой свечи будет проверка.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2012, 22:44   #533 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Hurghadahome Посмотреть сообщение
ПАРНИ ПОМОГИТЕ .
НУЖЕН БОТ КОТОРЫЙ БУДЕТ ЗАКРЫВАТЬ ВСЕ ОТКРЫТЫЕ СДЕЛКИ ЕСЛИ ОНИ НЕ ПОДПАДАЮТ ПОД УСЛОВИЕ: РАБОТА РАЗРЕШЕНА ТОЛЬКО ПЕРВЫЕ ПОЛ ЧАСА ПОСЛЕ ЗАКРЫТИЯ ЧЕТЫРЕХ ЧАСОВОЙ СВЕЧИ(ЗАПРЕТ ДЛЯ ВСЕХ ОРДЕРОВ В ТОМ ЧИСЛЕ И ОТЛОЖЕННЫХ).
И ВСЕ
С УВАЖЕНИЕМ ИЛЬЯ.

Это тебе нужен не бот, а сову дописать. Ты хочешь, что бы закрывались только сделки, которые не подпадают под условие только? Т.е. они открылись по условию, а к закрытию свечи H4 условия уже не те, верно?
А ордера, которые не противоречат условиям должны остаться открыты?
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.11.2012, 23:20   #534 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
eevviill, то что ты написал, это, можно так выразиться, ф-ция определения нового бара.. Мне же нужно, не какое-то время текущее, полученное через:

PHP код:
iTime(Symbol(),0,0

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

Ещё я думаю, в какую ф-цию эту проверку включить. Может быть оптимальным вариантом будет внедрить её в пользовательскую ф-цию Close()
Например,

PHP код:
CloseOrders(ВРЕМЯ ЗАКРЫТИЯ)
 if 
time[0] == ВРЕМЯ ЗАКРЫТИЯ,
   {
      
orderсlose();
   } 

Надеюсь, я понятно объяснил ситуацию. Написать абы написать я смогу и сам, но хочу услышать мнение опытных программистов, так сказать, чтобы код был в хорошем тоне..
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (23.11.2012)
Старый 23.11.2012, 05:47   #535 (permalink)
Почётный гражданин
 
Аватар для Hurghadahome
 
Регистрация: 07.03.2010
Адрес: Египет - Хургада
Сообщений: 723
Репутация: 464
Hurghadahome - Hurghadahome - Hurghadahome - Hurghadahome - Hurghadahome -
Сказал(а) спасибо: 19
Поблагодарили 463 раз(а) в 244 сообщениях
Поинты: 38
Сообщение от hoz Посмотреть сообщение
Это тебе нужен не бот, а сову дописать. Ты хочешь, что бы закрывались только сделки, которые не подпадают под условие только? Т.е. они открылись по условию, а к закрытию свечи H4 условия уже не те, верно?
А ордера, которые не противоречат условиям должны остаться открыты?
Нет они не должны открыться вообще то есть конечно бот не может запретить но он может сразу закрыть. И не закрывать сделки которые происходят в разрешенный временной период(первые пол часа после закрытия 4х часовой свечи).

Это эксперт который будет разрешать работать трейдеру только после закрытия очередной четырехчасовой свечи. Эксперт часть системы манименеджмента. И на счет отложенников, можно было бы чтобы они смогли работать (открывать сделки)но при одном условии: эксперт удаляет все только что установленные отложенные ордера если они ближе к цене на N пунктов(расстояние вычисляется по волатильности инструмента).
Все это как помощник трейдеру в борьбе с самим собой не лезть в рынок, а работать только по4х часовым графикам и отложенными ордерами.
Уверен что в таком эксперте нуждается большинство трейдеров.
С уважением Илья.

Последний раз редактировалось Hurghadahome; 23.11.2012 в 05:52.
Hurghadahome вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.11.2012, 07:59   #536 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Hurghadahome Посмотреть сообщение
НУЖЕН БОТ КОТОРЫЙ БУДЕТ ЗАКРЫВАТЬ ВСЕ ОТКРЫТЫЕ СДЕЛКИ ЕСЛИ ОНИ НЕ ПОДПАДАЮТ ПОД УСЛОВИЕ

Сообщение от Hurghadahome Посмотреть сообщение
Нет они не должны открыться вообще то есть конечно бот не может запретить но он может сразу закрыть.

Я типо всё понял...
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.11.2012, 08:55   #537 (permalink)
Почётный гражданин
 
Аватар для Hurghadahome
 
Регистрация: 07.03.2010
Адрес: Египет - Хургада
Сообщений: 723
Репутация: 464
Hurghadahome - Hurghadahome - Hurghadahome - Hurghadahome - Hurghadahome -
Сказал(а) спасибо: 19
Поблагодарили 463 раз(а) в 244 сообщениях
Поинты: 38
Поможешь?
Думаю это не супер как сложно.
Если что копеечку скину на кошелек.
С уважением Илья.
Hurghadahome вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.11.2012, 09:00   #538 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от hoz Посмотреть сообщение
eevviill, то что ты написал, это, можно так выразиться, ф-ция определения нового бара.
Ну так всё правильно. Советник будет на открытии свечи проверять условия. Или тебе надо открыто в 15, проверка на следующий день в 15?

Всё. Понял. Но Time[0], я думаю нельзя использовать. Ровно через 24 часа именно такого времени может не быть. особенно если флэт.

Последний раз редактировалось eevviill; 23.11.2012 в 09:05.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.11.2012, 11:16   #539 (permalink)
Активный участник
 
Аватар для greatiger
 
Регистрация: 06.02.2010
Сообщений: 490
Репутация: 68
greatiger
Сказал(а) спасибо: 318
Поблагодарили 67 раз(а) в 59 сообщениях
Поинты: 333
eevviill, привет, а есть какая-нибудь функция,чтобы MAX_Trades стандартно приделывать? (максимальное ограничение колен в мартинах ограничивать не через Макс.лот или просто число сделок в одну сторону (или даже обе))
greatiger вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.11.2012, 11:28   #540 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Вшил ЗигЗаг в советник. Но новые пики не искались. Сделал обнуление буферов. Теперь пару десятков свечей работает и останавливается.

Всё. Проблему решил.
Добавил.

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

PHP код:
int counted_bars 0;
bool downloadhistory=false;

if (
counted_bars==&& downloadhistory// history was downloaded
     
{
      
ArrayInitialize(ZigzagBuffer,0.0);
      
ArrayInitialize(HighMapBuffer,0.0);
      
ArrayInitialize(LowMapBuffer,0.0);
     }
   if (
counted_bars==0
     {
      
limit=Bars-ExtDepth;
      
downloadhistory=true;
     }
   if (
counted_bars>0
     { 
[свернуть]

Последний раз редактировалось eevviill; 23.11.2012 в 11:56.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

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


Опции темы

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

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



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


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