Здравствуйте, гость ( Вход | Регистрация )

26 страниц V « < 15 16 17 18 19 > »   
Ответить в эту темуОткрыть новую тему
> Perceptron, Нейронная сеть
NoName
сообщение 6.8.2007, 19:48
Сообщение #161





Группа: Активный участник
Сообщений: 514
Регистрация: 1.5.2006
Из: Украина, Кременчуг
Пользователь №: 146
Спасибо сказали: 0 раз(а)



Цитата
Пож. скажи что делает этот блок?--


Этот блок проверяет есть ли открытая позиция с интересующим Magic. Может возвращать true или false.
Т.е. для того что бы узнать есть ли открытая позиция данного советника, нужно написать:
if(ExpertOrder(Magic))
{
...открытая позиция есть, делаем что-то
}
Цитата

Вот ещё проблема с мультивалютной версией! В ОНЛАЙНЕ.
Первая пара работает нормально! а ВОТ ВТОРАЯ - НЕ ХОЧЕТ ВКЛЮЧАТЬСЯ!
Возможно причина в функции OrderSend, кот. мы используем для открытия позиций.


Да! Так и есть. В журнале наверняка выводится ошибка об этом.
Значения Ask, Bid, Point для второй пары нужно получить через MarketInfo.

Цитата
Непонятно ещё, - где указан тф по второй паре.

Для функции OrderSend таймфрейм неважен.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 6.8.2007, 19:52
Сообщение #162





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Всё понятно теперь!
За исключением ТФ! Откуда советник знает, - по какому ТФ открывать ордер по второй (и даже по третьей - в перспективе) паре? smile.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
NoName
сообщение 6.8.2007, 19:56
Сообщение #163





Группа: Активный участник
Сообщений: 514
Регистрация: 1.5.2006
Из: Украина, Кременчуг
Пользователь №: 146
Спасибо сказали: 0 раз(а)



Какая разница по какому ТФ открывать позицию? На любом таймфрейме Bid и Ask будут одинаковымиwink.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 6.8.2007, 20:03
Сообщение #164





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Но показания индюков-то должны сниматься с конкретного тф!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
NoName
сообщение 6.8.2007, 20:07
Сообщение #165





Группа: Активный участник
Сообщений: 514
Регистрация: 1.5.2006
Из: Украина, Кременчуг
Пользователь №: 146
Спасибо сказали: 0 раз(а)



У индюков вторым параметром идёт таймфрейм:
( string symbol, int timeframe ... )
Не путай индюки и OrderSend smile.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 6.8.2007, 20:20
Сообщение #166





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Благодарю! На сегодня вопросов больше нэт!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 7.8.2007, 4:02
Сообщение #167





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



По мультивалютному сделал так:
(Задействовал ф-ю MarketInfo для второй пары! )

Код
//========================= USDCHF ======================================

if (CHF) {                       //если "выключатель" включен
if (!ExpertOrder(MagicCHF))
{
double bid = MarketInfo("USDCHF", MODE_BID);
double ask = MarketInfo("USDCHF", MODE_ASK);
double point =MarketInfo("USDCHF",MODE_POINT);
//-------Проверяем условие на покупку----------
if (  .... ...  )
    {          
  
  //---- Цикл открытия ордера  -------------------------------------------                
  Cnt=1;
  while (Cnt <= 5)
  { //-----Покупаем----------
    Lots=GetSizeLot();
    if (OrderSend("USDCHF", OP_BUY, Lots, ask, 3, bid - sl_USDCHF * point,
             ask+tp_USDCHF* Point,"Revers", MagicCHF, 0, Red) > 0)  break;    

И ТЕПЕРЬ в блоке расчета индикаторов, - там не задан ТФ - второй пары!
Если для первой пары индюк расчитывается по тому тф, на кот. стоит советник,
то для второй пары здесь (и далее) видимо нужно задавать этот тф? -

Код
/************* то же самое для  USDCHF ****************************
double Stochastic_array_[49];
//------заполняем массив значениями Stochastic USDCHF  -----------
int    k=0;
while (k<50)
{
Stochastic_array_[k]=iStochastic(NULL,240,USDCHF_period,3,3,MODE_SMA,0,MODE_MAIN,k);
k++;
.... ....
}


И вот смотрю - мелькает строчка RefreshRates(); - в твоей версии GEN+REV по AI (по сопровожд. поз) - зачем она нужна , мож и мне добавить куда ниб;?

Добавлю что в онлайне - по отдельности обе пары на своих графиках работают!
А журнал - вторую пару - даже не замечает!
(по 1мин-графику смотрю)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
NoName
сообщение 7.8.2007, 7:54
Сообщение #168





Группа: Активный участник
Сообщений: 514
Регистрация: 1.5.2006
Из: Украина, Кременчуг
Пользователь №: 146
Спасибо сказали: 0 раз(а)



Вот тут ошибка:
OrderSend("USDCHF", OP_BUY, Lots, ask, 3, bid - sl_USDCHF * point, ask+tp_USDCHF* Point,"Revers", MagicCHF, 0, Red)
В твоём случае нужно поставить point.

Для расчёта индикатора на второй паре, нужно написать так:

iStochastic("USDCHF", 240, USDCHF_period, ... // а дальше как обычно.

Первым параметром ты указываешь инструмент, с которого брать значения индикатора, а вторым указываешь ТФ.

Цитата(leonid553 @ 7.8.2007, 7:02) *

Добавлю что в онлайне - по отдельности обе пары на своих графиках работают!
А журнал - вторую пару - даже не замечает!
(по 1мин-графику смотрю)


Смотришь по минутному, а в коде жёстко привязал к H4.
Stochastic_array_[k]=iStochastic(NULL,240,USDCHF_period,3,3,MODE_SMA,0,MODE_MAIN,k);
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 7.8.2007, 10:20
Сообщение #169





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



да нет! это я здесь так написал - "240"! (не совсем уж такой дурень...),
а ставлю конечно минутки...
сейчас попробую с учетом всего сказанного...
//*************************************************************

Сделал. Скрупулёзно проверил. Запустил.
И заработал эксперт! ПО обеим парам заработал!
На тф=1 мин.
-----------------------------------------------------
Ну и последний вопрос в эту тему (по мульти) -
double Stochastic_array_[49];
//------заполняем массив значениями Stochastic USDCHF -----------
int k=0;
while (k<50)
{
Stochastic_array_[k]=iStochastic("USDCHF",240,USDCHF_period,3,3,MODE_SMA,0,MODE_MAIN,k);
k++;
-------------------------------------------------------------
Если мы используем всего два значения (посл. и предпосл.) то зачем берем [49] ?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
NoName
сообщение 7.8.2007, 11:46
Сообщение #170





Группа: Активный участник
Сообщений: 514
Регистрация: 1.5.2006
Из: Украина, Кременчуг
Пользователь №: 146
Спасибо сказали: 0 раз(а)



Число 49 взял от фонаря. Почему именно его - не помню (действительно, почему не 50 ?smile.gif ). Но! Это число должно быть больше или равно периоду Envelopes. Иначе, будет недостаточно данных для корректного расчёта индикатора.
Кстати, этот цикл сильно тормозит советник, т.к. пересчитывается на каждом тике. Лучше использовать внешний индикатор, который я тебе присылал, а его значения снимать в советнике через iCustom.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

26 страниц V « < 15 16 17 18 19 > » 
Ответить в эту темуОткрыть новую тему

 



- Текстовая версия Сейчас: 24.7.2024, 10:25