Bibliotecas: TradeAlgorithms
Com relação a:
//| Algoritmos de negociação para corretoras que oferecem spread diferente de zero e //| e interrompe a configuração após a abertura de uma posição!
em seu código, onde você configura a solicitação para modificar um Buy ... .
bool BuyPositionModify . . . //---- inicializando a estrutura do MqlTradeRequest para abrir a posição de COMPRA request.type = ORDER_TYPE_BUY; request.price = Ask; request.action = TRADE_ACTION_SLTP; request.symbol = symbol; //---- Determine a distância até o Stop Loss (em unidades do gráfico de preços) if(StopLoss) { if(!StopCorrect(symbol,StopLoss))return(false); double dStopLoss=StopLoss*point; request.sl=NormalizeDouble(request.price-dStopLoss,digit); if(request.sl<PositionGetDouble(POSITION_SL)) request.sl=PositionGetDouble(POSITION_SL); } else request.sl=PositionGetDouble(POSITION_SL); //---- Determinar a distância até o Take Profit (em unidades do gráfico de preços) if(Takeprofit) { if(!StopCorrect(symbol,Takeprofit))return(false); double dTakeprofit=Takeprofit*point; request.tp=NormalizeDouble(request.price+dTakeprofit,digit); if(request.tp<PositionGetDouble(POSITION_TP)) request.tp=PositionGetDouble(POSITION_TP); } else request.tp=PositionGetDouble(POSITION_TP);
A documentação afirma que somente a ação, o símbolo, o tp e o sl são necessários. Por que você também configura o tipo e o preço? Você descobriu que a documentação está incorreta?
Olá amigos,
Otávio, sua afirmação está correta. É a opção 1.
No meu caso:
Dados inválidos para a estrutura de solicitação de negociação!
OrderCheck(): Foi especificado um tipo não suportado de execução de ordem por saldo
Tentei todas as quatro opções também. Os valores de request.type, request.price, request.action, etc. parecem estar corretos.
TradeAlgorithms:
Biblioteca de funções de negociação feitas para utilizar no código de Scripts e Expert Advisors dependendo do broker.
Você pode se familiarizar com os Expert Advisors desenhadas sobre a base desta biblioteca no artigo "Sistema de negociação simples com o uso de indicadores semáforo".
Como um grande número de Expert Advisors usando esta biblioteca se encontram na Base de Código, decidiu-se realizar quatro variantes de seu código de programa para usar estes Expert Advisors com qualquer broker que ofereça negociações em mercados financeiros usando o Terminal cliente MetaTrader 5:
Autor: Nikolay Kositsin