Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
aqui está minha função para mt4 ecn, ndd, stp ...
Nem um único erro em um ano
//+----------------------------------------------------------------------------+
//| Função de abertura de pedidos (BeerGod) |
//+----------------------------------------------------------------------------+
//| Parâmetros: |
//| sy - nome do instrumento ("" - símbolo atual) |
//| op - operação |
| //| ll - lote |
//| sl - nível de parada |
///| tp - tomar nível |
//| mn - MagicNumber |
//+----------------------------------------------------------------------------+
bool OpenPosition(string sy, int op, double ll, double sl=0, double tp=0, int MagicNumber=0)
{
double MinLl = MarketInfo(Symbol(),MODE_MINLOT);
duplo MaxLl = MarketInfo(Symbol(),MODE_MAXLOT);
ll = NormalizeDuplo(ll,2);
se (ll < MinLll) ll = MinLll; caso contrário, ll = ll;
se (ll > MaxLl) ll = MaxLl; caso contrário, ll = ll;
se (op == 0) // Abertura de compra
{
// Verifique se há fundos livres disponíveis
if((AccountFreeMarginCheck(sy,OP_BUY,ll)<=0) ||| (GetLastError()==134))
{
Imprimir(sy," ",ll," É impossível abrir o pedido Comprar, não há dinheiro suficiente");
retorno(0);
}
RefreshRates();
// Ordem aberta
int ticketbuy = OrderSend(sy,OP_BUY,ll,MarketInfo(sy,MODE_ASK),Slippage,0,0,Comments,MagicNumber,0,BuyColor);
if(ticketbuy<0)
Print(sy," OpenPosition. OrderSend Buy Fail #",GetLastError()));
senão
Print(sy," OpenPosition. OrderSend Buy successfully");
// Dormir (Pausa);
// Modificar o pedido (estabelecer lucro e parar a perda)
se (sl !=0 ||| tp !=0)
{
//--- Os preços calculados de SL e TP devem ser normalizados
double BSLoss = NormalizeDouble(MarketInfo(sy,MODE_ASK)-sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS))
double BTProfit = NormalizeDouble(MarketInfo(sy,MODE_ASK)+tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS))
//--- Se o valor do insumo for zero, substituir o preço de modificação por zero
se (sl === 0) BSLoss = 0;
se (tp == 0) BTProfit = 0;
bool resbuy = OrderModify (compra de bilhetes,OrderOpenPrice(),BSLoss,BTProfit,0,StopColor);
se(!resbuy)
Print(sy," OpenPosition. OrderModify Buy Fail #",GetLastError()));
senão
Print(sy," OpenPosition. OrderModify Buy successfully");
}
}
se (op == 1) // Venda Aberta.
{
// Verificar a disponibilidade de fundos gratuitos
if((AccountFreeMarginCheck(sy,OP_SELL,ll)<=0) ||| (GetLastError()==134))
{
Imprimir(sy," ",ll," É impossível abrir a ordem Vender, não há dinheiro suficiente");
retorno(0);
}
RefreshRates();
// Ordem aberta
int ticketsell = OrderSend(sy,OP_SELL,ll,MarketInfo(sy,MODE_BID),Slippage,0,0,Comments,MagicNumber,0,SellColor);
if(ticketell<0)
Print(sy," OpenPosition. OrderSend Sell fail #",GetLastError()));
senão
Print(sy," OpenPosition. OrderSend Sell successfully");
// Dormir (Pausa);
// Modificar o pedido (estabelecer lucro e parar a perda)
se (sl !=0 ||| tp !=0)
{
//--- Os preços calculados de SL e TP devem ser normalizados
double SSLoss = NormalizeDouble(MarketInfo(sy,MODE_BID)+sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS))
double STProfit = NormalizeDouble(MarketInfo(sy,MODE_BID)-tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS))
//--- Se o valor do insumo for zero, substituir o preço de modificação por zero
se (sl == 0) SSLoss = 0;
se (tp == 0) STProfit = 0;
bool ressell = OrderModify (bilhete,OrderOpenPrice(),SSLoss,STProfit,0,StopColor);
se(!ressell)
Print(sy," OpenPosition. OrderModify Sell fail #",GetLastError()));
senão
Print(sy," OpenPosition. OrderModify Sell successfully");
}
}
retorno(Verdadeiro);
}
//End
P.S. Moderadores, o código não pode ser inserido através do botão.
Estou dando gratuitamente (sem custo) aulas online do Skype sobre inserção de código:)
Eu dou gratuitamente (sem custo) lições online do Skype sobre inserção de código:)
Eu dou gratuitamente (sem custo) lições online do Skype sobre inserção de código:)
Obrigado!
Feito, se você tiver alguma dúvida sobre o código escrito, também disponível pessoalmente ou no Skype
pronto, se você tiver alguma dúvida sobre o código, e-mail ou Skype
O Alerta vem com a mensagem: Sem preço. Esperamos por um novo tique...
Eu tinha uma conta demo que funcionou bem e abri um negócio na primeira tentativa. Preciso de mais detalhes.