Как кодировать? - страница 294

 

OrderSend(Symbol..... query

int ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

мой вопрос заключается в следующем:

можно ли изменить часть symbol() так, чтобы в ней было написано eurusd, и когда я запускаю скрипт покупки, он просто покупает eurusd... на любом графике, на котором я его запускаю?

что-то вроде:

int ticket=OrderSend(eurusd,OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

спасибо

 

...

Да. Можно.

Только будьте осторожны с корпусом. Вызов должен выглядеть так :

int ticket=OrderSend("EURUSD",OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,CLR_NONE);
al_shore:
int ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

Мой вопрос заключается в следующем:

можно ли изменить часть symbol() так, чтобы в ней было написано eurusd, и когда я запускаю скрипт покупки, он просто покупает eurusd... на любом графике, который я запускаю?

что-то вроде:

int ticket=OrderSend(eurusd,OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

спасибо
 

EA doesnt Work

Дорогие друзья,

Я новичок в Forex, хотя советник не выдал ошибку при компиляции, я не смог заставить его работать, пожалуйста, кто-нибудь помогите мне, что не так с ним?

заранее спасибо

Файлы:
test_ea.mq4  128 kb
 

...

Вы не можете просто скопировать код из индикатора в советник и ожидать, что он будет работать (особенно индикаторы от Николая Костисина, который не известен простым кодом).

Для начала лучше использовать индикаторы через вызов iCustom() и сохранить торговую логику в советнике, так вы получите гораздо более простой в написании советник.

kemal44:
Дорогие друзья,

Я новичок в Forex, хотя он не выдал ошибку при компиляции, я не смог заставить его работать, пожалуйста, кто-нибудь помогите мне, что не так с ним?

заранее спасибо
 

Как закодировать советника Volatility Quality

Приветствую всех!

Я новичок в советниках для метатрейдера. Как мне закодировать индикатор VQ в советнике для торговли на таймфрейме M15, но чтобы триггер покупки продажи основывался на выбранном таймфрейме индикатора Volatility Quality?

Большое спасибо

Файлы:
vq7.mq4  8 kb
 

Вам также необходимо изменить Ask на MarketInfo("EURUSD", MODE_ASK).

В противном случае торговля не будет успешной. Ask будет для символа графика.

Также имейте в виду, что некоторые брокеры добавляют другие символы до или после названия символа

например, "EURUSDm".

Роберт

al_shore:
int ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

мой вопрос заключается в следующем:

можно ли изменить часть symbol() так, чтобы там было написано eurusd, и когда я запускаю скрипт покупки, он просто покупает eurusd... на любом графике, на котором я его запускаю?

что-то вроде:

int ticket=OrderSend(eurusd,OP_BUY,1.0,Ask,3,0,0, "expert comment",255,0,CLR_NONE);

спасибо
 

...

ymkoh

Посмотрите эту тему: https: //www.mql5.com/en/forum/general

Там есть довольно много версий советников, использующих качество волатильности.

ymkoh:
Приветствую всех!

Я новичок в советниках metatrader. Как мне закодировать индикатор VQ в советнике, чтобы торговать на таймфрейме M15, но триггер покупки продажи основывался на выбранном таймфрейме индикатора Volatility Quality?

Большое спасибо
 
mladen:
ymkoh

Посмотрите эту тему: https: //www.mql5.com/en/forum/general

Существует довольно много версий советников, использующих качество волатильности

Спасибо за информацию!

Я попробовал большинство из них, но ни один не работает.

Примеры:- EA Trading TF H1 VQ input 240.

Он работает только на торговом ТФ H1 VQ вход 0 по умолчанию.

Прикрепленный скриншот показывает пример торговли TF H1 сигнал покупки продажи срабатывает от VQ индикатора H4 таймфрейма. (Советник не прилагается)

vq7.mq4

Файлы:
 

Индикатор Hurst Exponent

Здравствуйте, кто-нибудь может мне помочь? Мне нужен такой индикатор Hurst Exponent. Код успешно запрограммирован компилятором, но нет изображения, можете ли вы исправить это? Спасибо!

Значения экспоненты Харста находятся в диапазоне от 0 до 1.

* Значение экспоненты Херста H, близкое к 0.5, указывает на случайное движение (броуновский временной ряд). В случайном блуждании нет корреляции между любым элементом и будущим элементом, и существует 50% вероятность того, что будущие значения доходности будут либо расти, либо падать. Серии такого типа трудно предсказать.

* Для временных рядов с "антипостоянным поведением" существует значение экспоненты Херста H от 0 до 0,5. Это означает, что за увеличением, как правило, следует уменьшение (или за уменьшением следует увеличение). Такое поведение иногда называют "средним возвратом", что означает, что будущие значения будут иметь тенденцию возвращаться к более долгосрочному среднему значению. Сила этого среднего возврата увеличивается по мере приближения H к 0.

* Значение экспоненты Харста H между 0,5 и 1 указывает на "устойчивое поведение", то есть временной ряд имеет тенденцию. Если наблюдается рост с временного шага [t-1] до [t], то, вероятно, будет наблюдаться рост с [t] до [t+1]. То же самое справедливо и для уменьшения, где уменьшение будет следовать за уменьшением. Чем больше значение?H, тем сильнее тенденция. Серии этого типа легче прогнозировать, чем серии, относящиеся к двум другим категориям.

Расчет производится следующим образом

Step_A、X= MathLog(Close/Close)

{ значение H от одного R/S

Шаг1、E = (1/n)*[X(0)+X(1)+X(2)+...+X(n-1) ].

Шаг2、A(0) = X(0) - E

A(1) = X(1) - E

A(2) = X(2) - E

...

A(n-1) = X(n-1) - E

Шаг3、SUM(0) = A(0)

СУММА(1) = A(0)+ A(1)

СУММА(2) = A(0)+A(1) + A(2)

...

SUM(n-1) = A(0)+A(1) + A(2) + ...+ A(n-1)

Шаг4、R= Максимум(SUM,n) - Минимум(SUM,n)

Шаг5、H = log(R/S)/log(n/2) // Пусть - стандартное отклонение множества { X(0),X(1), X(2), .... X(n-1)}

}

Шаг_B、вычислить H из множества { X(i),X(i+1), X(i+2), ... X(i+n-1)}

Шаг_C、вычислить H_SMA, пусть он будет гладким ,если H_SMA=0.5, то предупреждение

код выглядит следующим образом

//+------------------------------------------------------------------+

//| #HURST.mq4 |

//| chenairbin. |

//| Торговая платформа MetaTrader 4 / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#property copyright "chenairbin."

#property link "http://www.metaquotes.net"

#property indicator_separate_window

#property indicator_minimum 0

#property indicator_maximum 1

#property indicator_buffers 7

#property indicator_color7 Yellow

extern int n=21,S_EMA=8;

extern double Natural=0.5;

double X[],E[],S[],A[],SUM[],H[],C[];

int init()

{

IndicatorBuffers(7);

SetIndexBuffer(0,X);

SetIndexBuffer(1,E);

SetIndexBuffer(2,S);

SetIndexBuffer(3,A);

SetIndexBuffer(4,SUM);

SetIndexBuffer(5,H);

SetIndexStyle(6,DRAW_LINE);

SetIndexBuffer(6,C);

return(0);

}

int start()

{

int i;

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for (i=limit-1;i>=0;i--)

{

X= MathLog(Close/Close);

}

for (i=limit-1;i>=0;i--)

{

E=iMAOnArray(X,0,n,0,MODE_EMA,i);

S=iStdDevOnArray(X,0,n,0,MODE_EMA,i);

}

for (i=limit-1;i>=0;i--)

{

A=X-E;

}

for (i=limit-1;i>=0;i--)

{

for (int j=0;j<n;j--)

{

for (i=limit-1;0<=i<=j;i--)

{

double B=0,SUM[];

B=B+A;

SUM[j]=B;

}

}

H=MathLog((SUM[ArrayMaximum(SUM,n,0)]-SUM[ArrayMinimum(SUM,n,0)])/S)/MathLog(n/2);

}

for (i=limit-1;i>=0;i--)

{

C=iMAOnArray(H,0,S_EMA,0,MODE_EMA,i);

}

return(0);

}

//-----------------------------------------------------------

 

Эта часть :

for (i=limit-1;i>=0;i--)

{

for (int j=0;j<n;j--)

{

for (i=limit-1;0<=i<=j;i--) // you are alrady using "i" variable in in the outer loop

{

double B=0,SUM[]; // Sum is an un-initialized array and shoulde be created out of this loop.

B=B+A;

SUM[j]=B;

}

}

H=MathLog((SUM[ArrayMaximum(SUM,n,0)]-SUM[ArrayMinimum(SUM,n,0)])/S)/MathLog(n/2);

}

Закомментируйте, где находится ошибка. Без описания я не могу сказать, чего вы пытаетесь добиться с помощью этого кода, поэтому я не могу его изменить.

chenairbin:
Привет, кто-нибудь может мне помочь? Я хочу такой индикатор с экспонентой Херста. Код успешно запрограммирован компилятором, но нет изображения, можете ли вы исправить это? Спасибо!

Значения экспоненты Харста варьируются между 0 и 1.

* Значение экспоненты Херста H, близкое к 0.5, указывает на случайное движение (броуновский временной ряд). В случайном блуждании нет корреляции между любым элементом и будущим элементом, и существует 50-процентная вероятность того, что будущие значения доходности будут либо расти, либо падать. Серии такого типа трудно предсказать.

* Для временных рядов с "антипостоянным поведением" существует значение экспоненты Херста H от 0 до 0,5. Это означает, что за увеличением, как правило, следует уменьшение (или за уменьшением следует увеличение). Такое поведение иногда называют "средним возвратом", что означает, что будущие значения будут иметь тенденцию возвращаться к более долгосрочному среднему значению. Сила этого среднего возврата увеличивается по мере приближения H к 0.

* Значение экспоненты Харста H между 0,5 и 1 указывает на "устойчивое поведение", то есть временной ряд имеет тенденцию. Если наблюдается рост с временного шага [t-1] до [t], то, вероятно, будет наблюдаться рост с [t] до [t+1]. То же самое справедливо и для уменьшения, где уменьшение будет следовать за уменьшением. Чем больше значение?H, тем сильнее тенденция. Серии этого типа легче прогнозировать, чем серии, относящиеся к двум другим категориям.

Расчет производится следующим образом

Step_A、X= MathLog(Close/Close)

{ значение H от одного R/S

Шаг1、E = (1/n)*[X(0)+X(1)+X(2)+...+X(n-1) ].

Шаг2、A(0) = X(0) - E

A(1) = X(1) - E

A(2) = X(2) - E

...

A(n-1) = X(n-1) - E

Шаг3、SUM(0) = A(0)

СУММА(1) = A(0)+ A(1)

СУММА(2) = A(0)+A(1) + A(2)

...

SUM(n-1) = A(0)+A(1) + A(2) + ...+ A(n-1)

Шаг4、R= Максимум(SUM,n) - Минимум(SUM,n)

Шаг5、H = log(R/S)/log(n/2) // Пусть - стандартное отклонение множества { X(0),X(1), X(2), .... X(n-1)}

}

Шаг_B、вычислить H из множества { X(i),X(i+1), X(i+2), ... X(i+n-1)}

Шаг_C、вычислить H_SMA, пусть он будет гладким ,если H_SMA=0.5, то предупреждение

код выглядит следующим образом

//+------------------------------------------------------------------+

//| #HURST.mq4 |

//| chenairbin. |

//| Торговая платформа MetaTrader 4 / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#property copyright "chenairbin."

#property link "http://www.metaquotes.net"

#property indicator_separate_window

#property indicator_minimum 0

#property indicator_maximum 1

#property indicator_buffers 7

#property indicator_color7 Yellow

extern int n=21,S_EMA=8;

extern double Natural=0.5;

double X[],E[],S[],A[],SUM[],H[],C[];

int init()

{

IndicatorBuffers(7);

SetIndexBuffer(0,X);

SetIndexBuffer(1,E);

SetIndexBuffer(2,S);

SetIndexBuffer(3,A);

SetIndexBuffer(4,SUM);

SetIndexBuffer(5,H);

SetIndexStyle(6,DRAW_LINE);

SetIndexBuffer(6,C);

return(0);

}

int start()

{

int i;

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for (i=limit-1;i>=0;i--)

{

X= MathLog(Close/Close);

}

for (i=limit-1;i>=0;i--)

{

E=iMAOnArray(X,0,n,0,MODE_EMA,i);

S=iStdDevOnArray(X,0,n,0,MODE_EMA,i);

}

for (i=limit-1;i>=0;i--)

{

A=X-E;

}

for (i=limit-1;i>=0;i--)

{

for (int j=0;j<n;j--)

{

for (i=limit-1;0<=i<=j;i--)

{

double B=0,SUM[];

B=B+A;

SUM[j]=B;

}

}

H=MathLog((SUM[ArrayMaximum(SUM,n,0)]-SUM[ArrayMinimum(SUM,n,0)])/S)/MathLog(n/2);

}

for (i=limit-1;i>=0;i--)

{

C=iMAOnArray(H,0,S_EMA,0,MODE_EMA,i);

}

return(0);

}

//-----------------------------------------------------------

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