Ответ
 
Опции темы
Старый 18.11.2012, 09:00   #501 (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™
Сообщение от Алекc1234 Посмотреть сообщение
Спасибо большое. А не подскажете, как можно сделать, чтобы при Close[i] учитывалось бы несколько свечей. То есть скажем i равнялось бы от первой свечи до седьмой.
Точно не понял что вы хотите, но думаю так.
PHP код:
double prof[];

for(
int i=1;i<8;i++)
{
prof[i]= (Close[i]-OrderOpenPrice())/Point;



Последний раз редактировалось eevviill; 18.11.2012 в 09:01. Причина: php
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Алекc1234 (18.11.2012)
Старый 18.11.2012, 12:47   #502 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Ещё один вопрос, если можно. Как написать - определённая свеча(скажем четвёртая) от открытия ордера? То есть ордер открылся и мы находим четвёртую свечу от этого открытия...
Алекc1234 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 18.11.2012, 13:51   #503 (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™
Сообщение от Алекc1234 Посмотреть сообщение
Ещё один вопрос, если можно. Как написать - определённая свеча(скажем четвёртая) от открытия ордера? То есть ордер открылся и мы находим четвёртую свечу от этого открытия...
Думаю надо использовать OrderOpenTime().
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 18.11.2012, 13:56   #504 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Сообщение от eevviill Посмотреть сообщение
Думаю надо использовать OrderOpenTime().
Я так и думал, но как от OrderOpenTime() осчитывать свечи - не знаю
Алекc1234 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 18.11.2012, 14:13   #505 (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™
Сообщение от Алекc1234 Посмотреть сообщение
Я так и думал, но как от OrderOpenTime() осчитывать свечи - не знаю
PHP код:
iBarShift(NULL,0,OrderOpenTime()); 

Последний раз редактировалось eevviill; 18.11.2012 в 14:22. Причина: php
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 18.11.2012, 14:22   #506 (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 код:
TimeHour(OrderOpenTime())
TimeMinute(OrderOpenTime()) 
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Алекc1234 (18.11.2012)
Старый 18.11.2012, 18:07   #507 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Сообщение от eevviill Посмотреть сообщение
Можна так ещё узнавать время открытия.

PHP код:
TimeHour(OrderOpenTime())
TimeMinute(OrderOpenTime()) 
Время открытия узнали. Теперь как узнать какая свеча, допустим, четвёртая после времени открытия?
Алекc1234 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 18.11.2012, 18:10   #508 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от Алекc1234 Посмотреть сообщение
Время открытия узнали. Теперь как узнать какая свеча, допустим, четвёртая после времени открытия?
Так ответил же уже
Сообщение от eevviill Посмотреть сообщение
PHP код:
iBarShift(NULL,0,OrderOpenTime()); 

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (18.11.2012)
Старый 18.11.2012, 18:16   #509 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Сообщение от Ugar Посмотреть сообщение
Так ответил же уже
Я полный новичок в программировании. Ещё многого не знаю. И мне кажется, что это мы определили свечу, на которой открылся ордер. А как определить четвёртую свечу после открытия?
Алекc1234 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 18.11.2012, 18:24   #510 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от Алекc1234 Посмотреть сообщение
Я полный новичок в программировании. Ещё многого не знаю. И мне кажется, что это мы определили свечу, на которой открылся ордер. А как определить четвёртую свечу после открытия?
Вычти 4
Код:
iBarShift(NULL,0,OrderOpenTime())-4;

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (18.11.2012), Алекc1234 (18.11.2012)
Старый 18.11.2012, 18:30   #511 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Сообщение от Ugar Посмотреть сообщение
Вычти 4
Код:
iBarShift(NULL,0,OrderOpenTime())-4;
А, спасибо большое, понятно
Алекc1234 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 19.11.2012, 15:25   #512 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Здравствуйте. Подскажите, если открыто несколько рыночных ордеров, то как в коде написать цену первого открытого ордера? То есть OderOpenPrice() первого по времени открытого ордера.
Алекc1234 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 19.11.2012, 15:39   #513 (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™
Сообщение от Алекc1234 Посмотреть сообщение
Здравствуйте. Подскажите, если открыто несколько рыночных ордеров, то как в коде написать цену первого открытого ордера? То есть OderOpenPrice() первого по времени открытого ордера.
PHP код:
 OrderSelect(OrdersTotal()-1,SELECT_BY_POS);
   
double fir_or_pr=OrderOpenPrice(); 
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Алекc1234 (19.11.2012)
Старый 19.11.2012, 15:47   #514 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Сообщение от eevviill Посмотреть сообщение
PHP код:
 OrderSelect(OrdersTotal()-1,SELECT_BY_POS);
   
double fir_or_pr=OrderOpenPrice(); 
eevviill - Вам огромное спасибо - всегда мне помогаете, жаль, что я ещё ничего не смог заработать, иначе отблагодарил бы Вас и материально. Вообщем, большой Вам респект! Я и на других форумах участвую, но только здесь Вы всегда отвечаете и выручаете!!!
Алекc1234 на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (19.11.2012)
Старый 19.11.2012, 19:50   #515 (permalink)
Активный участник
 
Аватар для greatiger
 
Регистрация: 06.02.2010
Сообщений: 490
Репутация: 68
greatiger
Сказал(а) спасибо: 318
Поблагодарили 67 раз(а) в 59 сообщениях
Поинты: 333
Научите приделывать ММ к советникам как-нибудь попроще...есть может какие стандартные функции,которые можно в код подставлять?

И макс.лот бы еще
greatiger вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 19.11.2012, 19:59   #516 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Сообщение от greatiger Посмотреть сообщение
Научите приделывать ММ к советникам как-нибудь попроще...есть может какие стандартные функции,которые можно в код подставлять?

И макс.лот бы еще
Я вставляю ММ в сову так:
extern bool Use_MM = true;
extern double K = 0.02;
Lot = 0.1;
if (Use_MM)
{
Lots = K*AccountBalance()/100;
double lotstep = MarketInfo(Symbol(),MODE_LOTSTEP);
Lots = MathRound(Lots/lotstep)*lotstep;
}
else Lots=Lot;
Предпоследние две строчки - это округление лота в большую сторону

Последний раз редактировалось Алекc1234; 19.11.2012 в 20:44.
Алекc1234 на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (19.11.2012), greatiger (21.11.2012)
Старый 19.11.2012, 21:14   #517 (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 Посмотреть сообщение
Научите приделывать ММ к советникам как-нибудь попроще...есть может какие стандартные функции,которые можно в код подставлять?
...
В глобальные переменные
PHP код:
extern double Lot 0.1;
extern bool use_percent_of_deposit false;
extern double Risk 1
В Старт
PHP код:
 //расчёт лота от % депозита
 
if(use_percent_of_depositLot=GetLot(); 
Функция
PHP код:
///////////////////////////////////////////////////////////////////////////////////////
double GetLot()
{
 
double Free    =AccountFreeMargin();
 
double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
 
double Min_Lot =MarketInfo(Symbol(),MODE_MINLOT);
 
double Max_Lot =MarketInfo(Symbol(),MODE_MAXLOT);
 
double Step    =MarketInfo(Symbol(),MODE_LOTSTEP);
 
double Lot     =MathFloor(Free*Risk/100/One_Lot/Step)*Step;
 if(
Lot<Min_LotLot=Min_Lot;
 if(
Lot>Max_LotLot=Max_Lot;
 if(
Lot*One_Lot>Free) return(0.0);
 
return(
Lot);


Последний раз редактировалось eevviill; 19.11.2012 в 21:48.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
greatiger (21.11.2012)
Старый 19.11.2012, 21:47   #518 (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) Ищешь ОрдерСенд.
2) Смотришь что там стоит в третем значении. Пример. OrderSend(Symbol,1,g_lots_142,...)
3)Ставишь перед OrderSend
PHP код:
if(g_lots_142<=Max_lots)
{
OrderSend(Symbol,1,g_lots_142,...)

eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
greatiger (21.11.2012)
Старый 21.11.2012, 16:00   #519 (permalink)
Активный участник
 
Аватар для greatiger
 
Регистрация: 06.02.2010
Сообщений: 490
Репутация: 68
greatiger
Сказал(а) спасибо: 318
Поблагодарили 67 раз(а) в 59 сообщениях
Поинты: 333
Есть первый самостоятельный ММ хоть и не без небольшой самодеятельности и труда рыбка потащилась )
greatiger вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (21.11.2012)
Старый 21.11.2012, 17:55   #520 (permalink)
Активный участник
 
Аватар для greatiger
 
Регистрация: 06.02.2010
Сообщений: 490
Репутация: 68
greatiger
Сказал(а) спасибо: 318
Поблагодарили 67 раз(а) в 59 сообщениях
Поинты: 333
Цитата:
Ставишь перед OrderSend
PHP код:
if(g_lots_142<=Max_lots)
{
OrderSend(Symbol,1,g_lots_142,...)
}
eevviill, а Max_lots не надо как вводимую переменную в начале прописывать?
greatiger вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

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


Опции темы

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

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



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


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