İş tamamlandı
Tamamlanma süresi: 5 gün
Müşteri tarafından geri bildirim
Muito prestativo e atencioso, e o trabalho dele pra mim foi muito bem elaborado atendendo ao que foi proposto.
Obrigado João!
Şartname
Olá! Gostaria de saber se alguém se habilita e quanto cobra para acrescentar um TrailingStop neste EA que posto logo abaixo e que já está pronto, só não possui o Trailing! //+------------------------------------------------------------------+ //| Exemplo médias móveis.mq4 | //| XTB | //| | //+------------------------------------------------------------------+ #define IdentificadorEA 101 #property copyright "XTB" #property link "" //---- Input parameters - parâmetros do Expert Advisor que podem ser alterados quando se executa o dito. extern double Lotes=0.1; extern int MMlenta=50; extern int MMrapida=20; //------------------------------------------------------------------------------------------------- datetime LastTradeBarTime; //------------------------------------------------------------------------------------------------- // init, função executada quando o EA se inicia ou reinicia int init() { // Necessário para controlar se estamos numa nova barra LastTradeBarTime = Time[1]; return(0); } //------------------------------------------------------------------------------------------------- // start, função executada a cada tick recebido pelo EA int start() { // Variáveis temporárias, renovadas a cada chamada do EA double vMMrapida0; // MM rápida da última barra double vMMrapida1; // MM rápida da penúltima barra double vMMlenta0; // MM lenta da última barra double vMMlenta1; // MM lenta da penúltima barra int resposta; // Variável que obterá a resposta do terminal quando envia uma ordem // Verifica se estamos no início de uma barra e apenas processa as instruções se isso for verdade if (LastTradeBarTime == Time[0]) return(0); // Não é o primeiro tick de uma nova barra, por isso sai else { LastTradeBarTime = Time[0]; // continua // Valores das médias móveis na barra que acabou de terminar, e na imediatamente anterior vMMrapida0=iMA(Symbol(),0,MMrapida,0,MODE_SMA,PRICE_CLOSE,1); // Obtém o valor da MM rápida da barra que terminou vMMrapida1=iMA(Symbol(),0,MMrapida,0,MODE_SMA,PRICE_CLOSE,2); // Obtém o valor para a MM rápida da barra anterior vMMlenta0=iMA(Symbol(),0,MMlenta,0,MODE_SMA,PRICE_CLOSE,1); // Obtém o valor da MM lenta da barra que terminou vMMlenta1=iMA(Symbol(),0,MMlenta,0,MODE_SMA,PRICE_CLOSE,2); // Obtém o valor para a MM lenta da barra anterior // Verifica se existiu um cruzamento da MM rápida acima da MM lenta if (vMMrapida1<vMMlenta1 && vMMrapida0>vMMlenta0) { // Se já existem trades abertos, tem de os fechar if (OrdersTotal() > 0) FecharTodosTrades(); // Abre um trade longo resposta = OrderSend(Symbol(), OP_BUY, Lotes, NormalizeDouble(Ask,Digits), 3, 0, 0, "mm exemplo buy", IdentificadorEA, 0, Blue); } // Verifica se existiu um cruzamento da MM rápida abaixo da MM lenta if (vMMrapida1>vMMlenta1 && vMMrapida0<vMMlenta0) { // Se já existem trades abertos, tem de os fechar if (OrdersTotal() > 0) FecharTodosTrades(); // Abre um trade curto resposta = OrderSend(Symbol(), OP_SELL, Lotes, NormalizeDouble(Bid,Digits), 3, 0, 0, "mm exemplo sell", IdentificadorEA, 0, Red); } } return(0); } //------------------------------------------------------------------------------------------------- // deinit, função executada quando o EA termina int deinit() { // Se existem trades abertos, tem de os fechar if (OrdersTotal() > 0) FecharTodosTrades(); return(0); } //------------------------------------------------------------------------------------------------- // Função que fecha todos os trades existentes int FecharTodosTrades() { for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break; // A função vai fechar todas as ordens que sejam deste EA e sobre o símbolo corrente if(OrderMagicNumber() == IdentificadorEA && OrderSymbol() == Symbol()) { if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3,White); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3,White); } } return(0); } // FIM //-------------------------------------------------------------------------------------------------
Yanıtlandı
1
Derecelendirme
Projeler
478
40%
Arabuluculuk
7
43%
/
29%
Süresi dolmuş
16
3%
Serbest
2
Derecelendirme
Projeler
35
71%
Arabuluculuk
2
0%
/
0%
Süresi dolmuş
11
31%
Çalışıyor
Yayınlandı: 1 kod
3
Derecelendirme
Projeler
139
24%
Arabuluculuk
34
32%
/
44%
Süresi dolmuş
59
42%
Çalışıyor
4
Derecelendirme
Projeler
5
40%
Arabuluculuk
0
Süresi dolmuş
3
60%
Serbest
5
Derecelendirme
Projeler
1813
61%
Arabuluculuk
14
64%
/
7%
Süresi dolmuş
84
5%
Serbest
Proje bilgisi
Bütçe
20 - 30 USD