Como codificar? - página 59

 

Olá a todos...

como posso definir um código de pedido no metaeditor,

eu uso conta demo... é possível definir uma ordem em conta demo

eu tentei, mas falhou

 

Parâmetro BE

Olá.

Preciso de ajuda para adicionar o parâmetro BE stop neste EA, por favor. Este EA eu o recebi da primeira página deste tópico que se baseia no sistema Trendmanager.

Agradeço antecipadamente.

Cha.

e-trendmanager.mq4

Arquivos anexados:
 

Arquivo MQ4, por favor

Olá.
Eu tenho este arquivo de texto TrendmanagerEA, poderia alguém converter para o arquivo MQ4, por favor, vou testar e comparar com outro EA.

Agradecemos antecipadamente.

Cha.

#propriedade copyright "Copyright ฉ 2006, www.easyforexsignals.com"

#link da propriedade "paul@easyforexsignals.com"

#define LONGCOLOR DodgerBlue

#define SHORTCOLOR OrangeRed

#define MAGICTM 20070610

TMlots duplos externos=0,1;

externo int MoveStopAmount = 20;

externo int MoveStopAfterProfitof = 55;

nível de minadx externo int = 20;

duplo minSolarWind externo = 0,25;

external double minJuice = 0,001;

Exterior int StopLoss=50,

Slippage = 3,

TakeProfit=120;

data/hora LastTMSignalTime;

Exterior int MinTimeBetweenSignals = 60;

int init(){

retorno(0);

}

int deinit(){

retorno(0);

}

int start()

{

int res= 0;

if(Bars<100 || IsTradeAllowed()==falso) retorna;

CheckTrendManager(); // verificar sistema de gerenciamento de tendências

CheckForTMClose(); // verificar se há fechamentos neste sistema

CheckForStopMove(); // mover paradas em qualquer comércio aberto

}

verificação nula para StopMove() {

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) break;

if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) continua;

if(OrderType()==OP_BUY)

{

// mover-se para cima para travar o lucro

if ((OrderOpenPrice()-Ask) >= (MoveStopAfterProfitof * Point())) {

OrderModify(OrderTicket(),0,OrderOpenPrice()+(MoveStopAmount*Point),OrderTakeProfit(),0,Black);

}

}

if(OrderType()==OP_SELL)

{

// mover-se para cima para travar o lucro

if ((OrderOpenPrice() - Bid) >= (MoveStop AfterProfitof * Point())) {

OrderModify(OrderTicket(),0,OrderOpenPrice()-(MoveStopAmount*Point),OrderTakeProfit(),0,Black);

}

}

}

}

vazio CheckTrendManager() {

if (Time[0]-LastTMSignalTime > MinTimeBetweenSignals) {

duplo PipsStopLoss, PipsTakeProfit;

duplo TMbuy = iCustom(Symbol(),Period(), "TrendManagerNT",2, 0);

duplo TMsell = iCustom(Symbol(),Period(), "TrendManagerNT",3, 0);

int orderresult;

if (TMbuy > 0) {

se (CheckFilters(OP_BUY)==verdadeiro) {

PipsStopLoss = Ask-(StopLoss * Point()));

PipsTakeProfit = Ask+(TakeProfit * Ponto());

CloseExisting(OP_SELL);

Orderresult =OrderSend(Symbol(),OP_BUY,TMlots,Ask,Slippage,PipsStopLoss, PipsTakeProfit,",MAGICTM,0,Maroon);

Print(Time[0] + "BUY ON TM,resultado do pedido foi :" + resultado do pedido + "stop:". + PipsStopLoss + ",takeprofit:" + PipsTakeProfit);

LastTMSignalTime = Tempo[0];

}

}

se (TMsell > 0){

se (CheckFilters(OP_SELL)==verdadeiro) {

PipsStopLoss = Bid+(StopLoss * Ponto());

PipsTakeProfit = Bid-(TakeProfit * Ponto());

CloseExisting(OP_BUY);

orderresult = OrderSend(Symbol(),OP_SELL,TMlots,Bid,Slippage,PipsStopLoss,PipsTakeProfit,",MAGICTM,0,Green);

Print(Time[0] + "SELL ON TM, o resultado do pedido foi :" + resultado do pedido + "stop:". + PipsStopLoss + ",takeprofit:" + PipsTakeProfit);

LastTMSignalTime = Tempo[0];

}

}

}

}

cheque forTMClose() {

duplo TMclosesell = iCustom(Symbol(),Period(), "TrendManagerNT",4, 0);

double TMclosebuy = iCustom(Symbol(),Period(), "TrendManagerNT",5, 0);

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) break;

if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) continua;

//---- apenas feche-a

if ((TMclosesell > 0) && (OrderType()==OP_SELL)) {

OrderClose(OrderTicket(),OrderLots(),Bid,10,Pink);

}

if ((TMclosebuy > 0) && (OrderType()==OP_BUY)) {

OrderClose(OrderTicket(),OrderLots(),Bid,10,Pink);

}

}

}

// apenas fecha quaisquer posições existentes

void CloseExisting(int OrderTyp)

{

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) break;

if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) continua;

//---- apenas feche o std slippage

if(OrderType()==OrderTyp)

{

OrderClose(OrderTicket(),OrderLots(),Bid,10,White);

}

}

}

bool CheckFilters(int OrderTyp) {

retorno(verdadeiro);

}

 

Basta renomear o arquivo com extensão .mq4. Isso é tudo.

 

Olá.

Tento mudá-lo, mas não consigo trabalhar, mas você pode terminá-lo para mim, por favor?

Obrigado.

Cha.

 
chawichsak:
Olá.

Eu tento mudá-lo, mas não trabalho. Você pode terminá-lo para mim, por favor?

Obrigado.

Cha.

Feito plut corrigiu alguns bugs no código.

Robert

Arquivos anexados:
 

Ajuda necessária para a função de ordeersend

Olá,

Estou tendo problemas com a função orderend().

aqui está o código que eu fiz :

int x = 1;

int init()

{return

(0);

}int

deinit()

{return

(0);

}int

start()

{double

prixdachat = MathMax(High[1],High[2]);

double prixdevente = MathMin(Low[1],Low[2])

;

int ticket1,ticket2;

if (x===1)

{ticket1=OrderSend

(Symbol(),OP_BUY,1,prixdachat+10*Point,5,prixdachat,prixdachat+20*Point, "ordre",1,15,Green)

;

ticket2=OrderSend(Symbol(),OP_SELLL,1,prixdevente-10*Point,5,prixdevente,prixdevente-20*Point, "ordre",2,15,Red);

Print("order launched");

x++;

if(ticket1<0)

{Print

("OrderSend 1 failed with error #",GetLastError()))

;

return(0);

}if

(ticket2<0)

{Imprimir

("OrderSend 2 failed with error #",GetLastError()));

return(0);

}}}retorno

(0);

} Com este código, eu recebo o erro #130 (erro pára)

Alguém pode me explicar o que está errado, eu não entendo...

obrigado.

 

Se você estiver usando a chamada"Execução Instantânea", isto significa o uso de ordens OP_BUY ou OP_SELL, você não pode especificar um preço de entrada que não seja Pedir Compras e Licitações de Vendas.

 
fracte:
Olá,

ticket1=OrderSend(Symbol(),OP_BUY,1,prixdachat+10*Point,5,prixdachat,prixdachat+20*Point, "ordre",1,15,Green);

ticket2=OrderSend(Symbol(),OP_SELLL,1,prixdevente-10*Point,5,prixdevente,prixdevente-20*Point, "ordre",2,15,Red);

Com este código, eu recebo o erro #130 (paradas de erro)

Alguém pode me explicar o que está errado, eu não entendo...

obrigado.

USAR ORDENS PENDENTES EM VEZ DE ORDENS INSTANTÂNEAS.

(por exemplo, mudar OP_BUY FOR OP_BUYSTOP e OP_SELL PARA OP_SELLSTOP)

e tudo estará bem.

 

MUITO OBRIGADO SR. PIP,

CHA.

Razão: