//+------------------------------------------------------------------+//| Check for long position opening |//+------------------------------------------------------------------+bool CSampleExpert::LongOpened(void)
{
bool res=false;
//--- check for long position (BUY) possibility
{
double price=m_symbol.Ask();
double tp =m_symbol.Bid()+m_take_profit;
//--- check for free moneyif(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_BUY,InpLots,price)<0.0)
printf("We have no money. Free Margin = %f",m_account.FreeMargin());
else
{
//--- open positionif(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,price,0.0,tp))
printf("Position by %s to be opened",Symbol());
else
{
printf("Error opening BUY position by %s : '%s'",Symbol(),m_trade.ResultComment());
printf("Open parameters : price=%f,TP=%f",price,tp);
}
}
//--- in any case we must exit from expert
res=true;
}
//--- resultreturn(res);
}
//+------------------------------------------------------------------+//| Check for short position opening |//+------------------------------------------------------------------+bool CSampleExpert::ShortOpened(void)
{
bool res=false;
//--- check for short position (SELL) possibility
{
double price=m_symbol.Bid();
double tp =m_symbol.Ask()-m_take_profit;
//--- check for free moneyif(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_SELL,InpLots,price)<0.0)
printf("We have no money. Free Margin = %f",m_account.FreeMargin());
else
{
//--- open positionif(m_trade.PositionOpen(Symbol(),ORDER_TYPE_SELL,InpLots,price,0.0,tp))
printf("Position by %s to be opened",Symbol());
else
{
printf("Error opening SELL position by %s : '%s'",Symbol(),m_trade.ResultComment());
printf("Open parameters : price=%f,TP=%f",price,tp);
}
}
//--- in any case we must exit from expert
res=true;
}
//--- resultreturn(res);
}
//+------------------------------------------------------------------+
Sim. É o seu revendedor-Forexclub para eles o tipo de pedido é FilingFock. Vou dar um passeio com o cachorro e consertá-lo. Não pensei que houvesse mais ninguém no forexclub...
Свойства ордеров - Торговые константы - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Sim. É o seu revendedor-Forexclub que eles devem ter um tipo de pedido FilingFoc. Vou dar um passeio com o cachorro e consertá-lo. Não pensei que houvesse mais ninguém no forexclub...
O modo de preenchimento deve ser definido pelas regras, não a partir do nome do negociante forex.
Adicionado.
Você pode ver um exemplo na classe de comércio CTrade
Sim. É o seu revendedor-Forexclub que eles devem ter um tipo de pedido FilingFoc. Vou dar um passeio com o cachorro e consertá-lo. Não pensei que houvesse mais ninguém no forexclub...
Não percebi - certamente você ainda tem um corretor aqui
A 119ª linha deve ser se (AccountInfoString(ACCOUNT_COMPANY)=="Alpari" || AccountInfoString(ACCOUNT_COMPANY)=="Forex Club International Limited") TypeFilling = ORDER_FILLING_FOK;
A 119ª linha deve ser se (AccountInfoString(ACCOUNT_COMPANY)=="Alpari" || AccountInfoString(ACCOUNT_COMPANY)=="Forex Club International Limited") TypeFilling = ORDER_FILLING_FOK;
e o mesmo para a AUTOOrderSELL. É ISTO. :)
Vou deixar assim por enquanto - vou corrigi-lo após o teste
Define o tipo de ordem de acordo com as configurações do símbolo especificado
Muito obrigado. Eu deveria usar o modo automático, mas não consegui encontrá-lo. É por isso que preparei este patch como simples instruções para o corretor, que tenho que usar :) Eles são apenas 2. Remake. Obrigado.
Bom dia!
O testador não quer abrir uma posição, ele gera um erro
ERR_TRADE_SEND_FAILED
4756
Falha no envio do pedido comercial
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Acho que algo deveria ser corrigido aqui
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Agora vou tentar substituir esta função por esta
Bom dia!
O testador não quer abrir uma posição e dá um erro
ERR_TRADE_SEND_FAILED
4756
Falha no envio do pedido comercial
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Acho que algo precisa ser consertado aqui.
Sim. É o seu revendedor-Forexclub para eles o tipo de pedido é FilingFock. Vou dar um passeio com o cachorro e consertá-lo. Não pensei que houvesse mais ninguém no forexclub...
Sim. É o seu revendedor-Forexclub que eles devem ter um tipo de pedido FilingFoc. Vou dar um passeio com o cachorro e consertá-lo. Não pensei que houvesse mais ninguém no forexclub...
O modo de preenchimento deve ser definido pelas regras, não a partir do nome do negociante forex.
Adicionado.
Você pode ver um exemplo na classe de comércio CTrade
SetMarginMode
Define o modo de cálculo da margem de acordo com as configurações da conta corrente
SetTypeFillingBySymbol
Define o tipo de ordem de acordo com as configurações do símbolo especificado
Sim. É o seu revendedor-Forexclub que eles devem ter um tipo de pedido FilingFoc. Vou dar um passeio com o cachorro e consertá-lo. Não pensei que houvesse mais ninguém no forexclub...
Não percebi - certamente você ainda tem um corretor aqui
Está funcionando.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
trocado -----------
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Parece estar funcionando bem até o momento.
Está funcionando.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
trocado -----------
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Parece estar funcionando bem até o momento.
como é pré-testado com algoritmo, eu me pergunto se o resultado é o mesmo?
Ainda estou testando em um teste de um minuto - meu computador está fraco, então o teste é lento.
Parece bom à primeira vista - vamos ver como é o resultado final.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
sem erros no testador do Expert
Bom dia!
O testador não quer abrir uma posição e dá um erro
ERR_TRADE_SEND_FAILED
4756
Falha no envio do pedido comercial
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Acho que algo deveria ser corrigido aqui
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Vou tentar substituir esta função por esta.
Não é necessário.
A 119ª linha deve ser se (AccountInfoString(ACCOUNT_COMPANY)=="Alpari" || AccountInfoString(ACCOUNT_COMPANY)=="Forex Club International Limited") TypeFilling = ORDER_FILLING_FOK;
e o mesmo para a AUTOOrderSELL. É ISTO. :)
Não é necessário.
A 119ª linha deve ser se (AccountInfoString(ACCOUNT_COMPANY)=="Alpari" || AccountInfoString(ACCOUNT_COMPANY)=="Forex Club International Limited") TypeFilling = ORDER_FILLING_FOK;
e o mesmo para a AUTOOrderSELL. É ISTO. :)
Vou deixar assim por enquanto - vou corrigi-lo após o teste
- não quer parar o testador
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
a única coisa ruim é que o teste está acontecendo agora - e eu pareço estar exagerando aqui
O modo de preenchimento deve ser definido pelas regras, não a partir do nome do negociante forex.
Adicionado.
Você pode ver um exemplo na classe de comércio CTrade
SetMarginMode
Define o modo de cálculo da margem de acordo com as configurações da conta corrente
SetTypeFillingBySymbol
Define o tipo de ordem de acordo com as configurações do símbolo especificado
Muito obrigado. Eu deveria usar o modo automático, mas não consegui encontrá-lo. É por isso que preparei este patch como simples instruções para o corretor, que tenho que usar :) Eles são apenas 2. Remake. Obrigado.