Especialistas: Servidor DDE - página 5

 
Olá
Tenho uma pergunta

Como adicionar o preço de compra de um determinado par de moedas ao Excel?

Isso mostra apenas a EMA 21

Preciso da moeda de compra e venda

 
Verificar e adicionar item DDE
if(!CheckItem("A", "B"))
{
if(!AddItem("A", "B")) return;
}

if(!CheckItem("COMPANY", "Value")) AddItem("COMPANY", "Value");
if(!CheckItem("TIME", "Value")) AddItem("TIME", "Value");
if(!CheckItem("BID", "EURUSD")) AddItem("BID", "EURUSD");


// Definir valor do item DDE

SetItem("COMPANY", "Value",(string)AccountInfoString(ACCOUNT_COMPANY));
SetItem("TIME", "Value",(string)TimeCurrent());

>>>>>> SetItem("BID", "EURUSD",(string) ?????());<<<<<<

OLÁ, PESSOAL, SE QUISERMOS MOSTRAR O PREÇO DE COMPRA OU VENDA DO EURUSD, COMO MODIFICAR ISSO?

OBRIGADO

 
snowking87:

Edite sua postagem e use o botão de código (Alt+S) ao colar o código.

EDITAR sua postagem original, não apenas postar o código corretamente em uma nova postagem.

Não use letras maiúsculas em excesso ao postar. Isso é considerado grito e muito rude.

 
maurorechi:

Boa noite. 


Depois de apanhar muito, consegui resolver. Me cadastrei no site só pra isso.

Altere toda a função OnTimer():

void OnTimer()

  {

//--- filling an array MA[] with current values of iMA

//--- Copying 100 elements

//   CopyBuffer(MA_handle,0,0,100,MA);

//   ArraySetAsSeries(MA,true);

   double EURUSD_ASK = SymbolInfoDouble("EURUSD",SYMBOL_ASK); // for eurusd (example)

   double EURUSD_BID = SymbolInfoDouble("EURUSD",SYMBOL_BID); 

   double USDCHF_ASK = SymbolInfoDouble("USDCHF",SYMBOL_ASK); 

   double USDCHF_BID = SymbolInfoDouble("USDCHF",SYMBOL_BID);

   

// Check & Add Item DDE

//   if(!CheckItem("EMA","B")) 

//     {

//      if(!AddItem("EMA","B")) return; 

//     }


   if(!CheckItem("COMPANY","Value")) AddItem("COMPANY","Value");

   if(!CheckItem("TIME","Value")) AddItem("TIME","Value");

   if(!CheckItem("EURUSD","ASK")) AddItem("EURUSD","ASK");

   if(!CheckItem("EURUSD","BID")) AddItem("EURUSD","BID");

   if(!CheckItem("USDCHF","ASK")) AddItem("USDCHF","ASK");

   if(!CheckItem("USDCHF","BID")) AddItem("USDCHF","BID");

   

// Set Item Value DDE  

   SetItem("COMPANY","Value",(string)AccountInfoString(ACCOUNT_COMPANY));

   SetItem("TIME","Value",(string)TimeCurrent());


//   SetItem("EMA","B","EMA(21): "+DoubleToString(MA[0],6));

   SetItem("EURUSD","ASK",DoubleToString(EURUSD_ASK,5));

   SetItem("EURUSD","BID",DoubleToString(EURUSD_BID,5));

   SetItem("USDCHF","ASK",DoubleToString(USDCHF_ASK,5));

   SetItem("USDCHF","BID",DoubleToString(USDCHF_BID,5));

  }

O restante é igual o que foi descrito acima.


Espero que ajude alguém.

Segue as alterações que fiz no código abaixo.

void OnTimer()
  {
//--- filling an array MA[] with current values of iMA
//--- Copying 100 elements

// Check & Add Item DDE
   if(!CheckItem(_Symbol,"B")) 
     {
      if(!AddItem(_Symbol,"B")) return; 
     }

   if(!CheckItem("COMPANY","Value")) AddItem("COMPANY","Value");
   if(!CheckItem("TIME","Value")) AddItem("TIME","Value");

// Set Item Value DDE  
   SetItem("COMPANY","Value",(string)AccountInfoString(ACCOUNT_COMPANY));
   SetItem("TIME","Value",(string)TimeCurrent());

   SetItem(_Symbol,"B",SymbolInfoDouble(_Symbol,SYMBOL_LAST));

  }
 
snowking87:
Verificar e adicionar item DDE
if(!CheckItem("A", "B"))
{
if(!AddItem("A", "B")) return;
}

if(!CheckItem("COMPANY", "Value")) AddItem("COMPANY", "Value");
if(!CheckItem("TIME", "Value")) AddItem("TIME", "Value");
if(!CheckItem("BID", "EURUSD")) AddItem("BID", "EURUSD");


// Definir valor do item DDE

SetItem("COMPANY", "Value",(string)AccountInfoString(ACCOUNT_COMPANY));
SetItem("TIME", "Value",(string)TimeCurrent());

>>>>>> SetItem("BID", "EURUSD",(string) ?????());<<<<<<

OLÁ, PESSOAL, SE QUISERMOS MOSTRAR O PREÇO DE COMPRA OU VENDA DO EURUSD, COMO MODIFICAR ISSO?

OBRIGADO

if(!CheckItem("BID", "EURUSD")) AddItem("BID", "EURUSD");
if(!CheckItem("ASK", "EURUSD")) AddItem("ASK", "EURUSD");
SetItem("BID", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_BID));
SetItem("ASK", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_ASK));
 
Younes Deldar:
Olá
Tenho uma pergunta

Como adicionar o preço de compra de um determinado par de moedas ao Excel?

Isso mostra apenas a EMA 21

Preciso da moeda de compra e venda

se(!CheckItem("BID", "EURUSD")) AddItem("BID", "EURUSD");
if(!CheckItem("ASK", "EURUSD")) AddItem("ASK", "EURUSD");
SetItem("BID", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_BID));
SetItem("ASK", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_ASK));
 
IlyshikBTC:
se(!CheckItem("BID", "EURUSD")) AddItem("BID", "EURUSD");
if(!CheckItem("ASK", "EURUSD")) AddItem("ASK", "EURUSD");
SetItem("BID", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_BID));
SetItem("ASK", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_ASK));

Tentei usar seu código, mas ele só me fornece o Ask/Bid do primeiro par de moedas na lista de símbolos no MT5, independentemente do símbolo de moeda que eu adicionar no código.

Por exemplo, tenho o USDCAD como o primeiro símbolo na lista de símbolos do MT5. Escrevo o código que você forneceu com EURUSD, mas o preço Ask que obtenho é o do USDCAD e não o do EURUSD. Como corrigir isso?

Além disso, você tem alguma sugestão sobre como conectar o preço de venda de todos os pares de moedas/símbolos ao Excel?

Muito obrigado!

IlyshikBTC
IlyshikBTC
  • 2021.03.04
  • www.mql5.com
Trader's profile
 

Fiz modificação para pegar os dados: máxima, fechamento, mínima (HCL) do candle anterior ao atual; valores da Banda Superior e Inferior de Bollinger (20,2) do candle anterior ao atual ; Estocástico e %D (10,3,3) do candle anterior ao atual .


Segue código:

double      BB_T[];      //array for indicator BB
double      BB_B[];
int         BB_handle;  //handle for indicator BB

double      STOCH[];    //array for indicator STOCH
double      PERCD[];
int         ST_handle; //handle for indicator STOCH

//-----------------------------------------------------------------------------

void OnInit()
  {
    EventSetTimer(1);
    
//--- creation of the indicator BB and STOCH
   BB_handle=iBands(_Symbol,PERIOD_CURRENT,20,0,2,PRICE_CLOSE);
   ST_handle=iStochastic(_Symbol,PERIOD_CURRENT,10,3,3,MODE_SMA,STO_LOWHIGH);
   return;
  }

void OnTimer()

  {
//--- filling an array MA[] with current values of iMA
//--- Copying 100 elements
   //BB
   CopyBuffer(BB_handle,1,0,100,BB_T); //Upper
   ArraySetAsSeries(BB_T,true);

   CopyBuffer(BB_handle,2,0,100,BB_B); //Lower
   ArraySetAsSeries(BB_B,true);
   //Estocástico
   CopyBuffer(ST_handle,0,0,100,STOCH); //Stoch
   ArraySetAsSeries(STOCH,true);
   CopyBuffer(ST_handle,1,0,100,PERCD); //%D
   ArraySetAsSeries(PERCD,true);
// Check & Add Item DDE
   if(!CheckItem(_Symbol,"Máxima")) 
     {
      if(!AddItem(_Symbol,"Máxima")) return; 
     } 
   if(!CheckItem(_Symbol,"Mínima")) AddItem(_Symbol,"Mínima");
   if(!CheckItem(_Symbol,"Fechamento")) AddItem(_Symbol,"Fechamento");
   //
   if(!CheckItem(_Symbol,"BB_Top")) AddItem(_Symbol,"BB_Top");
   if(!CheckItem(_Symbol,"BB_Lower")) AddItem(_Symbol,"BB_Lower");
   //
   if(!CheckItem(_Symbol,"STOCH")) AddItem(_Symbol,"STOCH");
   if(!CheckItem(_Symbol,"%D")) AddItem(_Symbol,"%D");


// Set Item Value DDE  
   //HCL candles
   SetItem(_Symbol,"Máxima",iHigh(_Symbol,5,1));
   SetItem(_Symbol,"Mínima",iLow(_Symbol,5,1));
   SetItem(_Symbol,"Fechamento",iClose(_Symbol,5,1));
   //BB Top e Bottom
   SetItem(_Symbol,"BB_Top",DoubleToString(BB_T[1],2));
   SetItem(_Symbol,"BB_Lower",DoubleToString(BB_B[1],2));
   //Estocástico e %D
   SetItem(_Symbol,"STOCH",DoubleToString(STOCH[1],2));
   SetItem(_Symbol,"%D",DoubleToString(PERCD[1],2));
  }


O restante está igual

 
mzee_zaki:

Tentei usar seu código, mas ele só me fornece o Ask/Bid do primeiro par de moedas na lista de símbolos no MT5, independentemente do símbolo de moeda que eu adicionar no código.

Por exemplo, tenho o USDCAD como o primeiro símbolo na lista de símbolos do MT5. Escrevo o código que você forneceu com EURUSD, mas o preço Ask que obtenho é o do USDCAD e não o do EURUSD. Como corrigir isso?

Além disso, você tem alguma sugestão sobre como conectar o preço de venda de todos os pares de moedas/símbolos ao Excel?

Muito obrigado!

Tente mudar: Symbol() para _Symbol


Por favor, visite os comentários brasileiros


https://www.mql5.com/pt/forum/33344

Especialistas: Servidor DDE
Especialistas: Servidor DDE
  • 2014.01.15
  • www.mql5.com
Artigos, comentários da Biblioteca: Especialistas: Servidor DDE
 
Oi irmão, você tem uma versão MT4 disso? O MT4 DDE não funciona. Mas o que estou usando para FX não tem um servidor MT5. Obrigado por me fornecer um código, se você tiver um. Quero obter meu patrimônio líquido e o lucro/perda da moeda da posição.