Пожалуйста, проконсультируйте меня относительно спреда

 

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

Я нашел этот скрипт в интернете, все благодарности и авторские права тому парню...

Я не разбираюсь в кодировании, но не мог бы кто-нибудь сообщить мне, считает ли он "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 пунктов ПОСЛЕ учета спреда и прочего.

Большое спасибо.

 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

//+------------------------------------------------------------------+

//| 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);

}

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
tatyawinchu:

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

Я нашел этот скрипт в интернете, все благодарности и авторские права тому парню...

Я не разбираюсь в кодировании, но не мог бы кто-нибудь сообщить мне, считает ли он "SPREAD" при закрытии ордеров?

Вот копия кода

Поскольку я ничего не знаю о кодировании или правилах, я не удаляю ни информацию об авторских правах, ни его электронную почту или что-то подобное... Надеюсь, я не нарушаю никаких правил форума :)

Вот код, я даже не уверен, советник это или скрипт...

Привет, tatyawinchu,

Представленный советник не подходит для вашей цели. Это своего рода неполный советник (эксперт).

//+------------------------------------------------------------------+

//| expert initialization function |

//+------------------------------------------------------------------+

Советник начинает работу с проверки прибыли на вашем счете и, если прибыль составляет не менее 100, закрывает все ордера.

Допустим, у вас хорошая сделка, только что заработано 200$. Прибыль вашего счета равна 200. Вы открываете новую сделку и запускаете советника.

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

Вам нужен скрипт, который отслеживает прибыль ордера и закрывает ордер при достижении цели. Или, если вы собираетесь разместить более одного ордера, он должен отслеживать сумму прибыли по всем ордерам.

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

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

Надеюсь, это поможет

 
thrdel:

Здравствуйте, tatyawinchu,

Представленный советник не подходит для вашей цели. Это своего рода неполный советник (эксперт).

Советник начинает работу с проверки прибыли на вашем счете и, если прибыль составляет не менее 100, закрывает все ордера.

Допустим, у вас хорошая сделка, вы только что заработали 200 долларов. Прибыль вашего счета равна 200. Вы открываете новую сделку и запускаете советника.

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

Вам нужен скрипт, который отслеживает прибыль ордера и закрывает его, когда цель достигнута. Или, если вы собираетесь разместить более одного ордера, он должен отслеживать сумму прибылей для всех ордеров.

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

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

Надеюсь, это поможет.


Спасибо большое за быстрый ответ.

Еще несколько быстрых вопросов по этому поводу:-

Торговый стиль: ... Минимальное количество открытых сделок в любое время - ОДНА, максимальное количество открытых сделок в любое время - только ДВЕ...[ разные пары] ... Я включу советник/скрипт в положение "ON" при совершении первой сделки... Теперь, если будет достигнута прибыль в X пунктов, я пытаюсь найти советник, который закроет ордер, "учитывая спред спроса и предложения при расчете X"....

Теперь, если у нас есть еще один ордер на другой паре, то есть в общей сложности ДВА ордера, все равно, когда общая прибыль достигнет X прибыли, советник должен закрыть оба ордера и он ДОЛЖЕН учесть стоимость спреда для обоих и закрыть X как чистую прибыль.

Например... скажем, спред для пары A составляет 5 пунктов, а спред для пары b - 10 пунктов... Если я задам в советнике выход при прибыли в 10 пунктов, советник должен выйти после того, как посчитает, что 15 пунктов - это спред, который нужно заплатить, плюс 10 пунктов прибыли для меня... чтобы быть более ясным, он не должен закрывать ордер на 10 пунктов с итоговой суммой в -5 из-за 15 пунктов спреда...

Доступны ли такие вещи и возможны ли они в MT4?

Спасибо.

 
deysmacro:


спасибо, мужик :)
 
tatyawinchu:


Спасибо большое за быстрый ответ.

Еще несколько быстрых вопросов по этому поводу:...

Торговый стиль: ... Минимальное количество открытых сделок в любое время - ОДНА, максимальное количество открытых сделок в любое время - только ДВЕ...[ разные пары] ... Я включаю советник/скрипт в положение "ON" при совершении первой сделки... Теперь, если достигнута прибыль в X пунктов, я пытаюсь найти советник, который закроет ордер, "учитывая спред спроса и предложения при расчете X"....

Теперь, если у нас есть еще один ордер на другой паре, то есть в общей сложности ДВА ордера, все равно, когда общая прибыль достигнет X прибыли, советник должен закрыть оба ордера и он ДОЛЖЕН учесть стоимость спреда для обоих и закрыть X как чистую прибыль.

Например... скажем, спред для пары A составляет 5 пунктов, а спред для пары b - 10 пунктов... Если я задам в советнике выход при прибыли в 10 пунктов, советник должен выйти после того, как посчитает, что 15 пунктов - это спред, который нужно заплатить, плюс 10 пунктов прибыли для меня... чтобы быть более ясным, он не должен закрывать ордер на 10 пунктов с итоговой суммой в -5 из-за 15 пунктов спреда...

Доступны ли такие вещи и возможны ли они в MT4?

Спасибо.


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

У меня нет ничего готового, чтобы сделать именно это, но я уверен, что мы сможем вам помочь. Если только вы не хотите индивидуальный советник и готовы опубликовать работу.

Я буду держать связь.

 

Я думаю, что вы обнаружите, что AccountProfit()

уже за вычетом спреда.

 
GumRai:

Я думаю, что вы обнаружите, что AccountProfit()

уже за вычетом спреда.


" уже за вычетом спреда" = ? Извините за плохой английский...

Я нашел это на сайте документации

AccountProfit

Возвращает значение прибыли текущего счета.

double AccountProfit();

Возвращаемое значение

Значение прибыли текущего счета.

Пример:

Print("Прибыль счета ", AccountProfit());

Не сказано, учитывает ли он спред или нет... помогите пожалуйста?

 
tatyawinchu:


" уже за вычетом спреда" = ? Извините за плохой английский...

Я нашел это на сайте документации

AccountProfit

Возвращает значение прибыли текущего счета.

double AccountProfit();

Возвращаемое значение

Значение прибыли текущего счета.

Пример:

Print("Прибыль счета ", AccountProfit());

Здесь не сказано, учитывает ли он спред или нет... помогите, пожалуйста?

Да, он уже учитывает спред.

Если у вас открыта короткая позиция, посмотрите в торговое окно терминала, под второй колонкой цены вы увидите Ask, это цена, используемая для OrderProfit, и спред уже учтен.

 
thrdel:


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

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

Я буду держать вас в курсе.


Спасибо большое... очень ясно и очень полезно... Интересно, сколько будет стоить разместить такую работу? Насколько сложным может быть такой код? Код, который я получил из Интернета и который я разместил выше, выглядит ОГРОМНЫМ... Я имею в виду, что я действительно не могу выложить тысячи долларов...
 
tatyawinchu:

Спасибо большое. Очень понятно и очень полезно. Интересно, сколько будет стоить разместить такую работу? Насколько сложным может быть такой код? Код, который я получил из Интернета и который я разместил выше, выглядит ОГРОМНЫМ... Я имею в виду, что я действительно не могу выложить тысячи долларов...

Я думаю, что вы можете получить этот код за 20 или 30 долларов.
Причина обращения: