Я пробовал использовать ваш код, но он дает мне только Ask/Bid первой валютной пары в списке символов в MT5, независимо от символа валюты, который я добавляю в код.
Например, у меня USDCAD является первым символом в списке символов MT5. Я пишу код, который вы предоставили, с EURUSD, но цена Ask, которую я получаю, это цена USDCAD, а не EURUSD. Как это исправить?
Также, есть ли у вас предложения, как подключить цену спроса всех валютных пар/символов к Excel?
Я модифицировал его, чтобы он брал данные: high, close, low (HCL) от предыдущей свечи к текущей; значения верхней и нижней полос Боллинджера (20,2) от предыдущей свечи к текущей; Stochastic и %D (10,3,3) от предыдущей свечи к текущей.
Далее следует код:
double BB_T[]; // массив для индикатора BBdouble BB_B[];
int BB_handle; //рукоятка для индикатора BBdouble STOCH[]; // массив для индикатора STOCHdouble PERCD[];
int ST_handle; //рукоятка для индикатора STOCH//-----------------------------------------------------------------------------voidOnInit()
{
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;
}
voidOnTimer()
{
//--- заполнение массива MA[] текущими значениями iMA//--- Копирование 100 элементов//BBCopyBuffer(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);
//StochasticCopyBuffer(ST_handle,0,0,100,STOCH); //Stoch
ArraySetAsSeries(STOCH,true);
CopyBuffer(ST_handle,1,0,100,PERCD); //%D
ArraySetAsSeries(PERCD,true);
// Проверка и добавление элементов DDEif(!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));
}
Я пробовал использовать ваш код, но он выдает мне только Ask/Bid первой валютной пары в списке символов в MT5, независимо от того, какой валютный символ я добавляю в код.
Например, у меня USDCAD является первым символом в списке символов MT5. Я пишу код, который вы предоставили, с EURUSD, но цена Ask, которую я получаю, это цена USDCAD, а не EURUSD. Как это исправить?
Кроме того, есть ли у вас предложения, как подключить цену спроса всех валютных пар/символов к Excel?
Привет, брат, есть ли у тебя MT4 версия этого. MT4 DDE не работает. Но тот, который я использую для FX, не имеет сервера MT5. Спасибо, что предоставили мне код, если он у вас есть. Я хочу получить свою чистую стоимость и прибыль/убыток по валюте позиции.
Как добавить цену покупки определенной валютной пары в Excel
Мне нужна валюта ask и bid
// Установка значения элемента DDE
>>>>>> SetItem("BID", "EURUSD",(string) ?????());<<<<<<
ПРИВЕТ РЕБЯТА ЕСЛИ ХОТИТЕ ПОКАЗЫВАТЬ ЦЕНУ EURUSD BID ИЛИ ASK КАК ЭТО ИЗМЕНИТЬ?
СПАСИБО
Пожалуйста, отредактируйте свое сообщение и используйте кнопку кода (Alt+S) при вставке кода.
Пожалуйста, не публикуйте код в новом сообщении.
Пожалуйста, не используйте слишком много заглавных букв при написании сообщений. Это считается криком и очень грубо.
Добрый вечер.
После долгих проволочек мне удалось решить эту проблему. Я зарегистрировался на сайте только для этого.
Измените всю функцию 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));
}
Остальные действия аналогичны описанным выше.
Надеюсь, это кому-нибудь поможет.
Ниже приведены изменения, которые я внес в код.
// Установка значения элемента DDE
>>>>>> SetItem("BID", "EURUSD",(string) ?????());<<<<<<
ПРИВЕТ, РЕБЯТА, ЕСЛИ ВЫ ХОТИТЕ ПОКАЗЫВАТЬ ЦЕНУ ПОКУПКИ ИЛИ ПРОДАЖИ EURUSD, КАК ЭТО ИЗМЕНИТЬ?
СПАСИБО
Как добавить цену покупки определенной валютной пары в Excel
Мне нужна валюта ask и bid
Я пробовал использовать ваш код, но он дает мне только Ask/Bid первой валютной пары в списке символов в MT5, независимо от символа валюты, который я добавляю в код.
Например, у меня USDCAD является первым символом в списке символов MT5. Я пишу код, который вы предоставили, с EURUSD, но цена Ask, которую я получаю, это цена USDCAD, а не EURUSD. Как это исправить?
Также, есть ли у вас предложения, как подключить цену спроса всех валютных пар/символов к Excel?
Спасибо!
Я модифицировал его, чтобы он брал данные: high, close, low (HCL) от предыдущей свечи к текущей; значения верхней и нижней полос Боллинджера (20,2) от предыдущей свечи к текущей; Stochastic и %D (10,3,3) от предыдущей свечи к текущей.
Далее следует код:
Остальное аналогично
Я пробовал использовать ваш код, но он выдает мне только Ask/Bid первой валютной пары в списке символов в MT5, независимо от того, какой валютный символ я добавляю в код.
Например, у меня USDCAD является первым символом в списке символов MT5. Я пишу код, который вы предоставили, с EURUSD, но цена Ask, которую я получаю, это цена USDCAD, а не EURUSD. Как это исправить?
Кроме того, есть ли у вас предложения, как подключить цену спроса всех валютных пар/символов к Excel?
Спасибо!
Попробуйте изменить: Symbol() на _Symbol
Пожалуйста, посетите бразильские комментарии
https://www.mql5.com/pt/forum/33344