Última Hora: "BCE não mexe nos juros e mantém tabu sobre futuros cortes - Expresso" Thu, 14 Dec 2023 08:00:00 GMT    "Euro baixa ligeiramente após decisões da Reserva Federal - Dinheiro Vivo" Thu, 21 Mar 2024 19:29:00 GMT    "Ainda não será hoje que BCE começa a descer taxas de juro. Nova aposta é que primeiro corte vai acontecer em junho - CNN Portugal" Thu, 07 Mar 2024 08:00:00 GMT    "Reserva Federal não desce juros mas, apesar da inflação "demasiado elevada", mantém previsão de baixar três vezes ... - Observador" Wed, 20 Mar 2024 07:00:00 GMT    "BCE mantém taxas de juro inalteradas - Euronews" Thu, 25 Jan 2024 08:00:00 GMT    "Banco central da Suíça corta taxa de juro, antecipando-se ao BCE e Fed - ECO" Thu, 21 Mar 2024 12:44:47 GMT    "Banco Central Europeu mantém taxas de juro inalteradas | Política monetária - Público" Thu, 14 Dec 2023 08:00:00 GMT    "Moody?s: taxas do BCE vão levar ano e meio a descer e ficam em 2% - Diário de Notícias" Wed, 06 Mar 2024 08:00:00 GMT    "Banco de Inglaterra mantém taxas de juro pela 5ª vez consecutiva - Idealista" Fri, 22 Mar 2024 11:13:34 GMT    "Europa em alta com atenções centradas na Fed. Petróleo ganha com bons ventos da China - Jornal de Negócios" Tue, 19 Mar 2024 17:57:32 GMT      Para mais notícias, clique aqui.

Área de Acesso
       
       
Lembrar Sempre 
(Login Canal Forex & Bolsa PT)


Bem vindo ao Canal Forex.
Bem vindos ao Fórum do Portal BolsaPT! Inscrevam-se e participem na nossa comunidade, poderão pedir opiniões e Análises Técnicas às vossas acções, colocar dúvidas, aprender, partilhar ideias, ajudar outros, etc. Além das cotações, gráficos, análise técnica interactiva, históricos, terão simulação de carteiras, alarmes, e muito mais virá no futuro. Lembre-se que se pode logar com o seu login CanalForex!


Sistemas de Trading Mecânicos para Forex Para todos os que pretendem trocar ideias sobre sistemas de trading, trading automatizado, criação de indicadores customizados, combinação de indicadores, linguagens de programação para trading, etc...

Responder
 
Opções
  #1  
Velho 17-02-2011, 14:56
danieldavid danieldavid encontra-se desligado
Novo Utilizador
 
About:
Data de Adesão: Feb 2011
Mensagens: 0
Question preciso de uma ajuda para modificar um Ea

Olá a todos, mim escrevi aqui no fórum pois preciso de uma ajuda para modifica um EA, e entendo pouco de programação, gostaria de colocar
2 sistemas a mais no EA , o primeiro é quando abrir um ordem , e o Ea verificar que tem outra ordem aberta na posição contrariar fechar a mesma , o outro
sistema é o de colocar um sistema de (extern double risk) risco para o Ea trabalhar, quem poder mim ajudar ficarei muito agradecido .

------------- o EA----------------------

int start()
{
if(Digits==4||Digits==2)ctldec=1;
if(Digits==5||Digits==3)ctldec=10;

double p=ctldec*Point;
double spread=Ask-Bid;

int cnt=0;
int gle=0;
int OrdersPerSymbol=0;

// stoploss and takeprofit and close control
double SL=0;
double TP=0;
double CurrentProfit=0;
double CurrentBasket=0;

// direction control
bool BUYme=false;
bool SELLme=false;

// Trade stuff
double ma0;
double maHI;
double maLO;
double maOPEN;

// bar counting
if(bartime!=Time[0])
{
bartime=Time[0];
bartick++;
objtick++;
TradeAllowed=true;
}
OrdersPerSymbol=0;
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if( OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
OrdersPerSymbol++;
}
}

int Total = OrdersTotal(), // Numero Total de ordens no MetaTrader
NumOrdensBuy = 0, // Numero de ordens buy neste consultor
NumOrdensSell = 0, // Numero de ordens sell neste consultor
i; // utilizado nos loops

// Conta as ordens abertas por este sistema
for(i=0;i<Total;i++) { // passa por todas as ordens abertas
// seleciono a ordem da lista de ordens
// pela localização da mesma na lista
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
// se a ordem pertence a este par e tem este número mágico
if ((OrderSymbol()==Symbol()) && (OrderMagicNumber()==MagicNumber)) {
if (OrderType()==OP_BUY) NumOrdensBuy++; // Conta se for Buy
if (OrderType()==OP_SELL) NumOrdensSell++; // Conta se for Sell
}
}
// verifica se tem de fechar alguma ordem e a fecha
for(i=0;i<Total;i++) { // passa por todas as ordens abertas
// seleciono a ordem da lista de ordens
// pela localização da mesma na lista
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
// se a ordem pertence a este par e tem este número mágico
if ((OrderSymbol()==Symbol()) && // é deste par de moedas
(OrderMagicNumber()==MagicNumber)) { // e é deste Consultor
// se tem ordem aberta e for contraria ao sinal obtido então fecha
if ((BUYme &&(NumOrdensSell>0)) || // Sina Buy com Ordem Sell Aberta
(SELLme&&(NumOrdensBuy>0 ))) // ou Sina Sell com Ordem Buy Aberta
// entao fechar essa ordem
OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 0, Red);
}
}




//+-----------------------------+
//| Insert your indicator here |
//| And set either BUYme or |
//| SELLme true to place orders |
//+-----------------------------+

// high and low of [1] and open of [0] either above or below the MA
maHI=High[1];
maLO=Low[1];
maOPEN=Open[0];
ma0=iMA(Symbol(),0,MA_Period,0,MA_Mode,MA_Price,0) ;

if(maHI>ma0 && maLO>ma0 && maOPEN>ma0) BUYme=true;
if(maHI<ma0 && maLO<ma0 && maOPEN<ma0) SELLme=true;

//+------------+
//| End Insert |
//+------------+



//ENTRY LONG (buy, Ask)
if(TradeAllowed && BUYme)
{
//Ask(buy, long)
if(LossLimit ==0) SL=0; else SL=Ask-( (LossLimit +7)*ctldec*Point );
if(ProfitMade==0) TP=0; else TP=Ask+( (ProfitMade+7)*ctldec*Point );
OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP, TradeComment,MagicNumber,White);
gle=GetLastError();
if(gle==0)
{
Print("BUY Ask=",Ask," bartick=",bartick);
ObjectCreate("myx"+DoubleToStr(objtick,0), OBJ_TEXT, 0, Time[0], High[0]+(5*p));
ObjectSetText("myx"+DoubleToStr(objtick,0),"B",15, "Arial",Red);
bartick=0;
TradeAllowed=false;
}
else
{
Print("-----ERROR----- BUY Ask=",Ask," error=",gle," bartick=",bartick);
}
}

//ENTRY SHORT (sell, Bid)
if(TradeAllowed && SELLme)
{
//Bid (sell, short)
if(LossLimit ==0) SL=0; else SL=Bid+((LossLimit+7)*ctldec*Point );
if(ProfitMade==0) TP=0; else TP=Bid-((ProfitMade+7)*ctldec*Point );
OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP ,TradeComment,MagicNumber,Red);
gle=GetLastError();
if(gle==0)
{
Print("SELL Bid=",Bid," bartick=",bartick);
ObjectCreate("myx"+DoubleToStr(objtick,0), OBJ_TEXT, 0, Time[0], High[0]+(5*p));
ObjectSetText("myx"+DoubleToStr(objtick,0),"S",15, "Arial",Red);
bartick=0;
TradeAllowed=false;
}
else
{
Print("-----ERROR----- SELL Bid=",Bid," error=",gle," bartick=",bartick);
}
}


//Basket profit or loss
//CurrentBasket=AccountEquity()-AccountBalance();
//if( CurrentBasket>=BasketProfit || CurrentBasket<=(BasketLoss*(-1)) )
// {
// CloseEverything();
// }
Responder com Quote
  #2  
Velho 24-02-2011, 09:03
Avatar de afernandes
afernandes afernandes encontra-se desligado
Sénior
 
About:
Data de Adesão: Sep 2007
Mensagens: 0
Por Defeito

Olá
Não entendo bem as questões, pois a primeira vejo que já está no próprio código.
A segunda tem muitas respostas em por exemplo, mql4.com de onde tirei a que apresento abaixo:



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

#property copyright "AF"
#property link "http://www.i9forex.com/"


extern int MGN=1;
extern int TradeRisk=1;
extern int StopLoss=35;

double p=0;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
int ctldec=1;
if(Digits==5||Digits==3)ctldec=10;
p=ctldec*Point;

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
// codigo
fLots(StopLoss); // Seria melhor, que o StopLoss fosse dinamico e não fixo.
// codigo p/ ABRIR
fFechaContra(1); // Se Ordem aberta é SELL
fFechaContra(2); // Se Ordem aberta é BUY


//----
return(0);
}
//+------------------------------------------------------------------+

void fFechaContra(int Tipo) {
int nP=OrdersTotal(), nBUY=0,nSELL=0;
for(int i=0;i<nP;i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MGN ) {
if(Tipo == 1 && OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(Or derSymbol(),MODE_BID),999,Red);
if(Tipo == 2 && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(Or derSymbol(),MODE_ASK),999,Orange);
}

}
}
}

double fLots( int StopLoss)
{
double MinLot = MarketInfo(Symbol(), MODE_MINLOT);
double MaxLot = MarketInfo(Symbol(), MODE_MAXLOT);
double LotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
double lots=0.0;

lots = (AccountEquity() * TradeRisk / 100) / (StopLoss * MarketInfo(Symbol(),MODE_TICKVALUE));
lots /= LotStep;
lots = NormalizeDouble(lots, 0);
lots *= LotStep;

if(lots>MaxLot) lots=MaxLot;
if(lots<MinLot) lots=0.0;

return(lots);
}
//+--------------------------------------------------------------------------------------------

Um comentário mais:

É bom que te habitues a organizar o código e a optimizá-lo afim de não ser repetitivo e de difícil leitura

Ex:

Este código, que não varia, nem cada hora, nem cada dia, deve estar em INIT e não em START

int init()
{
//----
int ctldec=1;
if(Digits==5||Digits==3)ctldec=10;
p=ctldec*Point;

//----


INIT só se executa ao inicio ( ou quando se fecha e abre o EA ).
START se executa em cada variação da cotação no MT4.


NB: Retiro o de difícil leitura, pois é aqui o forum que estraga o que se 'cola' aqui...
__________________
AF
i9Forex.com
Responder com Quote
  #3  
Velho 24-02-2011, 12:55
danieldavid danieldavid encontra-se desligado
Novo Utilizador
 
About:
Data de Adesão: Feb 2011
Mensagens: 0
Por Defeito

OLá, obrigado , qui no fórum fica meio ruim para passar os códigos, vou passar o EA completo , para vc ver o que poderia ser mudado. Eu gostaria de add no ea era um sistema para fechar todas as posições quando tiver um sinal contrario das posições já abertas, não deixar duas posções aberta ex; uma de sell e buy. o outro sistema é para deixar o EA trabalhar com sistema risco (EX risk de 5%). ate mais!

O EA------------------------------

/*
+--------+
|Divergence Trader -- v11 has no divergence. How 'bout that!
+--------+
*/
#property copyright "Ron Thompson"
#property link "http://www.lightpatch.com/forex"


// user input
int ctldec=0;
extern double Lots=0.01; // how many lots to trade at a time
extern int MA_Period=88;
extern int MA_Price = PRICE_OPEN;
extern int MA_Mode = MODE_EMA;

extern double ProfitMade=25; // how much money do you expect to make
extern double LossLimit=115; // how much loss can you tolorate
//extern int BasketProfit=10; // if equity reaches this level, close trades
//extern int BasketLoss=9999; // if equity reaches this negative level, close trades

extern int PLBreakEven=5; // set break even when this many pips are made (999=off)


int Slippage=2; // how many pips of slippage can you tolorate


// naming and numbering
int MagicNumber = 200601182020; // allows multiple experts to trade on same account
string TradeComment = "Divergence_07_";

// Bar handling
datetime bartime=0; // used to determine when a bar has moved
int bartick=0; // number of times bars have moved
int objtick=0; // used to draw objects on the chart
int tickcount=0;

// Trade control
bool TradeAllowed=true; // used to manage trades

//+-------------+
//| Custom init |
//|-------------+
// Called ONCE when EA is added to chart or recompiled

int init()
{
int i;
string o;

//remove the old objects
for(i=0; i<Bars; i++)
{
o=DoubleToStr(i,0);
ObjectDelete("myx"+o);
ObjectDelete("myz"+o);
}
objtick=0;

ObjectDelete("Cmmt");
ObjectCreate( "Cmmt", OBJ_TEXT, 0, Time[20], High[20]+(5*ctldec*Point) );
ObjectSetText("Cmmt","Divergence=X.XXXX",10,"Arial ",White);

Print("Init happened ",CurTime());
Comment(" ");
}

//+----------------+
//| Custom DE-init |
//+----------------+
// Called ONCE when EA is removed from chart

int deinit()
{
int i;
string o;
//remove the old objects

for(i=0; i<Bars; i++)
{
o=DoubleToStr(i,0);
ObjectDelete("myx"+o);
ObjectDelete("myz"+o);
}
objtick=0;

Print("DE-Init happened ",CurTime());
Comment(" ");
}


//+-----------+
//| Main |
//+-----------+
// Called EACH TICK and each Bar[]

int start()
{
if(Digits==4||Digits==2)ctldec=1;
if(Digits==5||Digits==3)ctldec=10;

double p=ctldec*Point;
double spread=Ask-Bid;

int cnt=0;
int gle=0;
int OrdersPerSymbol=0;

// stoploss and takeprofit and close control
double SL=0;
double TP=0;
double CurrentProfit=0;
double CurrentBasket=0;

// direction control
bool BUYme=false;
bool SELLme=false;

// Trade stuff
double ma0;
double maHI;
double maLO;
double maOPEN;

// bar counting
if(bartime!=Time[0])
{
bartime=Time[0];
bartick++;
objtick++;
TradeAllowed=true;
}
OrdersPerSymbol=0;
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if( OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
OrdersPerSymbol++;
}
}

int Total = OrdersTotal(), // Numero Total de ordens no MetaTrader
NumOrdensBuy = 0, // Numero de ordens buy neste consultor
NumOrdensSell = 0, // Numero de ordens sell neste consultor
i; // utilizado nos loops

// Conta as ordens abertas por este sistema
for(i=0;i<Total;i++) { // passa por todas as ordens abertas
// seleciono a ordem da lista de ordens
// pela localização da mesma na lista
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
// se a ordem pertence a este par e tem este número mágico
if ((OrderSymbol()==Symbol()) && (OrderMagicNumber()==MagicNumber)) {
if (OrderType()==OP_BUY) NumOrdensBuy++; // Conta se for Buy
if (OrderType()==OP_SELL) NumOrdensSell++; // Conta se for Sell
}
}
// verifica se tem de fechar alguma ordem e a fecha
for(i=0;i<Total;i++) { // passa por todas as ordens abertas
// seleciono a ordem da lista de ordens
// pela localização da mesma na lista
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
// se a ordem pertence a este par e tem este número mágico
if ((OrderSymbol()==Symbol()) && // é deste par de moedas
(OrderMagicNumber()==MagicNumber)) { // e é deste Consultor
// se tem ordem aberta e for contraria ao sinal obtido então fecha
if ((BUYme &&(NumOrdensSell>0)) || // Sina Buy com Ordem Sell Aberta
(SELLme&&(NumOrdensBuy>0 ))) // ou Sina Sell com Ordem Buy Aberta
// entao fechar essa ordem
OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 0, Red);
}
}




//+-----------------------------+
//| Insert your indicator here |
//| And set either BUYme or |
//| SELLme true to place orders |
//+-----------------------------+

// high and low of [1] and open of [0] either above or below the MA
maHI=High[1];
maLO=Low[1];
maOPEN=Open[0];
ma0=iMA(Symbol(),0,MA_Period,0,MA_Mode,MA_Price,0) ;

if(maHI>ma0 && maLO>ma0 && maOPEN>ma0) BUYme=true;
if(maHI<ma0 && maLO<ma0 && maOPEN<ma0) SELLme=true;

//+------------+
//| End Insert |
//+------------+



//ENTRY LONG (buy, Ask)
if(TradeAllowed && BUYme)
{
//Ask(buy, long)
if(LossLimit ==0) SL=0; else SL=Ask-( (LossLimit +7)*ctldec*Point );
if(ProfitMade==0) TP=0; else TP=Ask+( (ProfitMade+7)*ctldec*Point );
OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP, TradeComment,MagicNumber,White);
gle=GetLastError();
if(gle==0)
{
Print("BUY Ask=",Ask," bartick=",bartick);
ObjectCreate("myx"+DoubleToStr(objtick,0), OBJ_TEXT, 0, Time[0], High[0]+(5*p));
ObjectSetText("myx"+DoubleToStr(objtick,0),"B",15, "Arial",Red);
bartick=0;
TradeAllowed=false;
}
else
{
Print("-----ERROR----- BUY Ask=",Ask," error=",gle," bartick=",bartick);
}
}

//ENTRY SHORT (sell, Bid)
if(TradeAllowed && SELLme)
{
//Bid (sell, short)
if(LossLimit ==0) SL=0; else SL=Bid+((LossLimit+7)*ctldec*Point );
if(ProfitMade==0) TP=0; else TP=Bid-((ProfitMade+7)*ctldec*Point );
OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP ,TradeComment,MagicNumber,Red);
gle=GetLastError();
if(gle==0)
{
Print("SELL Bid=",Bid," bartick=",bartick);
ObjectCreate("myx"+DoubleToStr(objtick,0), OBJ_TEXT, 0, Time[0], High[0]+(5*p));
ObjectSetText("myx"+DoubleToStr(objtick,0),"S",15, "Arial",Red);
bartick=0;
TradeAllowed=false;
}
else
{
Print("-----ERROR----- SELL Bid=",Bid," error=",gle," bartick=",bartick);
}
}


//Basket profit or loss
//CurrentBasket=AccountEquity()-AccountBalance();
//if( CurrentBasket>=BasketProfit || CurrentBasket<=(BasketLoss*(-1)) )
// {
// CloseEverything();
// }


// CLOSE order if profit target made
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if( OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber )
{

if(OrderType()==OP_BUY)
{
CurrentProfit=Bid-OrderOpenPrice() ;

// modify for break even
if (CurrentProfit >= PLBreakEven*p && OrderOpenPrice()>OrderStopLoss())
{
SL=OrderOpenPrice()+(spread*2);
TP=OrderTakeProfit();
OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP, White);
gle=GetLastError();
if(gle==0)
{
Print("MODIFY BREAKEVEN BUY Bid=",Bid," bartick=",bartick);
ObjectCreate("myz"+DoubleToStr(objtick,0), OBJ_TEXT, 0, Time[0], Low[0]-(7*p));
ObjectSetText("myz"+DoubleToStr(objtick,0),"BE",15 ,"Arial",White);
}
else
{
Print("-----ERROR----- MODIFY BREAKEVEN BUY Bid=",Bid," error=",gle," bartick=",bartick);
}
}

// did we make our desired BUY profit
// or did we hit the BUY LossLimit
if((ProfitMade>0 && CurrentProfit>=(ProfitMade*p)) || (LossLimit>0 && CurrentProfit<=((LossLimit*(-1))*p)) )
{
OrderClose(OrderTicket(),Lots,Bid,Slippage,White);
gle=GetLastError();
if(gle==0)
{
Print("CLOSE BUY Bid=",Bid," bartick=",bartick);
ObjectCreate("myz"+DoubleToStr(objtick,0), OBJ_TEXT, 0, Time[0], Low[0]-(7*p));
ObjectSetText("myz"+DoubleToStr(objtick,0),"C",15, "Arial",White);
}
else
{
Print("-----ERROR----- CLOSE BUY Bid=",Bid," error=",gle," bartick=",bartick);
}
}

} // if BUY


if(OrderType()==OP_SELL)
{

CurrentProfit=OrderOpenPrice()-Ask;

// modify for break even
if (CurrentProfit >= PLBreakEven*p && OrderOpenPrice()<OrderStopLoss())
{
SL=OrderOpenPrice()-(spread*2);
TP=OrderTakeProfit();
OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP, Red);
gle=GetLastError();
if(gle==0)
{
Print("MODIFY BREAKEVEN SELL Ask=",Ask," bartick=",bartick);
ObjectCreate("myz"+DoubleToStr(objtick,0), OBJ_TEXT, 0, Time[0], Low[0]-(7*p));
ObjectSetText("myz"+DoubleToStr(objtick,0),"BE",15 ,"Arial",Red);
}
else
{
Print("-----ERROR----- MODIFY BREAKEVEN SELL Ask=",Ask," error=",gle," bartick=",bartick);
}
}

// did we make our desired SELL profit?
if( (ProfitMade>0 && CurrentProfit>=(ProfitMade*p)) || (LossLimit>0 && CurrentProfit<=((LossLimit*(-1))*p)) )
{
OrderClose(OrderTicket(),Lots,Ask,Slippage,Red);
gle=GetLastError();
if(gle==0)
{
Print("CLOSE SELL Ask=",Ask," bartick=",bartick);
ObjectCreate("myz"+DoubleToStr(objtick,0), OBJ_TEXT, 0, Time[0], Low[0]-(7*p));
ObjectSetText("myz"+DoubleToStr(objtick,0),"C",15, "Arial",Red);
}
else
{
Print("-----ERROR----- CLOSE SELL Ask=",Ask," error=",gle," bartick=",bartick);
}

}

} //if SELL

} // if(OrderSymbol)

} // for

} // start()



//+-----------------+
//| CloseEverything |
//+-----------------+
// Closes all OPEN and PENDING orders

int CloseEverything()
{
double myAsk;
double myBid;
int myTkt;
double myLot;
int myTyp;

int i;
bool result = false;

for(i=OrdersTotal();i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);

myAsk=MarketInfo(OrderSymbol(),MODE_ASK);
myBid=MarketInfo(OrderSymbol(),MODE_BID);
myTkt=OrderTicket();
myLot=OrderLots();
myTyp=OrderType();

switch( myTyp )
{
//Close opened long positions
case OP_BUY :result = OrderClose(myTkt, myLot, myBid, Slippage, Red);
break;

//Close opened short positions
case OP_SELL :result = OrderClose(myTkt, myLot, myAsk, Slippage, Red);
break;

//Close pending orders
case OP_BUYLIMIT :
case OP_BUYSTOP :
case OP_SELLLIMIT:
case OP_SELLSTOP :result = OrderDelete( OrderTicket() );
}

if(result == false)
{
Alert("Order " , myTkt , " failed to close. Error:" , GetLastError() );
Print("Order " , myTkt , " failed to close. Error:" , GetLastError() );
Sleep(3000);
}

Sleep(1000);

} //for

} // closeeverything
Início de Novo Tópico
Responder com Quote
Responder

« Anterior | Seguinte »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Opções

Regras de Criação de Mensagens
não pode criar novos tópicos
não pode enviar respostas às mensagens
não pode adicionar ficheiros em anexo
não pode editar as suas mensagens
O Código vB está On
Smiles estão On
Código da [IMG] é On
Código HTML é Desligado
Ir Para o Fórum:

Tópicos Semelhantes
Tópico Início de Novo Tópico Fórum Respostas Última Mensagem
Preciso de sua opinião sobre este EA. Pax Sistemas de Trading Mecânicos para Forex 10 06-11-2014 00:47
DEMOS... é preciso cuidado com elas... afernandes Fórum Geral de Forex 1 30-03-2012 17:51
Ajuda Gratuita Assetmanagerfx Análise Técnica em Forex 2 30-09-2011 10:58
Ajuda Gratuita Assetmanagerfx Sistemas de Trading Mecânicos para Forex 0 29-09-2011 22:59
INICIANTE procura ajuda lincoln Fórum Geral de Forex 9 15-09-2009 13:40


Todas horas estão no fuso horário GMT. A hora actual é 14:42.

Largura do Site:


Copyright@2007-2024 - CanalForex.com, todos os direitos reservados.