Prezados,
Tenho um valor Input X ((no mini índice seria por exemplo X = 92500 (só um exemplo))). Este valor eu digito nos parâmetros do EA-teste que estou estudando em conta Demo
Toda vez que o preço atual cruza este valor X para cima abre de imediato uma compra, quando cruza para baixo fecha a compra e abre uma venda, e vice-versa
Toda vez que eu quero um novo valor X tenho que abrir o EA digitar clicar em OK duas vezes, etc. É chato
= Queria um bloco lógico que ao inserir no código o Input X aparecesse no gráfico em forma de uma linha horizontal, e se eu mover esta linha, ao soltá-la num determinado valor, o Input X assumiria de imediato este novo valor.
Como seria esse tal bloco lógico ?
Tem que programar pra C@cete... não é trivial... Como tudo mo MT5/MQL5
;)
Blz Flávio, agradeço d+ pela resposta tão direta (e sincera). Deixarei a linha horizontal para um futuro...
Há uma outra utilidade que não sei se é fácil mas que ajudaria nos meus estudos, que seria a seguinte:
Eu tenho um input <ValorX>, quando o preço BID (passei a usar BID e não mais Current) está maior que ValorX abre compra, menor abre venda
Quando ele fica indeciso faz muitas viradas de mão gerando vários loss mas trata-se apenas de um estudo em conta demo
Tem stoploss (SL) e take profit (TP), tudo padrão igual aos códigos que constam na biblioteca aqui da MQL5, sem nenhum "algo a mais" nem personalização
O que eu gostaria é que quando a ordem fechasse por ter atingido SL ou TP o ValorX mudasse a passasse a ser imediatamente igual ao preço BID
Exemplo: Digamos que valorX é 96000. SL é 95000 e TP é 96500
Quando numa compra fechar porque o preço chegou no TP (96500) se o próximo BID for 96505 (ou 95995) este passará a ser o novo ValorX. O mesmo ocorre se o preço cair e bater no SL (95000). Ou vice-versa no caso de ser uma venda.
Uma vez mudado e agora sendo um novo valor (não mais aquele digitado no Input), a lógica continua, ou seja, se preço BID for maior que este novo valorX compra, se for menor, vende.
Algo assim:
if (ValorX=sl || ValorX=tp)
ValorX=( _Symbol , SYMBOL_BID);
rs, totalmente leigo. Quis codificar isso => Se ValorX for igual ao stoploss (SL) ou (I I) igual ao takeprofit (TP), então ValorX passa a ser igual ao preçoBID do simbolo em questão
BOM DIA (a todos)
RESOLVI
Acrescentei ao código o bloco abaixo:
//+------------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
//--- get transaction type as enumeration value
ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- if transaction is result of addition of the transaction in history
if(type==TRADE_TRANSACTION_DEAL_ADD)
{
long deal_entry =0;
double deal_profit =0.0;
double deal_volume =0.0;
string deal_symbol ="";
long deal_magic =0;
long deal_reason =-1;
if(HistoryDealSelect(trans.deal))
{
deal_entry=HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
deal_profit=HistoryDealGetDouble(trans.deal,DEAL_PROFIT);
deal_volume=HistoryDealGetDouble(trans.deal,DEAL_VOLUME);
deal_symbol=HistoryDealGetString(trans.deal,DEAL_SYMBOL);
deal_magic=HistoryDealGetInteger(trans.deal,DEAL_MAGIC);
deal_reason=HistoryDealGetInteger(trans.deal,DEAL_REASON);
}
else
return;
if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
if(deal_entry==DEAL_ENTRY_OUT)
{
if(deal_reason==DEAL_REASON_SL)
ExtValorX=m_position.PriceCurrent();
else if(deal_reason==DEAL_REASON_TP)
ExtValorX=m_position.PriceCurrent();
}
}
}
/
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Prezados,
Tenho um valor Input X ((no mini índice seria por exemplo X = 92500 (só um exemplo))). Este valor eu digito nos parâmetros do EA-teste que estou estudando em conta Demo
Toda vez que o preço atual cruza este valor X para cima abre de imediato uma compra, quando cruza para baixo fecha a compra e abre uma venda, e vice-versa
Toda vez que eu quero um novo valor X tenho que abrir o EA digitar clicar em OK duas vezes, etc. É chato
= Queria um bloco lógico que ao inserir no código o Input X aparecesse no gráfico em forma de uma linha horizontal, e se eu mover esta linha, ao soltá-la num determinado valor, o Input X assumiria de imediato este novo valor.
Como seria esse tal bloco lógico ?