[Архив!] Напишу любого эксперта или индикатор бесплатно. - страница 109

 
sammi61:

Если не проблема замените стоповые на лимитные, моя просьба, а своего перевертыша давайте, время есть поэксперементирую, выложу результат. Мой camcohob@mail.ru заранее спасибо. c
OK! Завтра займусь.
 
snail09:
OK! Завтра займусь.

Спасибо, жду.
 

Здравствуйте!

А вот такая система Вам по силам Торговая стратегия Черепахи (Turtles)?

 

Здравствуйте, а можно написать стрелочник со звуковым сигналом связывающий два тф?

условия сигнала:

1) на старшем тф (например н1) АО пересекает ноль, после чего насинается поиск второго условия

2) на 2 тф младше (напрмер м5) АО пересекает ноль в том же направлении (логично что перед этим он должен сходить в противоположную сторону т.к. в момент когда на н1 АО пересечет ноль вверх, на м5 АО уже будет над нулем, т.е. меня интересует новое пересечение после отката)

 

Форумчане, есть вопрос.

Здесь уже не раз обсуждали Renko графики и их использование. Давно использую советник из codebase, который корректно строит Ренко бары, но вот незадача он немного неправильно рисует их при развороте. Смотрите, он рисует их вот так:

а хотелось бы чтобы здесь был ещё один бар т.е. так:


Подскажите что нужно изменить в коде. Насколько я понимаю менять нужно что-то в циклах while вот в этом участке кода:

bool UpTrend = High[i]+Low[i] > High[i+1]+Low[i+1];
        
            while(UpTrend && (Low[i] < PrevLow-BoxPoints || CompareDoubles(Low[i], PrevLow-BoxPoints))) {
                  PrevHigh = PrevHigh - BoxPoints;
                  PrevLow = PrevLow - BoxPoints;
                  PrevOpen = PrevHigh;
                  PrevClose = PrevLow;
 
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
 
                if(ShowWicks && UpWick > PrevHigh) FileWriteDouble(HstHandle, UpWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                                                
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
                
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevLow;
                CurLow = PrevLow;  
                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
        
            while(High[i] > PrevHigh+BoxPoints || CompareDoubles(High[i], PrevHigh+BoxPoints)) {
                  PrevHigh = PrevHigh + BoxPoints;
                  PrevLow = PrevLow + BoxPoints;
                  PrevOpen = PrevLow;
                  PrevClose = PrevHigh;
              
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
 
                    if(ShowWicks && DnWick < PrevLow) FileWriteDouble(HstHandle, DnWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
                                
                FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
                
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevHigh;
                CurLow = PrevHigh;  
                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
        
            while(!UpTrend && (Low[i] < PrevLow-BoxPoints || CompareDoubles(Low[i], PrevLow-BoxPoints))) {
                  PrevHigh = PrevHigh - BoxPoints;
                  PrevLow = PrevLow - BoxPoints;
                  PrevOpen = PrevHigh;
                  PrevClose = PrevLow;
              
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
                
                if(ShowWicks && UpWick > PrevHigh) FileWriteDouble(HstHandle, UpWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
 
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevLow;
                CurLow = PrevLow;  
                                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
 
Здравствуйте! Помогите найти простого советника. Выставляет отложенный ордер на заданном расстоянии от цены в определенное время с тп и сл. Например: в 23:55 выставляет ордер на расстоянии 10п. от текущей цены. Сразу выставляет тп=10п. и сл=16п. Дополнительно: если ордер не сработал, то он удаляется в 24:00; выставляет однонаправленные ордера по разные стороны от цены. Может, кто сможет написать, хотя бы по основным условиям или подскажет где поискать? В Code Base ничего похожего не нашел. Заранее благодарю за любую помощь.
 
Помогите пожалуйста подправить прогу. Хочу что бы индикатор давал звуковой сигнал когда появляеться сигнал на покупку и продажу, но что то не работает!! Заранее спасибо)

//+------------------------------------------------------------------+
//| SilverTrend_Signal.mq4
//| Ramdass - Conversion only
//+------------------------------------------------------------------+
#property copyright "SilverTrend rewritten by CrazyChart"
#property link "http://viac.ru/&quot;

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Aqua
#property indicator_color2 Violet

//---- input parameters
extern int RISK=3;
extern int CountBars=350;
extern bool SoundAlert = true;
int SSP=9;

//---- buffers
double val1[];
double val2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,234);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| SilverTrend_Signal |
//+------------------------------------------------------------------+
int start()
{
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars+SSP);
SetIndexDrawBegin(1,Bars-CountBars+SSP);
int i,shift,counted_bars=IndicatorCounted();
int i1,i2,K;
double Range,AvgRange,smin,smax,SsMax,SsMin,price;
bool uptrend,old;
//----

if(Bars<=SSP+1) return(0);
//---- initial zero
if(counted_bars<SSP+1)
{
for(i=1;i<=SSP;i++) val1[CountBars-i]=0.0;
for(i=1;i<=SSP;i++) val2[CountBars-i]=0.0;
}
//----

K=33-RISK;
for (shift = CountBars-SSP; shift>=0; shift--)
{

Range=0;
AvgRange=0;
for (i1=shift; i1<=shift+SSP; i1++)
{AvgRange=AvgRange+MathAbs(High[i1]-Low[i1]);
}
Range=AvgRange/(SSP+1);

SsMax=High[shift]; SsMin=Low[shift];
for (i2=shift;i2<=shift+SSP-1;i2++)
{
price=High[i2];
if(SsMax<price) SsMax=price;
price=Low[i2];
if(SsMin>=price) SsMin=price;
}

smin = SsMin+(SsMax-SsMin)*K/100;
smax = SsMax-(SsMax-SsMin)*K/100;
val1[shift]=0;
val2[shift]=0;
if (Close[shift]<smin)
{
uptrend = false;
}
if (Close[shift]>smax)
{
uptrend = true;
}
if (uptrend!=old && uptrend==true) {val1[shift]=Low[shift]-Range*0.5;}
if (uptrend!=old && uptrend==false) {val2[shift]=High[shift]+Range*0.5;}
old=uptrend;
}
return(0);
}
//+------------------------------------------------------------------+
void SendAlert(string txt) {
if (Time[0] != tt) {
if (SoundAlert) {
if (txt == "buy") Alert("Trend Long " + Symbol() + ", " + Period());
if (txt == "sell") Alert("Trend Short " + Symbol() + ", " + Period());
}
tt = Time[0];
}
}
 
Напишу советник бесплатно по интересной индикаторной стратегии без мартингейла. ТЗ в личку или на мыло mqlskeptik@yandex.ua
 
Всем привет, ребят не могли вы мне помочь, я бы хотел сделать более наглядный индикатор объема. Чтобы на нем видно было сколько куплено и продано на одно свече объема. И при наводке на объем всплывало окно с данными. Я торгую по объемам и это мне бы очень помогло. Я представляю это примерно так. Заранее спасибо!
 

Ветка закрывается, т.к. свою функцию давно не выполняет.

Прошу всех желающих писать сразу в личку автору темы (https://www.mql5.com/ru/users/kubodel/).

Все новые посты будут удаляться без предупреждения.

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