Добрый день уважаемые товарищи, разбирающиеся в MQL4. Есть простой советник, вроде дает прибыль, но только одно в нем не устраивает - фиксированный лот. Сам пытался это дело исправить - слишком многого не знаю, к сожалению. Если у кого-нибудь найдется время, добавьте пожалуйста параметр настройки "риск" - чтобы сделка не фиксированным лотом совершалась, а допустим 5% от депо. Подозреваю, что дело плевое.
Файл прикрепить почему-то не получается, оставлю ссылку на советник.
_http://www.programs-forex.ru/untitled/sovetniki_pack1/Breakout.rar
extern double TakeProfit = 25.0;
extern double TakeProfit2 = 25.0;
extern double TrailingStop = 20.0;
extern double TrailingStop2 = 20.0;
extern double Lots = 1.0;
color Filter10 = 68;
color Filter12 = 9;
color Filter6 = 80;
color Filter4 = 35;
color Filter2 = 47;
color Filter9 = 46;
string Name_EA = "sca";
int Slippage = 30;
bool UseSound = FALSE;
string EAsound = "alert.wav";
void deinit() {
Comment("");
}
int start() {
if (Bars < 100) {
Print("");
return (0);
}
if (TakeProfit < 10.0) {
Print("");
return (0);
}
if (TakeProfit2 < 10.0) {
Print("");
return (0);
}
double l_iclose_0 = iClose(NULL, PERIOD_M5, 0);
double l_ima_8 = iMA(NULL, PERIOD_M5, 7, 0, MODE_SMA, PRICE_OPEN, 0);
double l_iclose_16 = iClose(NULL, PERIOD_M5, 0);
double l_ima_24 = iMA(NULL, PERIOD_M5, 6, 0, MODE_SMA, PRICE_OPEN, 0);
if (AccountFreeMargin() < 1000.0 * Lots) {
Print(" Free Margin = ", AccountFreeMargin());
return (0);
}
if (!ExistPositions()) {
if (l_iclose_0 < l_ima_8) {
OpenBuy();
return (0);
}
if (l_iclose_16 > l_ima_24) {
OpenSell();
return (0);
}
}
TrailingPositionsBuy(TrailingStop);
TrailingPositionsSell(TrailingStop2);
return (0);
}
bool ExistPositions() {
for (int l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) {
if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES))
if (OrderSymbol() == Symbol()) return (TRUE);
}
return (FALSE);
}
void TrailingPositionsBuy(int ai_0) {
for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) {
if (OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == Symbol()) {
if (OrderType() == OP_BUY) {
if (Bid - OrderOpenPrice() > ai_0 * Point)
if (OrderStopLoss() < Bid - ai_0 * Point) ModifyStopLoss(Bid - ai_0 * Point);
}
}
}
}
}
void TrailingPositionsSell(int ai_0) {
for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) {
if (OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == Symbol()) {
if (OrderType() == OP_SELL) {
if (OrderOpenPrice() - Ask > ai_0 * Point)
if (OrderStopLoss() > Ask + ai_0 * Point || OrderStopLoss() == 0.0) ModifyStopLoss(Ask + ai_0 * Point);
}
}
}
}
}
void ModifyStopLoss(double a_price_0) {
int l_bool_8 = OrderModify(OrderTicket(), OrderOpenPrice(), a_price_0, OrderTakeProfit(), 0, CLR_NONE);
if (l_bool_8 && UseSound) PlaySound(EAsound);
}
void OpenBuy() {
double l_lots_0 = GetSizeLot();
double l_price_8 = 0;
double l_price_16 = GetTakeProfitBuy();
string l_comment_24 = GetCommentForOrder();
OrderSend(Symbol(), OP_BUY, l_lots_0, Ask, Slippage, l_price_8, l_price_16, l_comment_24, 0, 0, Filter10);
if (UseSound) PlaySound(EAsound);
}
void OpenSell() {
double l_lots_0 = GetSizeLot();
double l_price_8 = 0;
double l_price_16 = GetTakeProfitSell();
string l_comment_24 = GetCommentForOrder();
OrderSend(Symbol(), OP_SELL, l_lots_0, Bid, Slippage, l_price_8, l_price_16, l_comment_24, 0, 0, Filter6);
if (UseSound) PlaySound(EAsound);
}
string GetCommentForOrder() {
return (Name_EA);
}
double GetSizeLot() {
return (Lots);
}
double GetTakeProfitBuy() {
return (Ask + TakeProfit * Point);
}
double GetTakeProfitSell() {
return (Bid - TakeProfit2 * Point);
}
Доброго времени суток. А нельзя заменить в этом советнике индикатор на который он опирается, на LSMA in color? Мне кажется должен работать более точнее.
всем привет! выкладываю советника которым торгую прибыльно уже почти 6 месяцев! советник реально прибыльный но опасен если депозит маленький! есть смысл переделать его что бы одновременно ставил ордера бай и сел! так он будет торговать прибыльней и надежней сам я не особо разбираюсь в кодах советника! если кто нибудь смог бы зделать это буду очень благодарен!!!!!
Напомни в каком.Доброго времени суток. А нельзя заменить в этом советнике индикатор на который он опирается, на LSMA in color? Мне кажется должен работать более точнее.
extern string Pair_1 = "EURUSD";
extern string Pair_2 = "GBPUSD";
extern string Pair_3 = "AUDUSD";
extern string Pair_4 = "NZDUSD";
extern string Pair_5 = "EURJPY";
extern string Pair_6 = "GBPJPY";
extern string Pair_7 = "USDJPY";
extern string Pair_8 = "USDCHF";
extern string Pair_9 = "USDCAD";
extern string Pair_10 = "EURGBP";
string symbol[];
int index=0;
int init()
{
if (Pair_1 != "")
{
symbol[index] = Pair_1;
index++;
}
if (Pair_2 != "")
{
symbol[index] = Pair_2;
index++;
}
if (Pair_3 != "")
{
symbol[index] = Pair_3;
index++;
}
if (Pair_4 != "")
{
symbol[index] = Pair_4;
index++;
}
if (Pair_5 != "")
{
symbol[index] = Pair_5;
index++;
}
if (Pair_6 != "")
{
symbol[index] = Pair_6;
index++;
}
if (Pair_7 != "")
{
symbol[index] = Pair_7;
index++;
}
if (Pair_8 != "")
{
symbol[index] = Pair_8;
index++;
}
if (Pair_9 != "")
{
symbol[index] = Pair_9;
index++;
}
if (Pair_10 != "")
{
symbol[index] = Pair_10;
}
}
![]() | Платим до 70% от дохода с каждого клиента!Партнёрская программа брокерской компании NPBFX (NEFTEPROMBANKFX) - c нами зарабатывают с 1996 года! |
![]() | NPBFX - с нами зарабатывают с 1996 года!Трейдинг валютой, сырьем, СFD на индексы и акции через проверенного брокера NPBFX (NEFTEPROMBANKFX) |
![]() | Есть убыточные сделки на Форекс?Возместим убытки от торговых операций в любой компании! NPBFX - c нами зарабатывают с 1996 года |