Помогите написать отложенный ордер

 

помогите пжлста написать отложенный ордер на последний фрактал.

никак не могу въехать.

 
atlantic:

помогите пжлста написать отложенный ордер на последний фрактал.

никак не могу въехать.


Что ты имеешь ввиду под "ордер на последний фрактал"? Рискну предположить, что ты хочешь установить отложенный ордер, который срабатывает при достижении текущей цены уровня цены последнего фрактала +или- n пунктов..... Правильно я понял?

 

milroal:
Что ты имеешь ввиду под "ордер на последний фрактал"? Рискну предположить, что ты хочешь установить отложенный ордер, который срабатывает при достижении текущей цены уровня цены последнего фрактала +или- n пунктов..... Правильно я понял?



да,вот именно это.

Нашол функцию в ветке FAQ

Вопрос: Подскажите, как найти цену последнего фрактала?


Ответ(sergeev): Для этого можно воспользоваться индикатором iFractals. Он возвращает значение 0, если на баре нет фрактала и значение цены фрактала если он есть. Фракталы делятся на верхние и нижние. Если вам надо получить верхние, то в функцию iFractals передается MODE_UPPER, а для нижних - MODE_LOWER. Поэтому для поиска фрактала надо пройти в цикле по барам и первое не 0 значение и будет искомым фракталом.

пример:

double frac;
for (int i=3; i<Bars; i++)
{
frac=iFractals(Symbol(), Period(), MODE_UPPER, i); if (frac>0) break;
frac=iFractals(Symbol(), Period(), MODE_LOWER, i); if (frac>0) break;
}
if (frac>0) Print("Цена последнего фрактала: ", frac);



пример организации отдельной функции:

//--------------------------------------------------------------- GetLastFrac
double GetLastFrac(string smb, int tf, int iB)
{
int n=iBars(smb, tf); double frac;
for (int i=iB; i<n; i++)
{
frac=iFractals(smb, tf, MODE_UPPER, i); if (frac>0) return(frac);
frac=iFractals(smb, tf, MODE_LOWER, i); if (frac>0) return(frac);
}
return(0);
}
.....
Print("Последний фрактал: ", GetLastFrac("EURUSD", 60, 3)); 
Вот хотелось бы узнать как поставить отложенный ордер : появился фрактал вверх, ставим отложенный ордер на покупку, если цена поднимется выше этого фрактала на n пунктов.
 
Помогите друзья!!!!!!!
 

Фракталы бывают верхние и нижние.

А что означает:"появился фрактал вверх" - лично для меня - загадка

 

Любой фрактал.или нижний или верхний. главное последний который показывает индикатор.


 
atlantic:

Любой фрактал.или нижний или верхний. главное последний который показывает индикатор.

Товарисчь!

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

"Поставить ордер на продажу бай стоп" (в нижней рамке) - это нечто ...... слов нет!! о_О

 
atlantic:

Вот хотелось бы узнать как поставить отложенный ордер : появился фрактал вверх, ставим отложенный ордер на покупку, если цена поднимется выше этого фрактала на n пунктов.

начнем с простого
- какая функция открывает ордер?
- как узнать цену верхнего / нижнего фрактала
 

OrderSend() - открытие рыночного ордера и установка отложенного ордера;

double frac;
for (int i=3; i<Bars; i++)
{
frac=iFractals(Symbol(), Period(), MODE_UPPER, i); if (frac>0) break;
frac=iFractals(Symbol(), Period(), MODE_LOWER, i); if (frac>0) break;
}
if (frac>0) Print("Цена последнего фрактала: ", frac);
 
hhohholl:

Товарисчь!

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

"Поставить ордер на продажу бай стоп" (в нижней рамке) - это нечто ...... слов нет!! о_О

опечатка,извини....
 
atlantic:

OrderSend() - открытие рыночного ордера и установка отложенного ордера;



ок. допустим вы получили нужную цену frac для установки ордера.

Запишите теперь функцию OrderSend c требуемым типом ордера и этой ценой открытия.

Причина обращения: