Расчет прибыли при открытии ордера???

 

Добрый день!!!

Я дилетант!!!

1. Прошу разъяснить есть Ask и Bid

Что из них Close[0] и Open[0] или какая связь или разница (обыскал всю документацию так и не нашел)

2. Можно ли както расчитать прибыль для еще не открытого ордера

т.е.

2.1 Покупка

Прибыль=(Bid*Point)-(Ask*Point+MarketInfo(Symbol(), MODE_SPREAD));

или

Прибыль=(Close[0]*Point)-(Open[0]*Point+MarketInfo(Symbol(), MODE_SPREAD));???

2.2 Продажа

Прибыль=Ask*Point+MarketInfo(Symbol(), MODE_SPREAD)-(Bid*Point);

или

Прибыль=Open[0]*Point+MarketInfo(Symbol(), MODE_SPREAD)-(Close[0]*Point);???


Какие еще нужно учесть данные через MarketInfo чтобы точнее был расчет

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

 
Как Вы думаете почему Вам не отвечают? Уверяю, это не потому что вы, как сами сказали, дилетант.
Просто запретив давать вам самый нужный для вас совет Вы ограничили число ответов до 0 !

Хотел было вам что-либо посоветовать, но в вашем посте ТАКОЕ количество ошибок что даже не знаю с чего начать.
Вам нужно начать с определений.
 
pro_:
Как Вы думаете почему Вам не отвечают? Уверяю, это не потому что вы, как сами сказали, дилетант.
Просто запретив давать вам самый нужный для вас совет Вы ограничили число ответов до 0 !

Хотел было вам что-либо посоветовать, но в вашем посте ТАКОЕ количество ошибок что даже не знаю с чего начать.
Вам нужно начать с определений.

Спасибо за хоть какой нибудь ответ!!!

Давайте с определений

Bid -Последняя известная цена покупки (предложение на покупку) текущего инструмента.

Ask -Последняя известная цена продажи (запрашиваемая цена) текущего инструмента.

Point - Размер пункта текущего инструмента в валюте котировки.

Close[0] - Массив-таймсерия, содержащий цены закрытия каждого бара текущего графика.Текущий бар, самый последний в массиве, имеет индекс 0.

MarketInfo(Symbol(), MODE_SPREAD) -информацию о финансовых инструментах, перечисленных в окне "Обзор рынка" в частности Спрэд в пунктах

Итак мне нужно просчитать прибыль при начале открытия ордера. т.е. Получить те-же данные которые отражаются в терминале по открытым ордерам, но до открытия

 

Как можно рассчитать ещё неубитого медведя? И предполагать бесмысленно! Изучайте учебник, документацию, там и расчёт лота узнаете!

 
AT-2000:

Спасибо за хоть какой нибудь ответ!!!

Давайте с определений

Bid -Последняя известная цена покупки (предложение на покупку) текущего инструмента.

Ask -Последняя известная цена продажи (запрашиваемая цена) текущего инструмента.

Point - Размер пункта текущего инструмента в валюте котировки.

Close[0] - Массив-таймсерия, содержащий цены закрытия каждого бара текущего графика.Текущий бар, самый последний в массиве, имеет индекс 0.

MarketInfo(Symbol(), MODE_SPREAD) -информацию о финансовых инструментах, перечисленных в окне "Обзор рынка" в частности Спрэд в пунктах

Итак мне нужно просчитать прибыль при начале открытия ордера. т.е. Получить те-же данные которые отражаются в терминале по открытым ордерам, но до открытия

на момент открытия ордера прибыль будет такая:

  extern int N = 1; // количество минимальных лотов 

   Alert( N * MarkeInfo( Symbol(),TICKVALUE ) * MarketInfo( Symbol(),MODE_MINLOT ) * ( Ask - Bid ) / MarketInfo( Symbol(),MODE_TICKSIZE ) );
 
Boeing747:

Спасибо я понял свою ошибку по лоту, просто лот это параметр не влияющий на качество прибыли, это количественный показатель, поэтому я его машинально опустил, извините.

Ответ достаточный.

Еще один вопрос, как посчитать прибыль если валюта депозита отсутствует в паре

 
AT-2000:

Спасибо я понял свою ошибку по лоту, просто лот это параметр не влияющий на качество прибыли, это количественный показатель, поэтому я его машинально опустил, извините.

Ответ достаточный.

Еще один вопрос, как посчитать прибыль если валюта депозита отсутствует в паре

Если честно я не знаю тех сложных формул при помощи которых можно определить стоимость тика какой либо пары не содержащей валюты депозита. Я всегда пользовался функциями МarketInfo() чтобы узнать что мне нужно. Вашу задачу я бы решил так. Сперва нашел бы стоимость тика в валюте депозита для вашей пары а потом бы помножал стоимость тика на расстояние выраженное в тиках между ценой входа в рынок и ценой Bid

стоимость тика на лот равна :

double tv = MarketInfo( Symbol(), MODE_TICKVALUE );

минимальный лот равен :

double ml = MarketInfo( Symbol(), MODE_MINLOT );

стоимость тика для минимального лота равна ;

double tvm = tv * ml;

размер тика в поинтах или в количестве поинтов или в пипсах;

double ti = MarketInfo( Symbol(), MODE_ TICKSIZE );

расстояние в тиках равно :

int x = ( price - Bid ) / ti;

где price это цена открытия ордера;

прибыль на минимальный лот равна:

double p = tvm * x;

 
AT-2000:

Добрый день!!!

Я дилетант!!!

1. Прошу разъяснить есть Ask и Bid

Что из них Close[0] и Open[0] или какая связь или разница (обыскал всю документацию так и не нашел)

2. Можно ли както расчитать прибыль для еще не открытого ордера

т.е.

2.1 Покупка

Прибыль=(Bid*Point)-(Ask*Point+MarketInfo(Symbol(), MODE_SPREAD));

или

Прибыль=(Close[0]*Point)-(Open[0]*Point+MarketInfo(Symbol(), MODE_SPREAD));???

2.2 Продажа

Прибыль=Ask*Point+MarketInfo(Symbol(), MODE_SPREAD)-(Bid*Point);

или

Прибыль=Open[0]*Point+MarketInfo(Symbol(), MODE_SPREAD)-(Close[0]*Point);???


Какие еще нужно учесть данные через MarketInfo чтобы точнее был расчет

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




улыбнуло
 

AT-2000

... в идеале подошла формула при открытии ордера сразу с доходом.

Поделитесь формулой! Пожалуйста!

 
Boeing747:

Если честно я не знаю тех сложных формул при помощи которых можно определить стоимость тика какой либо пары не содержащей валюты депозита. Я всегда пользовался функциями МarketInfo() чтобы узнать что мне нужно. Вашу задачу я бы решил так. Сперва нашел бы стоимость тика в валюте депозита для вашей пары а потом бы помножал стоимость тика на расстояние выраженное в тиках между ценой входа в рынок и ценой Bid

стоимость тика на лот равна :

double tv = MarketInfo( Symbol(), MODE_TICKVALUE );

минимальный лот равен :

double ml = MarketInfo( Symbol(), MODE_MINLOT );

стоимость тика для минимального лота равна ;

double tvm = tv * ml;

размер тика в поинтах или в количестве поинтов или в пипсах;

double ti = MarketInfo( Symbol(), MODE_ TICKSIZE );

расстояние в тиках равно :

int x = ( price - Bid ) / ti;

где price это цена открытия ордера;

прибыль на минимальный лот равна:

double p = tvm * x;


Спасибо очень точно ответили
 
borilunad:

AT-2000

... в идеале подошла формула при открытии ордера сразу с доходом.

Поделитесь формулой! Пожалуйста!


Кому вопрос
Причина обращения: