Ответить
04.10.2013, 16:02
Аватар для Leonup
Leonup Leonup вне форума Новичок форума
Регистрация: 23.12.2011 / Сообщений: 58
Поблагодарили 4 раз(а) / Репутация: 5

По умолчанию Убыток в пунктах

Здравствуйте!

Итог графы Прибыль в терминале показывает сумму прибыли или убытков.
Меня интересует сумма убытков. Допустим, по одному инструменту открыто несколько ордеров, и общий итог – Убыток.
И если OrderProfit() разделить на Point:
OrderProfit() / Point,
то ведь получится сумма убытка в пунктах (с учетом свопов)?
Если это правильно, то, странно, что в журнал выводятся огромные непонятные числа, например, order_profit (это у меня переменная) = -79092000.
Или по этой формуле рассчитывать неправильно? А тогда как будет правильно?
Спасибо.
04.10.2013, 16:17
Аватар для ansol
ansol ansol на форуме
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,021
Поблагодарили 856 раз(а) / Репутация: 842
Точно не пил? Как-то так:

PHP код:
      fOpenBuy dGreen iHigh(sSymboliTFKijun) &&
                  
dBid dRed &&
                  
dRed dBlue &&
                  
dBlue SenkouSpanA &&
                  
dBlue SenkouSpanB &&
                  (
dRed dBlue) > (dRedT dBlueT
Точно!
Да не, без скобок все работает. Невнимательность меня, как обычно, подвела, параметры Ишимоку на входе неверно задал Я поэтому и пишу Red, Blue, Green, что не запоминаю тенканы-киджуны.
Кстати, очень метко входит именно по этой комбинации - парад линий после креста.
04.10.2013, 16:22
Аватар для ansol
ansol ansol на форуме
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,021
Поблагодарили 856 раз(а) / Репутация: 842
Здравствуйте!

Итог графы Прибыль в терминале показывает сумму прибыли или убытков.
Меня интересует сумма убытков. Допустим, по одному инструменту открыто несколько ордеров, и общий итог – Убыток.
И если OrderProfit() разделить на Point:
OrderProfit() / Point,
то ведь получится сумма убытка в пунктах (с учетом свопов)?
Если это правильно, то, странно, что в журнал выводятся огромные непонятные числа, например, order_profit (это у меня переменная) = -79092000.
Или по этой формуле рассчитывать неправильно? А тогда как будет правильно?
Спасибо.
Зачем это профит делить на Пойнт?
OrderProfit() выдает результат в валюте депозита, только складывай по всем ордерам и все
Свопы надо отдельно учитывать через OrderSwap(), комиссию через OrderCommision()
04.10.2013, 16:35
Аватар для Leonup
Leonup Leonup вне форума Новичок форума
Регистрация: 23.12.2011 / Сообщений: 58
Поблагодарили 4 раз(а) / Репутация: 5
Зачем это профит делить на Пойнт?
OrderProfit() выдает результат в валюте депозита, только складывай по всем ордерам и все
Свопы надо отдельно учитывать через OrderSwap(), комиссию через OrderCommision()
Мне нужна сумма убытков в пунктах, а т.к. открыты ордера по одной валютной паре, поэтому, думаю, надо делить всю сумму на Point.
04.10.2013, 16:40
Аватар для ansol
ansol ansol на форуме
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,021
Поблагодарили 856 раз(а) / Репутация: 842
Мне нужна сумма убытков в пунктах, а т.к. открыты ордера по одной валютной паре, поэтому, думаю, надо делить всю сумму на Point.

Надо хорошо подумать:
PHP код:
int iProfit OrderProfit()/(MarketInfo(Symbol(), MODE_TICKVALUE)*OrderLots()); 
Поинты тут ни при чем
04.10.2013, 17:17
Аватар для Leonup
Leonup Leonup вне форума Новичок форума
Регистрация: 23.12.2011 / Сообщений: 58
Поблагодарили 4 раз(а) / Репутация: 5

Надо хорошо подумать:
PHP код:
int iProfit OrderProfit()/(MarketInfo(Symbol(), MODE_TICKVALUE)*OrderLots()); 
Поинты тут ни при чем
И правда, ведь, надо было ХОРОШО подумать! Спасибо огромное!
04.10.2013, 18:35
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
Точно!
Да не, без скобок все работает.
Не согласен. Без скобок другое условие уже. А работать может и без них...


Невнимательность меня, как обычно, подвела, параметры Ишимоку на входе неверно задал Я поэтому и пишу Red, Blue, Green, что не запоминаю тенканы-киджуны.
Кстати, очень метко входит именно по этой комбинации - парад линий после креста.
У нас вообще невнимательность - главный враг. Я свои косяки разгребал сколько раз, так чаще глупые ошибки, ежели что-то посерьёзнее. А ищем то обычно нечто такое, что типа сложное якобы.
Кстати, хз что там с Ишимоку, но мне машки ближе к телу.
04.10.2013, 18:37
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ

Надо хорошо подумать:
PHP код:
int iProfit OrderProfit()/(MarketInfo(Symbol(), MODE_TICKVALUE)*OrderLots()); 
Поинты тут ни при чем

Это что за изврат? На кой тик множить на лот?
Нужно получить суммарный профит?
04.10.2013, 20:05
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 596
Поблагодарили 708 раз(а) / Репутация: 711

По умолчанию Господа проггеры - есть у вас сова самая простая?

малость подзабыл язык, из-за перерыва...хотел бы освежить память, от простого к сложному...есть у кого нибудь рабочая сова, с самым маленьким размером кода, работающая по любому алгоритму, а то глянешь внутрь и глаза разбегаются от обилия строчек кода))
самый простой Илан 1.6 динамик оказался в 433 строки кода, объемом 21килобайт...
если у кого есть такой сов, скиньте плиз в ветку, заранее СПАСИБО!
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)

Последний раз редактировалось Milord; 04.10.2013 в 20:09.
04.10.2013, 22:55
Аватар для virtuous
virtuous virtuous вне форума Прохожий
Регистрация: 04.10.2013 / Сообщений: 2
Поблагодарили 0 раз(а) / Репутация: 1
Здравствуйте!
Неделю назад начал изучать MQL4, много непонятно, поэтому понадобилась помощь опытных людей.
Сделал сетку из 4 отложенных ордеров в установленное время на пробой максимального и минимального значения:
покупка с фиксированным профитом и без профита и аналогичная продажа.

extern double Time_Open=; // Время открытия ордеров
extern double Lot=; // лот
extern double TP=; // тейк-профит, пунктов от текущей цены
extern int _Time_=; //количество баров для поиска High и Low

int start()
{
int Cur_Hour=Hour(); // Серверное время в часах
double Cur_Min = Minute(); // Серверное время в минутах
double Cur_time=Cur_Hour + Cur_Min/100; // Текущее время
double _High_=iHigh(NULL,PERIOD_M15,iHighest(NULL,PERIOD_ M15,MODE_HIGH,_Time_,1)); // находим значение High
double _Low_=iLow(NULL,PERIOD_M15,iLowest(NULL,PERIOD_M15 ,MODE_LOW,_Time_,1)); // находим значение Low

if (Time_Open==Cur_time) // Если наступило время события
{
int ticket1=OrderSend(Symbol(),OP_BUYSTOP,Lot,_High_,0 ,_Low_,_High_+TP*Point,0,0,0,Blue); //отложенный на покупку с ТП
int ticket2=OrderSend(Symbol(),OP_BUYSTOP,Lot,_High_,0 ,_Low_,0,0,0,0,Blue); //отложенный на покупку без ТП
int ticket3=OrderSend(Symbol(),OP_SELLSTOP,Lot,_Low_,0 ,_High_,_Low_-TP*Point,0,0,0,Red); //отложенный на продажу с ТП
int ticket4=OrderSend(Symbol(),OP_SELLSTOP,Lot,_Low_,0 ,_High_,0,0,0,0,Red); //отложенный на продажу без ТП
}

return;
}


Все работает, но в неограниченном количестве ) на тесте открылось 348 ордеров
Как их ограничить до требуемых 4.
Очень надеюсь на помощь, спасибо
05.10.2013, 09:14
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 596
Поблагодарили 708 раз(а) / Репутация: 711

По умолчанию помогите плиз найти ошибку???

тут накидал кусок кода совы, при компиляции выдает ошибку, не могу найти, гляньте своим зорким взглядом, может увидите...заранее СПАСИБО!
int start()
{
//----
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==False )
{
if(Bid>iMA(NULL,0,MAPeriod, MAShift,MODE_EMA,PRICE_CLOSE,1);
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Ask-SL*Point,Ask+TP*Point,0,Magic,0,Green);
}
}

{
if(Bid<iMA(NULL,0,MAPeriod,MAShift,MODE_EMA,PRICE_ CLOSE,1);
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,0,Bid+SL*Point ,Bid-TP*Point,0,Magic,0,Green);
}
}
//----------------------------------------------
return(0);
}
будет ли в принципе этот кусок кода работать в сове?
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)

Последний раз редактировалось Milord; 05.10.2013 в 09:47.
05.10.2013, 09:52
Аватар для Рыболов
Рыболов Рыболов вне форума Новичок форума
Регистрация: 16.07.2013 / Сообщений: 24
Поблагодарили 14 раз(а) / Репутация: 15
int start()
{
//----
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==False )
{
if(Bid>iMA(Symbol(),PERIOD_H1,0,21,0,1,4,0)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Ask-SL*Point,Ask+TP*Point,0,Magic,0,Green);
}
if(Bid<iMA(Symbol(),PERIOD_H1,0,21,0,1,4,0)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,0,Bid+SL*Point ,Bid-TP*Point,0,Magic,0,Green);
}

//----------------------------------------------
return(0);
}


помойму так лучше будет и можно без скобок если 1 оператор после if

Почисть историю личных сообщений а то отправить не могу тебе лс
05.10.2013, 13:13
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 596
Поблагодарили 708 раз(а) / Репутация: 711
Сообщение от: Рыболов
int start()
{
//----
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==False )
{
if(Bid>iMA(Symbol(),PERIOD_H1,0,21,0,1,4,0)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Ask-SL*Point,Ask+TP*Point,0,Magic,0,Green);
}
if(Bid<iMA(Symbol(),PERIOD_H1,0,21,0,1,4,0)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,0,Bid+SL*Point ,Bid-TP*Point,0,Magic,0,Green);
}

//----------------------------------------------
return(0);
}


помойму так лучше будет и можно без скобок если 1 оператор после if

Почисть историю личных сообщений а то отправить не могу тебе лс
сообщения почистил....
код при компиляции стал выдавать 2 ошибки, вместо прежней 1-й)
не хватало 1й скобки фигурной, их число должно быть четным...но все равно выдает 1 ошибку
вот код что щас есть, число скобок четное, где ошибка непойму???
int start()
{
//----
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==False )
{
if(Bid>iMA(Symbol(),PERIOD_H1,0,21,0,1,4,0)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Ask-SL*Point,Ask+TP*Point,0,Magic,0,Green);
}

if(Bid<iMA(Symbol(),PERIOD_H1,0,21,0,1,4,0)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,0,Bid+SL*Point ,Bid-TP*Point,0,Magic,0,Green);
}
}
/----------------------------------------------
return(0);
}
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)

Последний раз редактировалось Milord; 05.10.2013 в 13:19.
05.10.2013, 14:38
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
Очень надеюсь на помощь, спасибо
Дорогой ньюб,
чтобы надеяться на помощь по логике, надо показывать код, компилирующийся без ошибок. Иначе это будет вопрос из серии "где я накосячил в синтаксисе".
extern double Time_Open=; // Время открытия ордеров
Вот это выше сразу мимо. Нельзя переменную инициализировать ничем.
05.10.2013, 14:48
Аватар для qqmber
qqmber qqmber вне форума Почётный гражданин
Регистрация: 20.01.2013 / Сообщений: 530
Поблагодарили 386 раз(а) / Репутация: 386
if(Bid>iMA(Symbol(),PERIOD_H1,0,21,0,1,4,0))
Дважды.
И у iMA семь параметров, не восемь.
Я начинаю себя чувствовать нянем в детсаду
Milord 
05.10.2013, 15:37
Аватар для virtuous
virtuous virtuous вне форума Прохожий
Регистрация: 04.10.2013 / Сообщений: 2
Поблагодарили 0 раз(а) / Репутация: 1
Дорогой ньюб,
чтобы надеяться на помощь по логике, надо показывать код, компилирующийся без ошибок. Иначе это будет вопрос из серии "где я накосячил в синтаксисе".
extern double Time_Open=; // Время открытия ордеров
Вот это выше сразу мимо. Нельзя переменную инициализировать ничем.
код компилируется без ошибок. я просто переменные не заполнял. достаточно было ввести время любое и количество баров для поиска и все заработало бы.
Очень долго ждал ответа, успел разобраться самостоятельно, сасибо за ответ.
С уважением, ньюб
05.10.2013, 16:20
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 596
Поблагодарили 708 раз(а) / Репутация: 711
Дважды.
И у iMA семь параметров, не восемь.
Я начинаю себя чувствовать нянем в детсаду
благодарю!!!
ну что поделаешь, мы все няни друг другу...
просто видимо не выспался, не заметил, но и строчки брал с готовой совы, понадеялся что там нет ошибок)))
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
05.10.2013, 18:42
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
благодарю!!!
ну что поделаешь, мы все няни друг другу...
просто видимо не выспался, не заметил, но и строчки брал с готовой совы, понадеялся что там нет ошибок)))

Если не понимаете код, не нужно его брать. А если уж взяли, то досконально его изучайте, а не бездумно копируйте.
06.10.2013, 06:44
Аватар для Рыболов
Рыболов Рыболов вне форума Новичок форума
Регистрация: 16.07.2013 / Сообщений: 24
Поблагодарили 14 раз(а) / Репутация: 15
Всем добрый день. Интересует вопрос как сделать вызов собственного индикатора из советника для получения данных с индикатора.

Понимаю что его нужно гдето объявить и потом обращаться для получения данных, но где объявлять и как обращаться непонятно... толи справку плохо читал то ли там этого нет, объясните пожайлуста кто разбирается желательно с примерами кода.
06.10.2013, 06:50
Аватар для expforex
expforex expforex вне форума Программиров
Регистрация: 11.01.2009 / Сообщений: 2,134
Поблагодарили 2,097 раз(а) / Репутация: 2155
Сообщение от: Рыболов
Всем добрый день. Интересует вопрос как сделать вызов собственного индикатора из советника для получения данных с индикатора.

Понимаю что его нужно гдето объявить и потом обращаться для получения данных, но где объявлять и как обращаться непонятно... толи справку плохо читал то ли там этого нет, объясните пожайлуста кто разбирается желательно с примерами кода.
Привет,

на примере вполне известного индикатора:
double ExampleCustom=iCustom(Symbol(),0,"Moving Averages",20,0,MODE_SMA,shift); // Пример вызова пользовательского индикатора
Советники на заказ! admin@expforex.com
Говорим Спасибо
Ответить

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


Опции темы

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

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



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


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