Эма Кросс! - страница 74

 

здравствуйте, помогите пожалуста можно сделать пару пересечений 4 EMA

Я не вижу говорить очень хорошо, помочь пересечения тезисов 4 EMA для моего советника

5

13

21

80

Войдите в сделку ПОКУПАТЬ, когда:

EMA 5 пересекается над EMA 13 и EMA 21

EMA 13 и EMA 21 находятся выше EMA 80

Заключайте сделку ПРОДАВАТЬ, когда:

EMA 5 пересекается ниже EMA 13 и EMA 21

Обе ЕМА 13 и ЕМА 21 ниже ЕМА 80

Спасибо

 

Я не очень хорошо говорю по-инглийски.

Извините ..............

 

О, Боже.

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

 
ycontroller:
Я не очень хорошо вижу, помогите пересечь эти 4 EMA для моего советника.

5

13

21

80

Войдите в сделку ПОКУПАТЬ, когда:

EMA 5 пересекается над EMA 13 и EMA 21

EMA 13 и EMA 21 находятся выше EMA 80

Заключайте сделку ПРОДАВАТЬ, когда:

EMA 5 пересекается ниже EMA 13 и EMA 21

Обе ЕМА 13 и ЕМА 21 ниже ЕМА 80

Спасибо

Посмотрите здесь http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/, и я уверен, что вы сможете создать свой собственный советник.

Удачи!

 
vincethebeast:
Посмотрите здесь http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/ и я уверен, что вы сможете создать свой собственный советник. Удачи!

Это здорово, спасибо большое Как работает синтаксис покупки и продажи?

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

Я пробовал вводить название индикатора и параметр left > right, но он не открывает покупку или продажу.

 
 

привет,

пожалуйста, кто-нибудь может добавить MM в эту версию ema cross?

спасибо

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

//| EMA_CROSS.mq4 |

//| Coders Guru |

//| Forex TSD| Индикаторы и советники Metatrader |

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

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

//| TODO: Добавьте рутину управления капиталом |

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

#property copyright "Coders Guru"

#property link "https://www.forex-tsd.com"

//---- входные параметры

extern double TakeProfit=110;

extern double StopLoss=100;

extern double TrailingStop=30;

extern int ShortEma = 1;

extern int LongEma = 13;

extern bool UseStopLoss = false;

extern double Lots=1;

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

//| функция инициализации эксперта |

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

int init()

{

//----

//----

return(0);

}

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

//| функция деинициализации эксперта | |

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

int deinit()

{

//----

//----

return(0);

}

bool isNewSumbol(string current_symbol)

{

//перебираем все открытые ордера и сравниваем символы

int total = OrdersTotal();

for(int cnt = 0 ; cnt < total ; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

//Print("OrderSymbol = " + OrderSymbol() + ": Symbol = " + current_symbol);

string selected_symbol = OrderSymbol();

if (current_symbol == selected_symbol)

return (False);

}

return (True);

}

int Crossed (double line1 , double line2)

{

static int last_direction = 0;

static int current_direction = 0;

//Не работает при первой загрузке, дождитесь первого пересечения!

static bool first_time = true;

if(first_time == true)

{

first_time = false;

return (0);

}

if(line1>line2)current_direction = 1; //up

if(line1<line2)current_direction = 2; //вниз

if(last_direction == 0) //первое использование

{

last_direction = current_direction;

return(0);

}

if(current_direction != last_direction) //изменение

{

last_direction = current_direction;

return (last_direction);

}

else

{

return (0); //не изменено

}

}

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

//| функция запуска эксперта |

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

int start()

{

//----

int cnt, ticket, total;

double SEma, LEma;

if(Bars<100)

{

Print("баров меньше 100");

return(0);

}

if(TakeProfit<10)

{

Print("TakeProfit меньше 10");

return(0); // проверяем TakeProfit

}

SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0);

LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0);

static int isCrossed = 0;

isCrossed = Crossed (LEma,SEma);

total = OrdersTotal();

if(total < 1 || isNewSumbol(Symbol()))

{

if(isCrossed == 1 )

{

if(UseStopLoss)

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point, "EMA_CROSS",12345,0,Green);

else

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point, "EMA_CROSS",12345,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Открыт ордер BUY : ",OrderOpenPrice());

}

else Print("Ошибка при открытии ордера BUY : ",GetLastError());

return(0);

}

if(isCrossed == 2)

{

if(UseStopLoss)

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point, "EMA_CROSS",12345,0,Red);

else

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point, "EMA_CROSS",12345,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Открыт ордер SELL : ",OrderOpenPrice());

}

else Print("Ошибка при открытии ордера SELL : ",GetLastError());

return(0);

}

return(0);

}

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

//OrderPrint();

if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())

{

if(OrderType()==OP_BUY) // длинная позиция открыта

{

/*

// должна ли она быть закрыта?

if(isCrossed == 2)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // закрываем позицию

return(0); // выход

}*/

// проверка наличия трейлинг-стопа

if(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);

return(0);

}

}

}

}

else // переходим в короткую позицию

{

/*

// должна ли она быть закрыта?

if(isCrossed == 1)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // закрываем позицию

return(0); // выход

}*/

// проверка наличия трейлинг-стопа

if(TrailingStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);

return(0);

}

}

}

}

}

}

return(0);

}

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

 
codersguru:
Привет, друзья,

Может ли кто-нибудь сказать мне, что он думает об этом простом советнике?

Он хорошо работает в бэк-тестере metatrader .

Примечание: обратное тестирование оптимизировано для получения максимально точных результатов.

Привет Codersguru,

Этот форум великолепен! Могу ли я узнать, является ли EMA_CROSS.mq4 последней обновленной версией.

которую мы можем протестировать?

спасибо

 
 

Авто робот

Привет друзья, я хочу, чтобы вы все помогли мне, может ли кто-нибудь прислать мне лучший AUTO ROBOT доступный с любым из вас всех bez мне это нужно bez я потерял много денег и нужно восстановить его и я не в состоянии найти хороший AUTO ROBOT для торговли на Форекс. если кто-то может помочь мне сделать это. почта мне вы советник на bhavsar.y@gmail.com.