Eu tenho um EA que se autoexplora com os negócios. Preciso de ajuda para construir um Vácuo ou função que possa ser adicionada a um EA existente. Esta função precisa ser abordada:
entrada bool doBasketExit = true; // Verificar as condições de saída do cesto de compras entrada dupla BasketTP = 250,0; // Basket Take Profit (Moeda da conta) O par gráfico entrada dupla BasketSL = -100.0; // Basket Stop Loss (moeda da conta) O par gráfico
Estou executando 9 pares/cartas com EA agressivo no H1 e quero negociar cestas específicas de pares em cada uma das 9 cartas. Eis o que acabou de acontecer comigo. 9 gráficos em execução, 3 gráficos estão em negociação com, é claro, 3 pares separados, cada um com 15 negociações, sim 45 negociações abertas, 2 estão em lucro e um está perdendo muito. Estou procurando uma maneira de somar cada grupo/par dos 15 separadamente e esfregar cada grupo contra os limites de um Basket SL & TP. Encontrei uma cesta montada, mas é claro que ela precisa ser refinada. O truque é obter o mesmo par somado da coluna Order Profit Trade. Ao estar em um gráfico com um par específico, pensei que tinha encontrado um vazio, mas que era um pouco complicado. A função deve, de alguma forma, ler a coluna OrderProfit by Pair???
Você precisa de algum tipo de "mãe EA" - que conheça todos os números mágicos tratados por outros EAs e depois faça as operações "em grupo" que você precisa fazer
Você precisa de algum tipo de "mãe EA" - que conheça todos os números mágicos tratados por outros EAs e depois faça as operações "em grupo" que você precisa fazer
mladen
obrigado por suas reflexões sobre este assunto. Portanto, NÃO.
tentaram fazer a seta aparecer após o fechamento da vela de sinalização em outra para evitar a repintura, mas tudo sem sucesso. TOOLS e MLADEN, abaixo está o código.
//+------------------------------------------------------------------+//| signalindicator.mq4 |//| Copyright 2015, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2015, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"#property strict#property indicator_chart_window#property indicator_buffers4#property indicator_color1 Blue
#property indicator_color2 Yellow
#property indicator_color3 Aqua
#property indicator_color4 Red
externint FastEMA = 5;
externint SlowEMA = 6;
externint RSIPeriod = 7;
externbool Alerts = TRUE;
double buffer_1[];
double buffer_2[];
double arrow_1[];
double arrow_2[];
int a = 0;
int b = 0;
double x = 0.0;
double y = 0.0;
int init() {
SetIndexStyle(0, DRAW_LINE);
SetIndexBuffer(0, buffer_1);
SetIndexStyle(1, DRAW_LINE);
SetIndexBuffer(1, buffer_2);
SetIndexStyle(2, DRAW_ARROW, 0,4);
SetIndexArrow(2, 217);
SetIndexBuffer(2, arrow_1);
SetIndexEmptyValue(2, 0.0);
SetIndexStyle(3, DRAW_ARROW, 0,4);
SetIndexArrow(3, 218);
SetIndexBuffer(3, arrow_2);
SetIndexEmptyValue(3, 0.0);
return (0);
}
int deinit() {
return (0);
}
int start() {
int counted_bars = IndicatorCounted();
double irsi_1 = 0;
bool c = FALSE;
double price_10 = 0;
if (counted_bars < 0) return (-1);
if (counted_bars > 0) counted_bars--;
int li_0 = Bars - counted_bars;
for (int i = 0; i < li_0; i++) {
buffer_1[i] = iMA(NULL, 0, FastEMA, 0, MODE_EMA, PRICE_CLOSE, i);
buffer_2[i] = iMA(NULL, 0, SlowEMA, 0, MODE_EMA, PRICE_CLOSE, i);
irsi_1 = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, i);
x = buffer_1[i] - buffer_2[i];
if (x > 0.0 && irsi_1 > 50.0) a = 1;
elseif (x < 0.0 && irsi_1 < 50.0) a = 2;
if (a == 1 && b == 2) {
arrow_2[i - 1] = High[i - 1] - 5.0 * Point;
c= TRUE;
price_10 = Ask;
} else {
if (a == 2 && b == 1) {
arrow_1[i - 1] = Low[i - 1] - 5.0 * Point;
c = TRUE;
price_10 = Bid;
}
}
b = a;
y = x;
}
if (Alerts && c) {
PlaySound("alert.wav");
if (b == 2) Alert(Symbol()," M",Period(),"Buy at " + price_10 + "!!", "Entry Point", 0);
elseif (b == 1) Alert(Symbol()," M",Period(),"Sell at " + price_10 + "!!", "Entry Point", 0);
c= FALSE;
}
return (0);
}
mladen & mrtools
Eu tenho um EA que se autoexplora com os negócios. Preciso de ajuda para construir um Vácuo ou função que possa ser adicionada a um EA existente. Esta função precisa ser abordada:
entrada bool doBasketExit = true; // Verificar as condições de saída do cesto de compras
entrada dupla BasketTP = 250,0; // Basket Take Profit (Moeda da conta) O par gráfico
entrada dupla BasketSL = -100.0; // Basket Stop Loss (moeda da conta) O par gráfico
Estou executando 9 pares/cartas com EA agressivo no H1 e quero negociar cestas específicas de pares em cada uma das 9 cartas.
Eis o que acabou de acontecer comigo. 9 gráficos em execução, 3 gráficos estão em negociação com, é claro, 3 pares separados, cada um com 15 negociações, sim 45 negociações abertas, 2 estão em lucro e um está perdendo muito. Estou procurando uma maneira de somar cada grupo/par dos 15 separadamente e esfregar cada grupo contra os limites de um Basket SL & TP. Encontrei uma cesta montada, mas é claro que ela precisa ser refinada. O truque é obter o mesmo par somado da coluna Order Profit Trade. Ao estar em um gráfico com um par específico, pensei que tinha encontrado um vazio, mas que era um pouco complicado. A função deve, de alguma forma, ler a coluna OrderProfit by Pair???
Ver meu código como um mau exemplo;
void closeTrades( MOEDA* &moedas[] ) {
// Verificar a saída da cesta
se ( doBasketExit ) {
double basketProfit = getBasketProfit();
if ( ( ( BasketTP > 0.0 ) && ( basketProfit > BasketTP ) ) ||
( BasketSL < 0.0 ) && ( basketProfit < BasketSL ) ) {
fecharTodos();
}
}
double getBasketProfit() {
cesta duplaProfit = 0,0;
para (int iOrder=OrdensTotal()-1; iOrder >= 0; iOrder--) {
se (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
se ( OrderMagicNumber() == MagicNumber ) {
se ( (OrderType() == OP_BUY) ||| (OrderType() == OP_SELL) ) {
cestaProfit += OrderProfit() + OrderSwap() + OrderComission();
}
}
}
}
return(basketProfit);
}
fechamento do espaço vazioAll() {
duplo preço de fechamento;
Símbolo de cordaNome;
resultado int;
para (int iOrder=OrdensTotal()-1; iOrder >= 0; iOrder--) {
se (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
se ( OrderMagicNumber() == MagicNumber ) {
se ( (OrderType() == OP_BUY) ||| (OrderType() == OP_SELL) ) {
symbolName = OrderSymbol();
closePrice = ( OrderType() == OP_BUY ) ? MarketInfo( symbolName, MODE_BID ) : MarketInfo( symbolName, MODE_ASK );
resultado = OrderCloseRelable(OrderTicket(), OrderLots(), closePrice, 50 );
}
}
Realmente aprecio muito que você examine isto
Obrigado
Ray
Ray
Você precisa de algum tipo de "mãe EA" - que conheça todos os números mágicos tratados por outros EAs e depois faça as operações "em grupo" que você precisa fazer
Tente fazer o seguinte :
Ao invés de
Ray
Você precisa de algum tipo de "mãe EA" - que conheça todos os números mágicos tratados por outros EAs e depois faça as operações "em grupo" que você precisa fazer
mladen
obrigado por suas reflexões sobre este assunto. Portanto, NÃO.
obrigado novamente
Ray
tentaram fazer a seta aparecer após o fechamento da vela de sinalização em outra para evitar a repintura, mas tudo sem sucesso. TOOLS e MLADEN, abaixo está o código.
Oi mladen
Preciso do ITM X-Gen Indicador de Escalpador Diário ITM X-Gen.mq4
Ajudem-me
Obrigado
Oi mladen
Preciso do ITM X-Gen Indicador de Escalpador Diário ITM X-Gen.mq4
Ajudem-me
Obrigado
alozard
Esse indicador é renomeado como meu indicador de bandas TMA centralizadas. Você pode encontrá-lo aqui : https://www.mql5.com/en/forum/181241
Sr. Mladen, por favor, veja os códigos abaixo, a seta não aparece ao vivo até que eu troque o tempo.
Sr. Mladen, por favor, veja os códigos abaixo, a seta não aparece ao vivo até que eu troque o tempo.
kapoo
Como já disse várias vezes : esse indicador é um mau repintor e é por isso que faz o que faz. Meu melhor conselho é que você esqueça isso