Ответ
 
Опции темы
17.03.2013, 19:54
Аватар для Алекc1234
Алекc1234 Местный житель
Регистрация: 24.03.2011 / Сообщений: 697
Поблагодарили 276 раз(а) / Репутация: 276
Нашёл лучше программу, кого интересует, выкладываю
Вложения:
Тип файла: zip _SpreadController.zip (65.6 Кб, 10 просмотров)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мой тейкпрофит-магнит, а стоплосс-паразит
Тебе повезло,ты не такой как все
Ты работаешь на форексе
Алекc1234 вне форума Ответить с цитированиемОтветить с цитированием  
18.03.2013, 00:13
Аватар для greatiger
greatiger Активный участник
Регистрация: 06.02.2010 / Сообщений: 490
Поблагодарили 67 раз(а) / Репутация: 68
научите как приделывать ограничение количества колен ордеров в советниках

например
1. в переменных пишем тото
extern int Max_trades=4;
2 . после start то-то
3. В функциях в конце то-то

если так конечно вариант???



(а то мне человек пытался объяснять я ничего не понял из этого

Цитата:
1) Пишем в глобальных переменных
PHP код:
extern int Max_trades=4;
int buy,sell;
2) Перед ОрдерСенд пишем
PHP код:
if(buy<Max_orders)
{
OrderSend(...);
}
3) Перед 2 пишем ссылку на функцию подсчёта ордеров
PHP код:
CountOpenPositions();
4) В конце записываем саму функцию.
PHP код:
/////////////////////////////////////////////////////////
void CountOpenPositions()
{
buy=0;
sell=0;

for (int i=OrdersTotal()-1; i>=0; i--)
{
OrderSelect(i,SELECT_BY_POS);
{
if(OrderMagicNumber()==magic)
{
if(OrderType()==OP_BUY) buy++;
if(OrderType()==OP_SELL) sell++;
}
}
}

}
функция подсчета ордеров откуда она взялась, где вызывается и прочее, там макстрейдс, там максордерс - вообщем в другом месте непонятно объяснили(
greatiger вне форума Ответить с цитированиемОтветить с цитированием  
18.03.2013, 05:21
Аватар для AlexeyVik
AlexeyVik Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,712 раз(а) / Репутация: 3708
Сообщение от greatiger Посмотреть сообщение
научите как приделывать ограничение количества колен ордеров в советниках

например
1. в переменных пишем тото
extern int Max_trades=4;
2 . после start то-то
3. В функциях в конце то-то

если так конечно вариант???



(а то мне человек пытался объяснять я ничего не понял из этого



функция подсчета ордеров откуда она взялась, где вызывается и прочее, там макстрейдс, там максордерс - вообщем в другом месте непонятно объяснили(
Тебе и там правильно объяснили. Только поменяй местами пункт 2) и 3)

Функция подсчета ордеров это как раз сердце твоих пожеланий. Она подсчитывает к-во открытых ордеров. её можешь просто скопировать и вставить ниже последней строки кода. Потом перед открытием ордера ставится условие: если открыто меньше заданного, то открываем.

Последний раз редактировалось AlexeyVik; 18.03.2013 в 05:25.
AlexeyVik вне форума Ответить с цитированиемОтветить с цитированием  
3 пользователя(ей) сказали cпасибо:
eevviill (18.03.2013), greatiger (18.03.2013), smartmans (18.03.2013)
18.03.2013, 07:52
Аватар для eevviill
eevviill Заблокирован
За второе место в конкурсе 

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

например
1. в переменных пишем тото
extern int Max_trades=4;
2 . после start то-то
3. В функциях в конце то-то

если так конечно вариант???



(а то мне человек пытался объяснять я ничего не понял из этого



функция подсчета ордеров откуда она взялась, где вызывается и прочее, там макстрейдс, там максордерс - вообщем в другом месте непонятно объяснили(
Этоя блин не поятно объяснил? Может это ты просто не понимаешь. А если так то следует подучить язык MQL4.
eevviill вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
strannik-ps (19.03.2013)
18.03.2013, 09:21
Аватар для greatiger
greatiger Активный участник
Регистрация: 06.02.2010 / Сообщений: 490
Поблагодарили 67 раз(а) / Репутация: 68
Цитата:
Этоя блин не поятно объяснил? Может это ты просто не понимаешь. А если так то следует подучить язык MQL4.
если б я помнил кто...а выразился, что плохо объяснили, так как

понятно же,что налицо нубство именно в понимании кода, а нам тупым надо, чтоб дошло и получилось все разжевать видать еще подробней !

Последний раз редактировалось greatiger; 18.03.2013 в 09:29.
greatiger вне форума Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (18.03.2013), Алекc1234 (18.03.2013)
18.03.2013, 18:08
Аватар для LagmaNN
LagmaNN Активный участник
Регистрация: 27.09.2011 / Сообщений: 226
Поблагодарили 112 раз(а) / Репутация: 113

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

Дальше. Если тебе нужно пресечение вниз, то сравниваем цену открытия бара и закрытия.
PHP код:
if(OrdersTotal()<1)
{
if(Open[1]>lag1 && Close[1]<lag1) OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,SLsell,TPsell,"alf non lag mtf",0,DeepSkyBlue);
}
[свернуть]

Это только для продаж, а пересечение в верх заменить OP_SELL,Lot,Bid,Slippage,SLsell,TPsell
на
OP_BUY,Lot,Bid,Slippage,SLbuy,TPbuy,
да?
как сделать что б и в buy работал?
LagmaNN вне форума Ответить с цитированиемОтветить с цитированием  
19.03.2013, 14:03
Аватар для smartmans
smartmans Активный участник
Регистрация: 07.09.2012 / Адрес: Москва / Сообщений: 119
Поблагодарили 82 раз(а) / Репутация: 83
Подскажите, как в формулу спреда
PHP код:
double SPRD = (Ask Bid)/Point
Вотнуть комиссию брокера? Устаешь вести рассчет.
Желательно альтернативу этому
PHP код:
   double SPRD = (Ask Bid)/Point 6
(чтобы не самому писать число, а уже учитывалась от терминала и без ошибок)
smartmans вне форума Ответить с цитированиемОтветить с цитированием  
19.03.2013, 14:09
Аватар для eevviill
eevviill Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,027 раз(а) / Репутация: 9027
  • Отправить сообщение для eevviill с помощью Skype™
Сообщение от smartmans Посмотреть сообщение
Подскажите, как в формулу спреда
PHP код:
double SPRD = (Ask Bid)/Point
Вотнуть комиссию брокера? Устаешь вести рассчет.
Желательно альтернативу этому
PHP код:
   double SPRD = (Ask Bid)/Point 6
(чтобы не самому писать число, а уже учитывалась от терминала и без ошибок)
Культурней будет так.

SPRD=MarketInfo(Symbol(),MODE_SPREAD);

А комисию самому надо вычислить.
Но если ты считаешь спред отдельного ордера и комисию, то так.
+OrderComission();
eevviill вне форума Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
smartmans (19.03.2013), strannik-ps (19.03.2013)
19.03.2013, 14:27
Аватар для smartmans
smartmans Активный участник
Регистрация: 07.09.2012 / Адрес: Москва / Сообщений: 119
Поблагодарили 82 раз(а) / Репутация: 83
То же самое : (.
Поставил
PHP код:
MarketInfo("EURUSD",MODE_SPREAD
Скомпилилось нормально, но комиссия не вкатила. Причем если индикатор стоит на 5 парах, везде нужно создавать по 1 индикатору, либо выносить переменную и настраивать.
Спред различается по каждой паре.

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

[свернуть]

Со вторым OrderComission не работает - для простого индикатора это
Может есть еще варианты? А то не хочется с округлением +5 пп с неба вставлять
smartmans вне форума Ответить с цитированиемОтветить с цитированием  
19.03.2013, 14:35
Аватар для eevviill
eevviill Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,027 раз(а) / Репутация: 9027
  • Отправить сообщение для eevviill с помощью Skype™
Сообщение от smartmans Посмотреть сообщение
То же самое : (.
Поставил
PHP код:
MarketInfo("EURUSD",MODE_SPREAD
Скомпилилось нормально, но комиссия не вкатила. Причем если индикатор стоит на 5 парах, везде нужно создавать по 1 индикатору, либо выносить переменную и настраивать.
Спред различается по каждой паре.

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

[свернуть]

Со вторым OrderComission не работает - для простого индикатора это
Может есть еще варианты? А то не хочется с округлением +5 пп с неба вставлять
"EURUSD" может лучше Symbol()?

OrderComission() работает везде. Сначало надо выбрать ордер OrderSelect...
eevviill вне форума Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
smartmans (19.03.2013), strannik-ps (19.03.2013)
19.03.2013, 14:40
Аватар для qqmber
qqmber Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
Сообщение от smartmans Посмотреть сообщение
То же самое : (.
Поставил
PHP код:
MarketInfo("EURUSD",MODE_SPREAD
Скомпилилось нормально, но комиссия не вкатила. Причем если индикатор стоит на 5 парах, везде нужно создавать по 1 индикатору, либо выносить переменную и настраивать.
Спред различается по каждой паре.

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

[свернуть]

Со вторым OrderComission не работает - для простого индикатора это
Может есть еще варианты? А то не хочется с округлением +5 пп с неба вставлять
Странно, но комиссию до открытия ордера узнать не получится. Разве что поискать символ в истории и посчитать, сколько взяли за лот.
qqmber вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
smartmans (19.03.2013)
19.03.2013, 14:47
Аватар для AlexeyVik
AlexeyVik Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,712 раз(а) / Репутация: 3708
Сообщение от smartmans Посмотреть сообщение
То же самое : (.
Поставил
PHP код:
MarketInfo("EURUSD",MODE_SPREAD
Скомпилилось нормально, но комиссия не вкатила. Причем если индикатор стоит на 5 парах, везде нужно создавать по 1 индикатору, либо выносить переменную и настраивать.
Спред различается по каждой паре.

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

[свернуть]

Со вторым OrderComission не работает - для простого индикатора это
Может есть еще варианты? А то не хочется с округлением +5 пп с неба вставлять
Ты совершенно зря пытаешься всунуть комиссию в индикатор. Комиссия напрямую зависит от лота ордера, цены открытия ордера и конечно-же валюты ордера и депозита. Но самое главное это лот.
Ну если желание неудержимо, то формула примерно такая (не уверен что правильно помню)
xxx единиц базовой валюты за 1 полный лот выраженных в валюте депозита счёта по текущему курсу. xxx может у разных брокеров отличаться.

ps: Вот можно подробно почитать здесь _http://www.alpari.ru/ru/trading/special_terms/

Последний раз редактировалось AlexeyVik; 19.03.2013 в 15:06.
AlexeyVik вне форума Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (19.03.2013), smartmans (19.03.2013)
19.03.2013, 15:53
Аватар для LagmaNN
LagmaNN Активный участник
Регистрация: 27.09.2011 / Сообщений: 226
Поблагодарили 112 раз(а) / Репутация: 113
ребят подскажите новичку: что и где нужно прописать что б советник при срабатывании стоплося советник открывал следующий лот как в мартине с большим лотом?
LagmaNN вне форума Ответить с цитированиемОтветить с цитированием  
19.03.2013, 15:58
Регистрация: 13.03.2009 / Сообщений: 2,320
Поблагодарили 1,944 раз(а) / Репутация: 2019
Сообщение от LagmaNN Посмотреть сообщение
ребят подскажите новичку: что и где нужно прописать что б советник при срабатывании стоплося советник открывал следующий лот как в мартине с большим лотом?
Нужно заказать переделку программисту. Например здесь

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме Ответить с цитированиемОтветить с цитированием  
19.03.2013, 16:01
Аватар для LagmaNN
LagmaNN Активный участник
Регистрация: 27.09.2011 / Сообщений: 226
Поблагодарили 112 раз(а) / Репутация: 113
я понял, спасибо.
LagmaNN вне форума Ответить с цитированиемОтветить с цитированием  
19.03.2013, 17:11
Аватар для eevviill
eevviill Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,027 раз(а) / Репутация: 9027
  • Отправить сообщение для eevviill с помощью Skype™
eevviill вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
strannik-ps (19.03.2013)
19.03.2013, 17:22
Регистрация: 05.01.2012 / Сообщений: 1,149
Поблагодарили 7,800 раз(а) / Репутация: 7844
Приветствую!
Ушел в ступор.
Поясните, как программно получить значение количество баров, от минимума прошлой недели до начало текущей.
strannik-ps вне форума Ответить с цитированиемОтветить с цитированием  
19.03.2013, 17:37
Аватар для alex1978
alex1978 Местный знаток
Регистрация: 23.11.2008 / Сообщений: 802
Поблагодарили 579 раз(а) / Репутация: 596
Подскажите, может кто сталкивался с таким?
Эксперт выставляет один отложенный ордер 0.2 лота
Вместо этого открываются 2-е позиции по 0.1
Одна из позиций 0.1 имеет тикет отложенного а вторая другой тикет
Естейственно, стоп и тейк у них тоже общий...
Обе они имеют один магик номер и общий комментарий
Сам алгоритм совы полностью исключает такие действия.
В логах подобные действия(момент открытия 2-х позиций по 0.1) не отображаются
КАК ВООБЩЕ ТАКОЕ МОЖЕТ БЫТЬ????
alex1978 на форуме Ответить с цитированиемОтветить с цитированием  
19.03.2013, 17:39
Регистрация: 13.03.2009 / Сообщений: 2,320
Поблагодарили 1,944 раз(а) / Репутация: 2019
Сообщение от strannik-ps Посмотреть сообщение
Приветствую!
Ушел в ступор.
Поясните, как программно получить значение количество баров, от минимума прошлой недели до начало текущей.
Находишь временные границы. Можно с помощью iTime на W1.
Дальше с помощью iBarShift найди номера баров на нужном тайм фрейме.
Дальше находишь бар с минимумом с помошью iLowest
Разница между этим баром и баром временной границы начала текущей недели и есть то что хочешь.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
strannik-ps (19.03.2013)
19.03.2013, 17:45
Регистрация: 13.03.2009 / Сообщений: 2,320
Поблагодарили 1,944 раз(а) / Репутация: 2019
Сообщение от alex1978 Посмотреть сообщение
Подскажите, может кто сталкивался с таким?
Эксперт выставляет один отложенный ордер 0.2 лота
Вместо этого открываются 2-е позиции по 0.1
Одна из позиций 0.1 имеет тикет отложенного а вторая другой тикет
Естейственно, стоп и тейк у них тоже общий...
Обе они имеют один магик номер и общий комментарий
Сам алгоритм совы полностью исключает такие действия.
В логах подобные действия(момент открытия 2-х позиций по 0.1) не отображаются
КАК ВООБЩЕ ТАКОЕ МОЖЕТ БЫТЬ????
Почитай регламент или позвони в тех поддержку. Отложенный ордер находится на сервере ДЦ и когда его цена цепляет он срабатывает без участия терминала клиента и советника.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
alex1978 (19.03.2013)
Ответ

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


Опции темы

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

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



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


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