У вас не стоит Flash Player
Page 6 of 40 < 1 2 ... 4 5 6 7 8 ... 39 40 >
Настройки
#7287 - Tue Jun 29 2010 10:27 AM Re: Заказ индикаторов в TSLab [Re: 777]
usas Offline
Pooh-Bah

Registered: Sun Feb 21 2010
Записи: 2331
Loc: Ухта
А Вы сделайте вариант первой части без сжатия разжатия.
Мне кажется это будет надежней, без извращений..
Кстати и насчет цвета желательно бы было как-то извернутся..

Наверх
#7289 - Tue Jun 29 2010 10:39 AM Re: Заказ индикаторов в TSLab [Re: usas]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Не знаю, что поставить в формуле CCI<0?(LOW-ATR): после двоеточия, что бы формула ничего не считала, по-этому поставил закрытие фрейма.


Attachments
SUPERTREND с цветом.xml (452 downloads)

_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#7291 - Tue Jun 29 2010 10:59 AM Re: Заказ индикаторов в TSLab [Re: 777]
usas Offline
Pooh-Bah

Registered: Sun Feb 21 2010
Записи: 2331
Loc: Ухта
Сходство есть ..неуловимое.. в обоих вариантах, но как -то, что-то..
Какие таймфреймы Вы берёте?

Наверх
#7292 - Tue Jun 29 2010 11:05 AM Re: Заказ индикаторов в TSLab [Re: usas]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Это индикатор, который описан в Вашем doc. ИМХО индикатор сделан для "быстрого" рынка. Фрейм Вы можете выбрать любой сами.


Отредактировано 777 (Tue Jun 29 2010 11:10 AM)
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#7293 - Tue Jun 29 2010 11:09 AM Re: Заказ индикаторов в TSLab [Re: 777]
usas Offline
Pooh-Bah

Registered: Sun Feb 21 2010
Записи: 2331
Loc: Ухта
Originally Posted By: 777
Фрейм Вы можете выбрать любой сами.

А может все-таки разработчики подключаться, сделают его полноценным и поместят в библиотеку индикаторов?

Наверх
#7296 - Tue Jun 29 2010 11:10 AM Re: Заказ индикаторов в TSLab [Re: usas]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Это вряд ли
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#7297 - Tue Jun 29 2010 11:19 AM Re: Заказ индикаторов в TSLab [Re: 777]
usas Offline
Pooh-Bah

Registered: Sun Feb 21 2010
Записи: 2331
Loc: Ухта
Originally Posted By: 777
Это вряд ли

Почему?
Одно дело тащить в скрипт всю Вашу конструкцию и совсем другое - один кубик. А ведь обещанного функционала по сворачиванию в визуальном редакторе пока не предоставлено..
Ау! Разработчики..!!

Наверх
#7300 - Tue Jun 29 2010 11:44 AM Re: Заказ индикаторов в TSLab [Re: usas]
Alexei Offline
journeyman

Registered: Wed Jun 09 2010
Записи: 64
Да, очень не хватает сворачивания и запросов к уже сделанным скриптам...

Плюс, как на счет On volume?

Наверх
#7301 - Tue Jun 29 2010 11:49 AM Re: Заказ индикаторов в TSLab [Re: Alexei]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Может лучше с главного начать? Сжатие до сих пор нормально работает только внутри дня.
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#7302 - Tue Jun 29 2010 11:55 AM Re: Заказ индикаторов в TSLab [Re: 777]
usas Offline
Pooh-Bah

Registered: Sun Feb 21 2010
Записи: 2331
Loc: Ухта
А "васьки" слушают..(с) Дед Крылов :-))

Наверх
#7339 - Tue Jun 29 2010 02:06 PM Re: Заказ индикаторов в TSLab [Re: usas]
usas Offline
Pooh-Bah

Registered: Sun Feb 21 2010
Записи: 2331
Loc: Ухта
?

Наверх
#7346 - Tue Jun 29 2010 03:03 PM Re: Заказ индикаторов в TSLab [Re: usas]
Aleks Offline
stranger

Registered: Fri Apr 02 2010
Записи: 8
Етот индюк супер тренд2 у меня есть первый понятный как им пользоваться !код в мт могу скинуть неперерисовывает!


Attachments
!!!.gif (821 downloads)


Наверх
#7348 - Tue Jun 29 2010 03:09 PM Re: Заказ индикаторов в TSLab [Re: Aleks]
Aleks Offline
stranger

Registered: Fri Apr 02 2010
Записи: 8
а возможно ли сделать такой в тслабе !супер тренд мож кто нибудб попробует у меня чёто не получается с шарпом девелопер общаться !вот есшо индук интересный !не свежак конеш но всё таки можно для стопов использовать !NRTR!


Attachments
nrtr.gif (534 downloads)


Наверх
#7349 - Tue Jun 29 2010 03:10 PM Re: Заказ индикаторов в TSLab [Re: Aleks]
usas Offline
Pooh-Bah

Registered: Sun Feb 21 2010
Записи: 2331
Loc: Ухта
Originally Posted By: Aleks
Етот индюк супер тренд2 у меня есть первый понятный как им пользоваться !код в мт могу скинуть неперерисовывает!

А как все это в ТСлаб воткнуть, такое красивое..

Наверх
#7351 - Tue Jun 29 2010 03:13 PM Re: Заказ индикаторов в TSLab [Re: Aleks]
Aleks Offline
stranger

Registered: Fri Apr 02 2010
Записи: 8
ВОТ код!NRTR для мт

//+------------------------------------------------------------------+
//| NRTR Rosh v2.mq4 |
//| Rosh |
//| http://forexsystems.ru/phpBB/index.php |
//+------------------------------------------------------------------+
#property copyright "Rosh"
#property link "http://forexsystems.ru/phpBB/index.php"
//----
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Tomato
#property indicator_color2 DeepSkyBlue
#property indicator_color3 DeepSkyBlue
#property indicator_color4 Tomato
//---- input parameters
extern int PerATR=40;
extern double kATR=2.0;
extern bool useSendMail=true;
//---- buffers
double SellBuffer[];
double BuyBuffer[];
double Ceil[];
double Floor[];
double Trend[];
int sm_Bars;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
IndicatorBuffers(5);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,251);
SetIndexBuffer(0,SellBuffer);
SetIndexEmptyValue(0,0.0);
//
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,251);
SetIndexBuffer(1,BuyBuffer);
SetIndexEmptyValue(1,0.0);
//
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,159);
SetIndexBuffer(2,Ceil);
SetIndexEmptyValue(2,0.0);
//
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,159);
SetIndexBuffer(3,Floor);
SetIndexEmptyValue(3,0.0);
//
SetIndexBuffer(4,Trend);
SetIndexEmptyValue(4,0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| пробитие верха ДАУНтренда |
//+------------------------------------------------------------------+
bool BreakDown(int shift)
{
bool result=false;
if (Close[shift]>SellBuffer[shift+1]) result=true;
return(result);
}
//+------------------------------------------------------------------+
//| пробитие дна АПтренда |
//+------------------------------------------------------------------+
bool BreakUp(int shift)
{
bool result=false;
if (Close[shift]<BuyBuffer[shift+1]) result=true;
return(result);
}
//+------------------------------------------------------------------+
//| взятие нового минимума по ДАУНтренду |
//+------------------------------------------------------------------+
bool BreakFloor(int shift)
{
bool result=false;
if (High[shift]<Floor[shift+1]) result=true;
return(result);
}
//+------------------------------------------------------------------+
//| взятие нового максимума по АПтренду |
//+------------------------------------------------------------------+
bool BreakCeil(int shift)
{
bool result=false;
if (Low[shift]>Ceil[shift+1]) result=true;
return(result);
}
//+------------------------------------------------------------------+
//| определение предыдущего тренда |
//+------------------------------------------------------------------+
bool Uptrend(int shift)
{
//Print("Trend=",Trend[shift+1]);
bool result=false;
if (Trend[shift+1]==1) result=true;
if (Trend[shift+1]==-1) result=false;
if ((Trend[shift+1]!=1)&&(Trend[shift+1]!=-1)) Print("Внимание! Тренд не определен, такого быть не может. Бар от конца ",(Bars-shift));
return(result);
}
//+------------------------------------------------------------------+
//| вычисление волатильности |
//+------------------------------------------------------------------+
double ATR(int iPer,int shift)
{
double result;
//result=iMA(NULL,0,Per,0,MODE_SMA,PRICE_HIGH,shift+1)-iMA(NULL,0,Per,0,MODE_SMA,PRICE_LOW,shift+1);
result=iATR(NULL,0,iPer,shift);
//if (result>1.0) Alert("Большой АТР=",result);
//Print("ATR[",shift,"]=",result);
return(result);
}
//+------------------------------------------------------------------+
//| установка нового уровня потолка |
//+------------------------------------------------------------------+
void NewCeil(int shift)
{
Ceil[shift]=Close[shift];
Floor[shift]=0.0;
}
//+------------------------------------------------------------------+
//| установка нового уровня пола |
//+------------------------------------------------------------------+
void NewFloor(int shift)
{
Floor[shift]=Close[shift];
Ceil[shift]=0.0;
}
//+------------------------------------------------------------------+
//| установка уровня поддержки АПтренда |
//+------------------------------------------------------------------+
void SetBuyBuffer(int shift)
{
BuyBuffer[shift]=Close[shift]-kATR*ATR(PerATR,shift);
SellBuffer[shift]=0.0;
}
//+------------------------------------------------------------------+
//| установка уровня поддержки ДАУНтренда |
//+------------------------------------------------------------------+
void SetSellBuffer(int shift)
{
SellBuffer[shift]=Close[shift]+kATR*ATR(PerATR,shift);
BuyBuffer[shift]=0.0;
}
//+------------------------------------------------------------------+
//| реверс тренда и установка новых уровней |
//+------------------------------------------------------------------+
void NewTrend(int shift)
{
if (Trend[shift+1]==1)
{
Trend[shift]=-1;
NewFloor(shift);
SetSellBuffer(shift);
}
else
{
Trend[shift]=1;
NewCeil(shift);
SetBuyBuffer(shift);
}
if ((Trend[shift+1]!=1)&&(Trend[shift+1]!=-1)) Print("Внимание! Тренд не определен, такого быть не может");
}
//+------------------------------------------------------------------+
//| продолжение тренда |
//+------------------------------------------------------------------+
void CopyLastValues(int shift)
{
SellBuffer[shift]=SellBuffer[shift+1];
BuyBuffer[shift]=BuyBuffer[shift+1];
Ceil[shift]=Ceil[shift+1];
Floor[shift]=Floor[shift+1];
Trend[shift]=Trend[shift+1];
}
//+------------------------------------------------------------------+
//| продолжение тренда |
//+------------------------------------------------------------------+
void SendSMS(int shift)
{
if (sm_Bars!=Bars)
sm_Bars=Bars;
if ((Trend[shift+1]*Trend[shift+2]==-1)&&(shift==0)&&useSendMail) // сменился тренд
{
if (Trend[shift+1]==1)
{
SendMail("NRTR",Symbol()+" "+Period()+" развернулся вверх, Bid="+NormalizeDouble(Bid,Digits));
}
else
{
SendMail("NRTR",Symbol()+" "+Period()+" развернулся вниз, Bid="+Bid);
}
}
return;
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int limit;
if (counted_bars>0) limit=Bars-counted_bars;
if (counted_bars<0) return(0);
if (counted_bars==0)
{
limit=Bars-PerATR-1;
if (Close[limit+1]>Open[limit+1]) {Trend[limit+1]=1;Ceil[limit+1]=Close[limit+1];BuyBuffer[limit+1]=Close[limit+1]-kATR*ATR(PerATR,limit+1);}
if (Close[limit+1]<Open[limit+1]) {Trend[limit+1]=-1;Floor[limit+1]=Close[limit+1];SellBuffer[limit+1]=Close[limit+1]+kATR*ATR(PerATR,limit+1);}
if (Close[limit+1]==Open[limit+1]) {Trend[limit+1]=1;Ceil[limit+1]=Close[limit+1];BuyBuffer[limit+1]=Close[limit+1]-kATR*ATR(PerATR,limit+1);}
}
//----
for(int cnt=limit;cnt>=0;cnt--)
{
SendSMS(cnt);
if (Uptrend(cnt))
{
//Print("UpTrend");
if (BreakCeil(cnt))
{
NewCeil(cnt);
SetBuyBuffer(cnt);
Trend[cnt]=1;
continue;
}
if (BreakUp(cnt))
{
NewTrend(cnt);
continue;
}
CopyLastValues(cnt);
}
else
{
//Print("DownTrend");
if (BreakFloor(cnt))
{
NewFloor(cnt);
SetSellBuffer(cnt);
Trend[cnt]=-1;
continue;
}
if (BreakDown(cnt))
{
NewTrend(cnt);
continue;
}
CopyLastValues(cnt);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+

Наверх
#7353 - Tue Jun 29 2010 03:17 PM Re: Заказ индикаторов в TSLab [Re: Aleks]
Aleks Offline
stranger

Registered: Fri Apr 02 2010
Записи: 8
Понятный супертренд код для мт!так на всяк слчай !

//+------------------------------------------------------------------+
//| SuperTrend.mq4 v1.2 |
//| Copyright © 2008, Jason Robinson (jnrtrading). |
//| http://www.spreadtrade2win.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, Jason Robinson."
#property link "http://www.spreadtrade2win.com"

#property indicator_chart_window
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
#property indicator_buffers 2
double TrendUp[], TrendDown[];
int changeOfTrend;
extern int Nbr_Periods = 10;
extern double Multiplier = 3.0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexBuffer(0, TrendUp);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
SetIndexLabel(0, "Trend Up");
SetIndexBuffer(1, TrendDown);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2);
SetIndexLabel(1, "Trend Down");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit, i, flag, flagh, trend[5000];
double up[5000], dn[5000], medianPrice, atr;
int counted_bars = IndicatorCounted();
//---- check for possible errors
if(counted_bars < 0) return(-1);
//---- last counted bar will be recounted
if(counted_bars > 0) counted_bars--;
limit=Bars-counted_bars;
//Print(limit);

//----
for (i = Bars; i >= 0; i--) {
TrendUp[i] = EMPTY_VALUE;
TrendDown[i] = EMPTY_VALUE;
atr = iATR(NULL, 0, Nbr_Periods, i);
//Print("atr: "+atr[i]);
medianPrice = (High[i]+Low[i])/2;
//Print("medianPrice: "+medianPrice[i]);
up[i]=medianPrice+(Multiplier*atr);
//Print("up: "+up[i]);
dn[i]=medianPrice-(Multiplier*atr);
//Print("dn: "+dn[i]);
trend[i]=1;


if (Close[i]>up[i+1]) {
trend[i]=1;
if (trend[i+1] == -1) changeOfTrend = 1;
//Print("trend: "+trend[i]);

}
else if (Close[i]<dn[i+1]) {
trend[i]=-1;
if (trend[i+1] == 1) changeOfTrend = 1;
//Print("trend: "+trend[i]);
}
else if (trend[i+1]==1) {
trend[i]=1;
changeOfTrend = 0;
}
else if (trend[i+1]==-1) {
trend[i]=-1;
changeOfTrend = 0;
}

if (trend[i]<0 && trend[i+1]>0) {
flag=1;
//Print("flag: "+flag);
}
else {
flag=0;
//Print("flagh: "+flag);
}

if (trend[i]>0 && trend[i+1]<0) {
flagh=1;
//Print("flagh: "+flagh);
}
else {
flagh=0;
//Print("flagh: "+flagh);
}

if (trend[i]>0 && dn[i]<dn[i+1])
dn[i]=dn[i+1];

if (trend[i]<0 && up[i]>up[i+1])
up[i]=up[i+1];

if (flag==1)
up[i]=medianPrice+(Multiplier*atr);

if (flagh==1)
dn[i]=medianPrice-(Multiplier*atr);

//-- Draw the indicator
if (trend[i]==1) {
TrendUp[i]=dn[i];
if (changeOfTrend == 1) {
TrendUp[i+1] = TrendDown[i+1];
changeOfTrend = 0;
}
}
else if (trend[i]==-1) {
TrendDown[i]=up[i];
if (changeOfTrend == 1) {
TrendDown[i+1] = TrendUp[i+1];
changeOfTrend = 0;
}
}
}
WindowRedraw();

//----
return(0);
}
//+------------------------------------------------------------------+

Наверх
#7354 - Tue Jun 29 2010 03:18 PM Re: Заказ индикаторов в TSLab [Re: Aleks]
usas Offline
Pooh-Bah

Registered: Sun Feb 21 2010
Записи: 2331
Loc: Ухта
Ну если профессиональные индюкописатели молчат бум надеятся, что кто-то из продвинутых пользователей что-нить сваяет..

Наверх
#7356 - Tue Jun 29 2010 03:24 PM Re: Заказ индикаторов в TSLab [Re: Aleks]
andy Offline

Pooh-Bah

Registered: Mon Feb 16 2009
Записи: 2130
NRTR в скором времени должен появится в
примерах
http://www.tslab.ru/ubb/ubbthreads.php?ubb=postlist&Board=25&page=1

Наверх
#7568 - Thu Jul 01 2010 01:11 PM Re: Заказ индикаторов в TSLab [Re: andy]
Klever Offline
newbie

Registered: Thu May 27 2010
Записи: 33
Доброго времени суток!
Заказ на Weighted Average True Range - WATR примете? smile

Наверх
#7569 - Thu Jul 01 2010 01:15 PM Re: Заказ индикаторов в TSLab [Re: Klever]
andy Offline

Pooh-Bah

Registered: Mon Feb 16 2009
Записи: 2130
Originally Posted By: Klever
Доброго времени суток!
Заказ на Weighted Average True Range - WATR примете? smile


Доброго !

А четкое описание дадите ? :-)

Наверх
Page 6 of 40 < 1 2 ... 4 5 6 7 8 ... 39 40 >


Moderator:  ViL, sar