------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ //+------------------------------------------------------------------+ //| CloseTrades_After_Account_Profit_Reached.mq4 | //| Copyright © 2007, Tradinator | //| tradinator.fx@gmail.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, Tradinator" #property link "tradinator.fx@gmail.com" extern double My_Money_Profit_Target=100; //The amount of money profit at which you want to close ALL open trades. extern string Profit_Target= "Enter above To Close all OPEN trades when amount of profit is Reached in Account and not per OPEN trade! "; int Slippage=5; int i; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { if (AccountProfit()>= My_Money_Profit_Target) { for(i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); int type = OrderType(); bool result = false; switch(type) { //Close opened long positions case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),Slippage,Pink); break; //Close opened short positions case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),Slippage,Pink); } if(result == false) { Sleep(0); } } Print ("Account Profit Reached. All Open Trades Have Been Closed"); return(0); } Comment("Balance: ",AccountBalance(),", Account Equity: ",AccountEquity(),", Account Profit: ",AccountProfit(), "\nMy Account Profit Target: ",My_Money_Profit_Target); return(0); } ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Здравствуйте,
Я нашел этот скрипт в интернете, все благодарности и авторские права тому парню...
Я не разбираюсь в кодировании, но не мог бы кто-нибудь сообщить мне, считает ли он "SPREAD" при закрытии ордеров?
Вот копия кода
Поскольку я ничего не знаю о кодировании или правилах, я не удаляю ни информацию об авторских правах, ни его электронную почту или что-то подобное... Надеюсь, я не нарушаю никаких правил форума :)
Вот код, я даже не уверен, советник это или скрипт...
Привет, tatyawinchu,
Представленный советник не подходит для вашей цели. Это своего рода неполный советник (эксперт).
//+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+
Советник начинает работу с проверки прибыли на вашем счете и, если прибыль составляет не менее 100, закрывает все ордера.
Допустим, у вас хорошая сделка, только что заработано 200$. Прибыль вашего счета равна 200. Вы открываете новую сделку и запускаете советника.
С самого начала он проверит, находится ли счет в прибыли (это по предыдущей сделке), и если да, то закроет сделку. Это не очень хорошо.
Вам нужен скрипт, который отслеживает прибыль ордера и закрывает ордер при достижении цели. Или, если вы собираетесь разместить более одного ордера, он должен отслеживать сумму прибыли по всем ордерам.
Вам нужно что-то, что по крайней мере подсчитывает вашу прибыль с момента запуска, но лучше всего будет советник, который будет проверять эквити счета в момент размещения ордера и подсчитывать прибыль с этого момента.
Вы можете поискать на форуме советников или скрипты для управления капиталом, и если вы не найдете то, что вам нужно, вы можете написать здесь более подробную информацию.
Надеюсь, это поможет
Здравствуйте, tatyawinchu,
Представленный советник не подходит для вашей цели. Это своего рода неполный советник (эксперт).
Советник начинает работу с проверки прибыли на вашем счете и, если прибыль составляет не менее 100, закрывает все ордера.
Допустим, у вас хорошая сделка, вы только что заработали 200 долларов. Прибыль вашего счета равна 200. Вы открываете новую сделку и запускаете советника.
С самого начала он проверит, находится ли счет в прибыли (это по предыдущей сделке), и если да, то закроет сделку. Это не очень хорошо.
Вам нужен скрипт, который отслеживает прибыль ордера и закрывает его, когда цель достигнута. Или, если вы собираетесь разместить более одного ордера, он должен отслеживать сумму прибылей для всех ордеров.
Вам нужно что-то, что по крайней мере подсчитывает вашу прибыль с момента запуска, но лучше всего будет советник, который будет проверять эквити счета в момент размещения ордера и подсчитывать прибыль с этого момента.
Вы можете поискать на форуме советников или скрипты для управления капиталом, и если вы не найдете то, что вам нужно, вы можете написать здесь более подробную информацию.
Надеюсь, это поможет.
Спасибо большое за быстрый ответ.
Еще несколько быстрых вопросов по этому поводу:-
Торговый стиль: ... Минимальное количество открытых сделок в любое время - ОДНА, максимальное количество открытых сделок в любое время - только ДВЕ...[ разные пары] ... Я включу советник/скрипт в положение "ON" при совершении первой сделки... Теперь, если будет достигнута прибыль в X пунктов, я пытаюсь найти советник, который закроет ордер, "учитывая спред спроса и предложения при расчете X"....
Теперь, если у нас есть еще один ордер на другой паре, то есть в общей сложности ДВА ордера, все равно, когда общая прибыль достигнет X прибыли, советник должен закрыть оба ордера и он ДОЛЖЕН учесть стоимость спреда для обоих и закрыть X как чистую прибыль.
Например... скажем, спред для пары A составляет 5 пунктов, а спред для пары b - 10 пунктов... Если я задам в советнике выход при прибыли в 10 пунктов, советник должен выйти после того, как посчитает, что 15 пунктов - это спред, который нужно заплатить, плюс 10 пунктов прибыли для меня... чтобы быть более ясным, он не должен закрывать ордер на 10 пунктов с итоговой суммой в -5 из-за 15 пунктов спреда...
Доступны ли такие вещи и возможны ли они в MT4?
Спасибо.
спасибо, мужик :)
Спасибо большое за быстрый ответ.
Еще несколько быстрых вопросов по этому поводу:...
Торговый стиль: ... Минимальное количество открытых сделок в любое время - ОДНА, максимальное количество открытых сделок в любое время - только ДВЕ...[ разные пары] ... Я включаю советник/скрипт в положение "ON" при совершении первой сделки... Теперь, если достигнута прибыль в X пунктов, я пытаюсь найти советник, который закроет ордер, "учитывая спред спроса и предложения при расчете X"....
Теперь, если у нас есть еще один ордер на другой паре, то есть в общей сложности ДВА ордера, все равно, когда общая прибыль достигнет X прибыли, советник должен закрыть оба ордера и он ДОЛЖЕН учесть стоимость спреда для обоих и закрыть X как чистую прибыль.
Например... скажем, спред для пары A составляет 5 пунктов, а спред для пары b - 10 пунктов... Если я задам в советнике выход при прибыли в 10 пунктов, советник должен выйти после того, как посчитает, что 15 пунктов - это спред, который нужно заплатить, плюс 10 пунктов прибыли для меня... чтобы быть более ясным, он не должен закрывать ордер на 10 пунктов с итоговой суммой в -5 из-за 15 пунктов спреда...
Доступны ли такие вещи и возможны ли они в MT4?
Спасибо.
Да, это возможно, так как спред по каждой паре переменный, и спред по одной паре обычно меняется в зависимости от объема. Поэтому вы ищете скрипт/EA для управления прибылью ордеров, возможных на разных парах, и выхода из каждого ордера по заданной прибыли с учетом спреда, доступного в данный момент.
У меня нет ничего готового, чтобы сделать именно это, но я уверен, что мы сможем вам помочь. Если только вы не хотите индивидуальный советник и готовы опубликовать работу.
Я буду держать связь.
Я думаю, что вы обнаружите, что AccountProfit()
уже за вычетом спреда.
Я думаю, что вы обнаружите, что AccountProfit()
уже за вычетом спреда.
" уже за вычетом спреда" = ? Извините за плохой английский...
Я нашел это на сайте документации
AccountProfit
Возвращает значение прибыли текущего счета.
double AccountProfit(); |
Возвращаемое значение
Значение прибыли текущего счета.
Пример:
Print("Прибыль счета ", AccountProfit()); |
Не сказано, учитывает ли он спред или нет... помогите пожалуйста?
" уже за вычетом спреда" = ? Извините за плохой английский...
Я нашел это на сайте документации
AccountProfit
Возвращает значение прибыли текущего счета.
double AccountProfit(); |
Возвращаемое значение
Значение прибыли текущего счета.
Пример:
Print("Прибыль счета ", AccountProfit()); |
Здесь не сказано, учитывает ли он спред или нет... помогите, пожалуйста?
Да, он уже учитывает спред.
Если у вас открыта короткая позиция, посмотрите в торговое окно терминала, под второй колонкой цены вы увидите Ask, это цена, используемая для OrderProfit, и спред уже учтен.
Да, это возможно, поскольку спред для каждой пары переменный, и спред на одной паре обычно меняется в зависимости от объема. Поэтому вы ищете скрипт/советник, который будет управлять прибылью ордеров, возможных на разных парах, и выводить каждый ордер по заданной прибыли с учетом спреда, доступного в данный момент.
У меня нет ничего готового для этого, но я уверен, что мы сможем вам помочь. Если только вам не нужен пользовательский советник и вы готовы разместить вакансию.
Я буду держать вас в курсе.
Спасибо большое... очень ясно и очень полезно... Интересно, сколько будет стоить разместить такую работу? Насколько сложным может быть такой код? Код, который я получил из Интернета и который я разместил выше, выглядит ОГРОМНЫМ... Я имею в виду, что я действительно не могу выложить тысячи долларов...
Спасибо большое. Очень понятно и очень полезно. Интересно, сколько будет стоить разместить такую работу? Насколько сложным может быть такой код? Код, который я получил из Интернета и который я разместил выше, выглядит ОГРОМНЫМ... Я имею в виду, что я действительно не могу выложить тысячи долларов...
Я думаю, что вы можете получить этот код за 20 или 30 долларов.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте,
Я нашел этот скрипт в интернете, все благодарности и авторские права тому парню...
Я не разбираюсь в кодировании, но не мог бы кто-нибудь сообщить мне, считает ли он "SPREAD" при закрытии ордеров?
Вот копия кода
Поскольку я ничего не знаю о кодировании или правилах, я не удаляю ни информацию об авторских правах, ни его электронную почту или что-то подобное... Надеюсь, я не нарушаю никаких правил форума :)
Вот код, я даже не уверен, советник это или скрипт...
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//+------------------------------------------------------------------+
//| CloseTrades_After_Account_Profit_Reached.mq4 |
//| Copyright © 2007, Tradinator |
//| tradinator.fx@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, Tradinator"
#property link "tradinator.fx@gmail.com"
extern double My_Money_Profit_Target=100; //Сумма денежной прибыли, при которой вы хотите закрыть ВСЕ открытые сделки.
extern string Profit_Target= "Введите выше, чтобы закрыть все открытые сделки при достижении суммы прибыли на счете, а не на каждую открытую сделку! ";
int Slippage=5;
int i;
//+------------------------------------------------------------------+
//| функция инициализации эксперта |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| функция деинициализации эксперта | |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| функция запуска эксперта |
//+------------------------------------------------------------------+
int start()
{
if (AccountProfit()>= My_Money_Profit_Target)
{
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();
bool result = false;
switch(type)
{
// Закрытие открытых длинных позиций
case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),Slippage,Pink);
break;
// Закрытие открытых коротких позиций
case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),Slippage,Pink);
}
if(result == false)
{
Sleep(0);
}
}
Print ("Прибыль по счету достигнута. Все открытые сделки закрыты");
return(0);
}
Comment("Balance: ",AccountBalance(),", Account Equity: ",AccountEquity(),", Account Profit: ",AccountProfit(),
"\nМоя цель прибыли на счете: ",Мои_Деньги_Цель_Прибыли);
return(0);
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Если это не сработает, я ищу что-то, что закрывает ВСЕ ордера с прибылью в X пунктов ПОСЛЕ учета спреда и прочего.
Большое спасибо.