[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 215

 

Добрый день.

помогите код дописать, мне нужно когда Spread будет равен нулю запомнить этот бар

и далее контролировать Spread. если он будет больше определенной величины открыть сделку.

int razdvizka =20;

int Price1, Price2, Spread;

for (int m=1;m<Bars;m++)
{

Price1 = (iClose(Symbol_1,0,0) - iClose(Symbol_1,0,m)) / MarketInfo(Symbol_1, MODE_POINT);
Price2 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,m)) / MarketInfo(Symbol_2, MODE_POINT);
Spread = Price1 - Price2;
if (Spread==0) {......... }
}

Price1 = (iClose(Symbol_1,0,0) - iClose(Symbol_1,0,m)) / MarketInfo(Symbol_1, MODE_POINT);
Price2 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,m)) / MarketInfo(Symbol_2, MODE_POINT);
Spread = Price1 - Price2;

if (Spread> razdvizka ) { открываем сделку }

 

добрый день

подскажите пожалуйста в mql4 есть функции загрузки информации по http?

если да то какие именно

 

Здравствуйте, господа хорошие)) Ситуация такая,

подается сигнал "sig1" срабатывает команда BAY и устанавливается отложенный ордер SELLSTOP ниже ордера BAY.

при закрытие позиции BAY по тралу, SELLSTOP тоже удаляется.

Но как быть когда этот BAY не закрылся, и открылся следующий BAY и следующий и т.д.

Этот SELLSTOP который установлен первым нужно как то вычислить, чтоб совершить с ним какую то операцию.

 
nikz:

добрый день

подскажите пожалуйста в mql4 есть функции загрузки информации по http?

если да то какие именно

напрямую нет...

можно лишь Отсылать инфу - либо письмо в почтовый ящик

void SendMail( string subject, string some_text)
Посылает электронное письмо по адресу, указанному в окне настроек на закладке "Почта".
Отсылка может быть запрещена в настройках, также может быть не указан адрес электронной почты. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

либо файл по фтп
bool SendFTP( string filename, string ftp_path=NULL)
Посылает файл по адресу, указанному в окне настроек на закладке "Публикация". В случае неудачи возвращает FALSE.
Функция не работает в режиме тестирования. Из пользовательских индикаторов также нельзя вызывать эту функцию.
Отсылаемый файл должен находиться в папке каталог_терминала\experts\files или ее подпапках.
Отсылка не производится, если в настройках не указан адрес FTP и/или пароль доступа.

----
Но - никто тебе не мешает, на другом языке программирования написать такую функцию (которую тебе надо ) и использовать её в DLL





 
Aleksander:

напрямую нет...

можно лишь Отсылать инфу - либо письмо в почтовый ящик

void SendMail( string subject, string some_text)
Посылает электронное письмо по адресу, указанному в окне настроек на закладке "Почта".
Отсылка может быть запрещена в настройках, также может быть не указан адрес электронной почты. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

либо файл по фтп
bool SendFTP( string filename, string ftp_path=NULL)
Посылает файл по адресу, указанному в окне настроек на закладке "Публикация". В случае неудачи возвращает FALSE.
Функция не работает в режиме тестирования. Из пользовательских индикаторов также нельзя вызывать эту функцию.
Отсылаемый файл должен находиться в папке каталог_терминала\experts\files или ее подпапках.
Отсылка не производится, если в настройках не указан адрес FTP и/или пароль доступа.

----
Но - никто тебе не мешает, на другом языке программирования написать такую функцию (которую тебе надо ) и использовать её в DLL

Спасибо за отзыв, но эти функции отсылают инфу/файл а не принимают
на счет dll это верно, только пока пытаюсь обойти этот вариант т.к. пока не по силам моим мозгам это

но все же интересно, например, есть индикатор Urdala_News он показывает время выхода новостей, там есть импорт из dll, токо с файлом sq4 индикатора никакого файла dll не шло. получается он использует какойто штатный dll который и импортирует новости. я верно понимаю?





 
Нужен индикатор или скрипт, который бы на младшем таймфрейме показывал границы свечей со старшего таймфрейма. Если кто знает, дайте ссыль пожалуйста
 
nikz:

добрый день

подскажите пожалуйста в mql4 есть функции загрузки информации по http?

если да то какие именно

Через wininet.dll, посмотрите, например, как сделано здесь

Имеются в виду функции

#import "wininet.dll"
int InternetAttemptConnect (int x);
  int InternetOpenA(string sAgent, int lAccessType, 
                    string sProxyName = "", string sProxyBypass = "", 
                    int lFlags = 0);
  int InternetOpenUrlA(int hInternetSession, string sUrl, 
                       string sHeaders = "", int lHeadersLength = 0,
                       int lFlags = 0, int lContext = 0);
  int InternetReadFile(int hFile, int& sBuffer[], int lNumBytesToRead, 
                       int& lNumberOfBytesRead[]);
  int InternetCloseHandle(int hInet);
#import

UPD прочитал ваш предыдущий пост - wininet.dll это стандартная виндовая библиотека, так что за ее наличие в системе можете не беспокоиться.

 
Top2n:

Здравствуйте, господа хорошие)) Ситуация такая,

подается сигнал "sig1" срабатывает команда BAY и устанавливается отложенный ордер SELLSTOP ниже ордера BAY.

при закрытие позиции BAY по тралу, SELLSTOP тоже удаляется.

Но как быть когда этот BAY не закрылся, и открылся следующий BAY и следующий и т.д.

Этот SELLSTOP который установлен первым нужно как то вычислить, чтоб совершить с ним какую то операцию.


У каждого ордера есть уникальный номер, называется тикет OrderTicket(). По нему можно и отследить.
 

Доброго времени суток!

Недавно попытался написать советника, все подчти норм получилось, открывает сделки по времени.

Проблема теперь во времени,например надо открыть сделку в 8 34 а бара такого нет посмотрел на минутке идет сначало 8 33 потом сразу 8 35, поанализировал еще график, заметил что некоторых минут так же нет.

Подскажите пожалуйста, как сделать повторное открытие сделки к примеру через минуту и т.д. пока не откроеться 1 сделка.

Если не затруднит, напишите пожалуйсто ответ на aksa33@mail.ru, зарание благодарен

 
alsu:
У каждого ордера есть уникальный номер, называется тикет OrderTicket(). По нему можно и отследить.
Нашел, функцию Ким. Но все ровно, что то не могу дойти, как можно закрыть отложенный именно тот который был открыт в паре с бай.
Причина обращения: