Советники: DDE - Server - страница 5

 
Здравствуйте
У меня вопрос

Как добавить цену покупки определенной валютной пары в Excel

Здесь отображается только EMA 21

Мне нужна валюта ask и bid

 
Проверка и добавление элементов DDE
if(!CheckItem("A", "B"))
{
if(!AddItem("A", "B")) return;
}

if(!CheckItem("COMPANY", "Value")) AddItem("COMPANY", "Value");
if(!CheckItem("TIME", "Value")) AddItem("ВРЕМЯ", "Значение");
if(!CheckItem("BID", "EURUSD")) AddItem("BID", "EURUSD");


// Установка значения элемента DDE

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

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

ПРИВЕТ РЕБЯТА ЕСЛИ ХОТИТЕ ПОКАЗЫВАТЬ ЦЕНУ EURUSD BID ИЛИ ASK КАК ЭТО ИЗМЕНИТЬ?

СПАСИБО

 
snowking87:

Пожалуйста, отредактируйте свое сообщение и используйте кнопку кода (Alt+S) при вставке кода.

Пожалуйста, не публикуйте код в новом сообщении.

Пожалуйста, не используйте слишком много заглавных букв при написании сообщений. Это считается криком и очень грубо.

 
maurorechi:

Добрый вечер.


После долгих проволочек мне удалось решить эту проблему. Я зарегистрировался на сайте только для этого.

Измените всю функцию OnTimer():

void OnTimer()

{

//--- заполнение массива MA[] текущими значениями iMA

//--- Копирование 100 элементов

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

// ArraySetAsSeries(MA,true);

double EURUSD_ASK = SymbolInfoDouble("EURUSD",SYMBOL_ASK); // для eurusd (пример)

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

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

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

// Проверка и добавление элемента DDE

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

// {

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

// }


if(!CheckItem("COMPANY", "Value")) AddItem("КОМПАНИЯ", "Значение");

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");

// Установка значения элемента 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));

}

Остальные действия аналогичны описанным выше.


Надеюсь, это кому-нибудь поможет.

Ниже приведены изменения, которые я внес в код.

void OnTimer()
  {
//--- заполнение массива MA[] текущими значениями iMA
//--- Копирование 100 элементов

// Проверка и добавление элементов DDE
   if(!CheckItem(_Symbol,"B")) 
     {
      if(!AddItem(_Symbol,"B")) return; 
     }

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

// Установить значение элемента DDE 
   SetItem("COMPANY","Value",(string)AccountInfoString(ACCOUNT_COMPANY));
   SetItem("TIME","Value",(string)TimeCurrent());

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

  }
 
snowking87:
Проверка и добавление элементов DDE
if(!CheckItem("A", "B"))
{
if(!AddItem("A", "B")) return;
}

if(!CheckItem("COMPANY", "Value")) AddItem("КОМПАНИЯ", "Значение");
if(!CheckItem("TIME", "Value")) AddItem("TIME", "Value");
if(!CheckItem("BID", "EURUSD")) AddItem("BID", "EURUSD");


// Установка значения элемента DDE

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

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

ПРИВЕТ, РЕБЯТА, ЕСЛИ ВЫ ХОТИТЕ ПОКАЗЫВАТЬ ЦЕНУ ПОКУПКИ ИЛИ ПРОДАЖИ EURUSD, КАК ЭТО ИЗМЕНИТЬ?

СПАСИБО

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:
Здравствуйте
У меня вопрос

Как добавить цену покупки определенной валютной пары в Excel

Это показывает только EMA 21

Мне нужна валюта ask и bid

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));
 
IlyshikBTC:
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));

Я пробовал использовать ваш код, но он дает мне только Ask/Bid первой валютной пары в списке символов в MT5, независимо от символа валюты, который я добавляю в код.

Например, у меня USDCAD является первым символом в списке символов MT5. Я пишу код, который вы предоставили, с EURUSD, но цена Ask, которую я получаю, это цена USDCAD, а не EURUSD. Как это исправить?

Также, есть ли у вас предложения, как подключить цену спроса всех валютных пар/символов к Excel?

Спасибо!

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

Я модифицировал его, чтобы он брал данные: high, close, low (HCL) от предыдущей свечи к текущей; значения верхней и нижней полос Боллинджера (20,2) от предыдущей свечи к текущей; Stochastic и %D (10,3,3) от предыдущей свечи к текущей.


Далее следует код:

double      BB_T[];      // массив для индикатора BB
double      BB_B[];
int         BB_handle;  //рукоятка для индикатора BB

double      STOCH[];    // массив для индикатора STOCH
double      PERCD[];
int         ST_handle; //рукоятка для индикатора STOCH

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

void OnInit()
  {
    EventSetTimer(1);
    
//--- создание индикатора BB и 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()

  {
//--- заполнение массива MA[] текущими значениями iMA
//--- Копирование 100 элементов
   //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);
   //Stochastic
   CopyBuffer(ST_handle,0,0,100,STOCH); //Stoch
   ArraySetAsSeries(STOCH,true);
   CopyBuffer(ST_handle,1,0,100,PERCD); //%D
   ArraySetAsSeries(PERCD,true);
// Проверка и добавление элементов DDE
   if(!CheckItem(_Symbol,"Максимум")) 
     {
      if(!AddItem(_Symbol,"Максимум")) return; 
     } 
   if(!CheckItem(_Symbol,"Минимум")) AddItem(_Symbol,"Минимум");
   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");


// Установить значение элемента DDE 
   свечи //HCL
   SetItem(_Symbol,"Максимум",iHigh(_Symbol,5,1));
   SetItem(_Symbol,"Минимум",iLow(_Symbol,5,1));
   SetItem(_Symbol,"Fechamento",iClose(_Symbol,5,1));
   //BB Сверху и снизу
   SetItem(_Symbol,"BB_Top",DoubleToString(BB_T[1],2));
   SetItem(_Symbol,"BB_Lower",DoubleToString(BB_B[1],2));
   //Стохастический и %D
   SetItem(_Symbol,"STOCH",DoubleToString(STOCH[1],2));
   SetItem(_Symbol,"%D",DoubleToString(PERCD[1],2));
  }


Остальное аналогично

 
mzee_zaki:

Я пробовал использовать ваш код, но он выдает мне только Ask/Bid первой валютной пары в списке символов в MT5, независимо от того, какой валютный символ я добавляю в код.

Например, у меня USDCAD является первым символом в списке символов MT5. Я пишу код, который вы предоставили, с EURUSD, но цена Ask, которую я получаю, это цена USDCAD, а не EURUSD. Как это исправить?

Кроме того, есть ли у вас предложения, как подключить цену спроса всех валютных пар/символов к Excel?

Спасибо!

Попробуйте изменить: Symbol() на _Symbol


Пожалуйста, посетите бразильские комментарии


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
 
Привет, брат, есть ли у тебя MT4 версия этого. MT4 DDE не работает. Но тот, который я использую для FX, не имеет сервера MT5. Спасибо, что предоставили мне код, если он у вас есть. Я хочу получить свою чистую стоимость и прибыль/убыток по валюте позиции.