[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 930
A função exibirá o número do ticker (não confundir com o número mágico) de uma posição aberta ou de um pedido pendente feito. Se a função OrderSend() falhar, ela retornará -1.
Cada pedido aberto ou pendente é identificado por seu próprio número único.
Por favor, conserte o código, para que o próximo comércio não abra até o anterior fechado por SL ou TP. Não tenho mais forças para testá-lo manualmente.
Por favor, conserte o código, para que o próximo comércio não abra até o anterior fechado por SL ou TP. Não tenho mais forças para testá-lo manualmente.
Algo que não notei em seu cheque para ver se a posição já está no mercado... Antes de abrir uma posição, verifique se existe alguma posição com o mesmo tipo e o mesmo número mágico, Se houver, então não há necessidade de abrir nada...
Não vejo você verificando se uma posição já está no mercado... Antes de abrir uma posição, verifique se já existe uma posição no mercado com o mesmo tipo e magik e, Se houver, não há necessidade de abrir nada...
Bem, para ser honesto - não é um conselheiro... É que... um brinquedo para um testador. Você não pode usá-lo de verdade. E se você quiser "mudar" tanto que possa trabalhar com ele na vida real, duvido que alguém o faça de graça...
Embora... pode haver alguns altruistas... mas para uma boa idéia. Você não consegue nem mesmo ver a idéia nele.
Bom dia! Camaradas, vocês podem me dizer qual é o truque? Do Tutorial :
"ObjectCreate() function... A função retorna VERDADEIRA se o objeto foi criado com sucesso, caso contrário, retorna FALSO. Para obter mais informações sobre o erro, ligue para GetLastError()".
No meu EA, ele dá em Alerta - "ObjectCreate=0, ObjectSetText=1" para toda a criação gráfica. Não importa se GetLastError() mostra ou não um erro. A imagem é criada, mas por que "ObjectCreate=0...? Se deve ser 1 ? Aqui está o código:
Dimka-novitsek: Ajuda!!! A EA negocia bem na história, mas não faz nada na conta? É horrível!!! Ajudar de que forma? Uma palavra gentil? :))
Bem, como pode ser, o que tem a ver com isso? Estou surpreso de forma alguma. Eu não recebi nenhuma mensagem de erro, não fiz nada, apenas sorri, mas funciona no testador.
//+------------------------------------------------------------------+ //| função de inicialização especializada | //+------------------------------------------------------------------+ External int BandsPeriod=20,i=1 ;extern int BandsShift=0; Faixas duplas externasDeviações=2,0; double Lots externo=0,1,TakeProfit=50,stoploss=10 ;double PointX; int init() { if(Digits===5 || Digits===3) PointX = Point * 10; // Ponto de correção para três ou cinco dígitos if(Dígitos==4 || Dígitos===2) PointX = Point; //----
//---- retorno(0); } //+------------------------------------------------------------------+ //| função de desinicialização de especialistas | //+------------------------------------------------------------------+ int deinit() { //----
//---- retorno(0); } //+------------------------------------------------------------------+ //| função de início especializado | //+------------------------------------------------------------------+ int start() { int total=OrdensTotal();// Comentário(" total ",total); Alerta (" total ",total); se ( total !=0 ){retorno;}
dupla Média,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,soma,desvio; texto de cordel; int ticket; int err; text="macd sample"; Média=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i); int k,counted_bars=IndicatorCounted();
//---- //---- for( k = 0; k<BandsPeriod; k++) { newres=Close[k]-A média;//Alerta (" Média ",Média); sum+=((newres*100)*(newres*100))/10000;//Alerta (" newres ",newres); }
desvio=Deviações de Banda*MathSqrt(soma/Período de Banda); Verhnyayaghranytsa=Average+deviation; Nyzhnyayaghranytsa=Average-deviation;//Alert (" soma ",soma); // Alerta (" desvio ",desvio"); //---- se (Verhnyayaghranytsa<Close[i]) { Comentário(" bóia ",Verhnyayaghranytsa ); ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green);
}
se (Nyzhnyayaghranytsa>Close[i]) { Comentário(" vender! ",Nyzhnyayaghranytsa );
se você não se importa de me explicar à sua maneira.
o que faz :
bilhete - número de pedido único?
Posso conhecer de cor a documentação e o manual, mas ele é inútil.
Concordo, está muito bem escrito, mas não está no meu nível, não conheço muitas palavras inteligentes.
É este o número mágico da ordem aberta ou é o primeiro ou o segundo da lista?
se você não se importa de me explicar à sua maneira.
o que faz :
bilhete - número de pedido único?
Posso conhecer de cor a documentação e o manual, mas ele é inútil.
Concordo, está muito bem escrito, mas não está no meu nível, não conheço muitas palavras inteligentes.
é o número mágico da ordem aberta, ou um número de série como o primeiro ou segundo da lista?
Estudar cuidadosamente http://www.alpari.ru/ru/school/textbook/autotrading/expert_advisors/, neste caso a função sensível ao pedido é abrir um pedido.
A função exibirá o número do ticker (não confundir com o número mágico) de uma posição aberta ou de um pedido pendente feito. Se a função OrderSend() falhar, ela retornará -1.
Cada pedido aberto ou pendente é identificado por seu próprio número único.
Ajuda!!! A EA negocia bem na história, mas não faz nada por conta?
Por favor, conserte o código, para que o próximo comércio não abra até o anterior fechado por SL ou TP. Não tenho mais forças para testá-lo manualmente.
Por favor, conserte o código, para que o próximo comércio não abra até o anterior fechado por SL ou TP. Não tenho mais forças para testá-lo manualmente.
Algo que não notei em seu cheque para ver se a posição já está no mercado... Antes de abrir uma posição, verifique se existe alguma posição com o mesmo tipo e o mesmo número mágico,
Se houver, então não há necessidade de abrir nada...
... e você ficará feliz... :)
Não vejo você verificando se uma posição já está no mercado... Antes de abrir uma posição, verifique se já existe uma posição no mercado com o mesmo tipo e magik e,
Se houver, não há necessidade de abrir nada...
... e você ficará feliz... :)
Eu não sei nada sobre códigos :))
Eu não sei nada sobre códigos :))
Bem, para ser honesto - não é um conselheiro... É que... um brinquedo para um testador. Você não pode usá-lo de verdade. E se você quiser "mudar" tanto que possa trabalhar com ele na vida real, duvido que alguém o faça de graça...
Embora... pode haver alguns altruistas... mas para uma boa idéia. Você não consegue nem mesmo ver a idéia nele.
Camaradas, vocês podem me dizer qual é o truque?
Do Tutorial :
"ObjectCreate() function... A função retorna VERDADEIRA se o objeto foi criado com sucesso, caso contrário, retorna FALSO. Para obter mais informações sobre o erro, ligue para GetLastError()".
No meu EA, ele dá em Alerta - "ObjectCreate=0, ObjectSetText=1" para toda a criação gráfica. Não importa se GetLastError() mostra ou não um erro. A imagem é criada, mas por que "ObjectCreate=0...? Se deve ser 1 ? Aqui está o código:
Dimka-novitsek:
Ajuda!!! A EA negocia bem na história, mas não faz nada na conta?
É horrível!!! Ajudar de que forma? Uma palavra gentil? :))
Bem, como pode ser, o que tem a ver com isso? Estou surpreso de forma alguma. Eu não recebi nenhuma mensagem de erro, não fiz nada, apenas sorri, mas funciona no testador.
//+------------------------------------------------------------------+
//| Dimon's Borders .mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#direitos autorais "Copyright © 2010, MetaQuotes Software Corp.
#link da propriedade "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| função de inicialização especializada |
//+------------------------------------------------------------------+
External int BandsPeriod=20,i=1 ;extern int BandsShift=0;
Faixas duplas externasDeviações=2,0;
double Lots externo=0,1,TakeProfit=50,stoploss=10 ;double PointX;
int init()
{ if(Digits===5 || Digits===3) PointX = Point * 10; // Ponto de correção para três ou cinco dígitos
if(Dígitos==4 || Dígitos===2) PointX = Point;
//----
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de desinicialização de especialistas |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de início especializado |
//+------------------------------------------------------------------+
int start()
{ int total=OrdensTotal();// Comentário(" total ",total); Alerta (" total ",total);
se ( total !=0 ){retorno;}
dupla Média,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,soma,desvio;
texto de cordel; int ticket; int err;
text="macd sample";
Média=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
int k,counted_bars=IndicatorCounted();
//----
//----
for( k = 0; k<BandsPeriod; k++)
{ newres=Close[k]-A média;//Alerta (" Média ",Média);
sum+=((newres*100)*(newres*100))/10000;//Alerta (" newres ",newres);
}
desvio=Deviações de Banda*MathSqrt(soma/Período de Banda);
Verhnyayaghranytsa=Average+deviation;
Nyzhnyayaghranytsa=Average-deviation;//Alert (" soma ",soma);
// Alerta (" desvio ",desvio");
//----
se (Verhnyayaghranytsa<Close[i])
{ Comentário(" bóia ",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green);
}
se (Nyzhnyayaghranytsa>Close[i])
{ Comentário(" vender! ",Nyzhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+stoploss*PointX,Bid-TakeProfit*PointX, "macd sample",16384,0,Red);
Alerta (GetLastError());
}
retorno(0);
}
//+------------------------------------------------------------------+
Com certeza o OrderSend está correto, ele não dá um erro, mas no testador, ele negocia!