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

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

например
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   #1063 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3646
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,114
Поблагодарили 3,650 раз(а) в 1,470 сообщениях
Поинты: 2007
Сообщение от 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   #1064 (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 Посмотреть сообщение
научите как приделывать ограничение количества колен ордеров в советниках

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

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



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



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

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

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

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

Дальше. Если тебе нужно пресечение вниз, то сравниваем цену открытия бара и закрытия.
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   #1067 (permalink)
Активный участник
 
Аватар для smartmans
 
Регистрация: 07.09.2012
Адрес: Москва
Сообщений: 119
Репутация: 82
smartmans
Сказал(а) спасибо: 354
Поблагодарили 81 раз(а) в 45 сообщениях
Поинты: 62
Подскажите, как в формулу спреда
PHP код:
double SPRD = (Ask Bid)/Point
Вотнуть комиссию брокера? Устаешь вести рассчет.
Желательно альтернативу этому
PHP код:
   double SPRD = (Ask Bid)/Point 6
(чтобы не самому писать число, а уже учитывалась от терминала и без ошибок)
smartmans вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 19.03.2013, 14:09   #1068 (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™
Сообщение от 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   #1069 (permalink)
Активный участник
 
Аватар для smartmans
 
Регистрация: 07.09.2012
Адрес: Москва
Сообщений: 119
Репутация: 82
smartmans
Сказал(а) спасибо: 354
Поблагодарили 81 раз(а) в 45 сообщениях
Поинты: 62
То же самое : (.
Поставил
PHP код:
MarketInfo("EURUSD",MODE_SPREAD
Скомпилилось нормально, но комиссия не вкатила. Причем если индикатор стоит на 5 парах, везде нужно создавать по 1 индикатору, либо выносить переменную и настраивать.
Спред различается по каждой паре.

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

[свернуть]

Со вторым OrderComission не работает - для простого индикатора это
Может есть еще варианты? А то не хочется с округлением +5 пп с неба вставлять
smartmans вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 19.03.2013, 14:35   #1070 (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™
Сообщение от 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   #1071 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от smartmans Посмотреть сообщение
То же самое : (.
Поставил
PHP код:
MarketInfo("EURUSD",MODE_SPREAD
Скомпилилось нормально, но комиссия не вкатила. Причем если индикатор стоит на 5 парах, везде нужно создавать по 1 индикатору, либо выносить переменную и настраивать.
Спред различается по каждой паре.

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

[свернуть]

Со вторым OrderComission не работает - для простого индикатора это
Может есть еще варианты? А то не хочется с округлением +5 пп с неба вставлять
Странно, но комиссию до открытия ордера узнать не получится. Разве что поискать символ в истории и посчитать, сколько взяли за лот.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
smartmans (19.03.2013)
Старый 19.03.2013, 14:47   #1072 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3646
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,114
Поблагодарили 3,650 раз(а) в 1,470 сообщениях
Поинты: 2007
Сообщение от 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   #1073 (permalink)
Активный участник
 
Аватар для LagmaNN
 
Регистрация: 27.09.2011
Сообщений: 226
Репутация: 113
LagmaNN LagmaNN
Сказал(а) спасибо: 60
Поблагодарили 112 раз(а) в 51 сообщениях
Поинты: 54
ребят подскажите новичку: что и где нужно прописать что б советник при срабатывании стоплося советник открывал следующий лот как в мартине с большим лотом?
LagmaNN вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 19.03.2013, 15:58   #1074 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от LagmaNN Посмотреть сообщение
ребят подскажите новичку: что и где нужно прописать что б советник при срабатывании стоплося советник открывал следующий лот как в мартине с большим лотом?
Нужно заказать переделку программисту. Например здесь

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 19.03.2013, 16:01   #1075 (permalink)
Активный участник
 
Аватар для LagmaNN
 
Регистрация: 27.09.2011
Сообщений: 226
Репутация: 113
LagmaNN LagmaNN
Сказал(а) спасибо: 60
Поблагодарили 112 раз(а) в 51 сообщениях
Поинты: 54
я понял, спасибо.
LagmaNN вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 19.03.2013, 17:11   #1076 (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™
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
strannik-ps (19.03.2013)
Старый 19.03.2013, 17:22   #1077 (permalink)
 
Аватар для strannik-ps
 
Регистрация: 05.01.2012
Сообщений: 1,151
Репутация: 7843
strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps
Сказал(а) спасибо: 3,958
Поблагодарили 7,799 раз(а) в 1,882 сообщениях
Поинты: 82
Приветствую!
Ушел в ступор.
Поясните, как программно получить значение количество баров, от минимума прошлой недели до начало текущей.
strannik-ps вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 19.03.2013, 17:37   #1078 (permalink)
Местный знаток
 
Аватар для alex1978
 
Регистрация: 23.11.2008
Сообщений: 797
Репутация: 594
alex1978 - alex1978 - alex1978 - alex1978 - alex1978 - alex1978 -
Сказал(а) спасибо: 235
Поблагодарили 577 раз(а) в 308 сообщениях
Поинты: 506
Подскажите, может кто сталкивался с таким?
Эксперт выставляет один отложенный ордер 0.2 лота
Вместо этого открываются 2-е позиции по 0.1
Одна из позиций 0.1 имеет тикет отложенного а вторая другой тикет
Естейственно, стоп и тейк у них тоже общий...
Обе они имеют один магик номер и общий комментарий
Сам алгоритм совы полностью исключает такие действия.
В логах подобные действия(момент открытия 2-х позиций по 0.1) не отображаются
КАК ВООБЩЕ ТАКОЕ МОЖЕТ БЫТЬ????
alex1978 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 19.03.2013, 17:39   #1079 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от 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   #1080 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1966
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,895 раз(а) в 1,071 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от 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 Выкл.



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


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