Como codificar? - página 165

 

Obrigado

algum dia a solução é tão simples.....

 

Como adicionar um comentário para mostrar quantas posições de compra e venda estão abertas a qualquer momento, par a par.

compra dupla.cm = MarketInfo(Symbol(),MODE_TRADES); ???? compra

double Sell.cm = MarketInfo(Symbol(),MODE_TRADES); ???? venda

Abraço

Beno

 

Se você tem uma função que conta ordens basta adaptá-la para ter uma variável de contador para compras e vendas. Em seguida, escreva um comentário como normal.

Lux

 
luxinterior:
Se você tem uma função que conta ordens basta adaptá-la para ter uma variável de contador para compras e vendas. Em seguida, escreva um comentário como normal.Lux

ok obrigado lux

 
Beno:
Como adicionar um comentário para mostrar quantas posições de compra e venda estão abertas a qualquer momento, par a par.

double Buy.cm = MarketInfo(Symbol(),MODE_TRADES); ???? buy

double Sell.cm = MarketInfo(Symbol(),MODE_TRADES); ???? venda

Abraço

Beno

Você poderia fazer algo como isto:

int Open_Trades = OrdersTotal();

int Pos=0;

int Buy_Total=0;

int Sell_Total=0;

while (Open_Trades > Pos)

{

if (OrderSelect(Pos,SELECT_BY_POS,MODE_TRADES))

{

int Order_Type = OrderType();

if (Order_Type == OP_BUY)

{

Buy_Total++;

}

if (Order_Type == OP_SELL)

{

Sell_Total++;

}

}

Pos++;

}

Comment("\nBuy Orders Total = ",Buy_Total,

"\nSell Orders Total = ",Sell_Total);

Ou alguma variação.

Arquivos anexados:
 

O Indicador precisa fazer referência a Bandas de Bollinger

Tenho este indicador, no entanto, preciso dele para fazer referência às Bandas de Bollinger. Preciso que ele inclua a referência no Bollinger ou próximo ao Bollinger e dentro da vela. Gostaria de fazer referência também aos estocásticos. Qualquer idéia.

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

//| MS IPP2 v2 3/6/09 |

//| MarketSlayer |

//| BillTainter@gmail.com |

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

#direitos de propriedade intelectual " MarketSlayer "

#link da propriedade "BillTainter@gmail.com"

#janela_do_cartão_indicador de propriedade

//---- parâmetros de entrada

barras internas externasToProcess=1000;

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

//| Função de inicialização do indicador personalizado |

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

int init ()

{

//---- indicadores

//----

retorno (0);

}

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

//| Função de desinicialização de indicador personalizada |

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

int deinit ()

{

//----

int i;

para (i=0; i< Barras; i++)

{

ObjectDelete ("Bearish IPP2" +DoubleToStr (i, 0));

ObjectDelete ("Bullish IPP2" +DoubleToStr (i, 0));

}

//----

retorno (0);

}

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

//| Função de iteração de indicador personalizada |

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

int start ()

{

int counted_bars=IndicatorCounted (),

//----

limite,

i=0;

se (barras_contadas> 0)

barrinhas_contadas..;

limite=barras_contadas_às_barras;

if (limite> barrasParaProcessar)

limit=barsToProcess;

enquanto (i< limite)

{

// IPP#2 EM BAIXA

// Vela[1] está no Top Bollinger Band ou perto dele

// Vela[2] está dentro da Vela[1]

se ((Fechar [ i+2] > Abrir [ i+2]) && (Fechar [ i+1] > Abrir ) && (Abrir > Fechar [ i+1])

&& (Alto Baixo [ i+1]))

{

ObjectCreate ("Bearish IPP2" +DoubleToStr (i, 0), OBJ_ARROW, 0, Time , High + 50*Point);

ObjectSet ("Bearish IPP2" +DoubleToStr (i, 0), OBJPROP_ARROWCODE, 130);

ObjectSet ("Bearish IPP2" +DoubleToStr (i, 0), OBJPROP_COLOR, Vermelho );

Alert("Bearish IPP2 -SHORT @", Low);

}

// IPP#2 em alta

se ((Fechar [ i+2] < Abrir [ i+2]) && (Fechar [ i+1]< Abrir ) && (Abrir < Fechar [ i+1])

&& (Alto Baixo [ i+1]))

{

ObjectCreate ("Bullish IPP2" +DoubleToStr (i, 0), OBJ_ARROW, 0, Time , Low - 50*Point);

ObjectSet ("Bullish IPP2" +DoubleToStr (i, 0), OBJPROP_ARROWCODE, 130);

ObjectSet ("Bullish IPP2" +DoubleToStr (i, 0), OBJPROP_COLOR, Lime );

Alert("Bullish IPP2 -LONG @", High,Time);

// PlaySound("alert.wav");

}

i++;

}

//----

retorno (0);

}

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

 

existe alguma maneira de verificar se a última ordem foi fechada, alcançando tp, sl ou sem atingir um deles?

Saudações

 

Alguém poderia me ajudar a acrescentar um alerta sonoro a este indicador?

Obrigado!

Arquivos anexados:
hilow3.mq4  2 kb
 
jan100:
há alguma maneira de verificar se o último pedido foi fechado atingindo tp, sl ou sem atingir um deles? Saudações

Se OrderClosePrice() for igual OrderStopLoss() a ordem foi fechada ao atingir sl.

 

Conversão do Indicador em EA

Olá a todos,

Tive um problema com a EA do RSI e MA.

Tenho o indicador funcionando corretamente... Tudo que quero é convertê-lo em EA...

Eu tentei algumas coisas. IndicatorCounted() não está funcionando na EA, então tentei codificar os valores do for loop (bar=0; bar<15; bar++), eu estava obtendo o RSI correto, mas SMA não está dando valores coretos...

Estou anexando o código para SMA cruzando o RSI...

Então, alguém poderia me ajudar a converter este Indicador em EA.

***************************************************************************************************************************************

#janela_indicadora de propriedade_separarate_window

#property indicator_buffers 2

#indicador de propriedade_color1 LawnGreen

#Indicador de propriedade_color2 DarkBlue

duplo ExtMapBuffer1[];

duplo ExtMapBuffer2[];

int init()

{

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);

SetIndexBuffer(1,ExtMapBuffer2);

return(0);

}

int deinit()

{

retorno(0);

}

int start()

{

int bar, limite;

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit=Bars-IndicatorCounted();

for(bar=0; bar<limit; bar++)

ExtMapBuffer1 = iRSI(NULL,0,14,PRICE_TYPICAL,bar);

for(bar=0; bar<limit; bar++)

ExtMapBuffer2=iMAOnArray(ExtMapBuffer1,Bars,14,0,MODE_SMA,bar);

return(0);

}

***************************************************************************************************************************************

Obrigado & Cumprimentos,

Ganesh