Olá, meu amigo Vladimir.
A condição foi muito interessante para mim:
if( m_trade.ResultDeal()==0 ) { Print("Buy -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); }
As condições a seguir são adequadas para a função OrderSendAsync() oupara a ordem pendente?
if( m_trade.ResultDeal()==0 || m_trade.ResultOrder()==0 ) { Print("Buy -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); }
Muito bom, como faço para usar este E A? Amei seu raciocínio, sempre quis um robô nesse parâmetro descrito
As vitórias são boas, e seria melhor se pudéssemos adicionar o Martin!
Qual é a condição para abrir a primeira posição? Ou você precisa abri-la manualmente?
284954 #:
Qual é a condição para abrir a primeira posição? Ou você precisa abri-la manualmente?
Qual é a condição para abrir a primeira posição? Ou você precisa abri-la manualmente?
O EA aguarda o acionamento de um TP ou SL e, em seguida, abre uma posição na direção oposta. Ele verifica se há dinheiro suficiente antes de enviar uma solicitação de negociação. OnTradeTransaction.
Por exemplo, temos uma posição de compra aberta. Quando a TP ou o SL é acionado, uma nova posição de venda é aberta. Em seguida, após o acionamento da TP ou SL, uma nova posição de compra é aberta.
O fechamento de uma transação é monitorado em"OnTradeTransaction":
//+------------------------------------------------------------------+ //| Função TradeTransaction| //+------------------------------------------------------------------+ void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result) { //--- obter o tipo de transação como um valor de enumeração ENUM_TRADE_TRANSACTION_TYPE type=trans.type; //--- se a transação for resultado da adição da transação no histórico if(type==TRADE_TRANSACTION_DEAL_ADD) { long deal_entry =0; long deal_type =0; string deal_symbol =""; long deal_magic =0; long deal_time =0; if(HistoryDealSelect(trans.deal)) { deal_entry=HistoryDealGetInteger(trans.deal,DEAL_ENTRY); deal_type=HistoryDealGetInteger(trans.deal,DEAL_TYPE); deal_symbol=HistoryDealGetString(trans.deal,DEAL_SYMBOL); deal_magic=HistoryDealGetInteger(trans.deal,DEAL_MAGIC); deal_time=HistoryDealGetInteger(trans.deal,DEAL_TIME); } else return; if(deal_symbol==m_symbol.Name() && deal_magic==m_magic) { if(deal_entry==DEAL_ENTRY_OUT) { if(deal_type==DEAL_TYPE_BUY || deal_type==DEAL_TYPE_SELL) { if(deal_type==DEAL_TYPE_BUY) m_close_pos_type=POSITION_TYPE_SELL; else if(deal_type==DEAL_TYPE_SELL) m_close_pos_type=POSITION_TYPE_BUY; else return; m_is_trade=true; } } else if(deal_entry==DEAL_ENTRY_IN) { m_is_trade=false; } } } }
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
cheduecoglioni:
Autor: Vladimir Karputov