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

 

Кодирование "состояния тренда" с помощью StepMA

забыто: к моему предыдущему сообщению индикатор и скриншот

Файлы:
example.jpg  55 kb
 

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

Devil2000:
Из метаредактора:
bool IsDemo()
Возвращает TRUE, если эксперт работает на демо-счете, иначе возвращает FALSE.

Теперь вы можете сказать мне, куда поместить этот код?

Я настоящий новичок в этом деле.

Вот что отображается в Meta Editor:

extern double lot=0.01;

extern int MinGS=10;

extern double TP=10;

extern double MarginLevelAlert=1000;

extern double RepeatMinutes=60;

double MaxDrawDown = 0.0;

int magic;

int Account = 1857842;

double lot2;

double MarginPer;

datetime tob,tos,toe; //Время покупки, продажи, истечения срока действия.

Спасибо за помощь.

Спасибо

 

MaOnArray

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

Я хотел бы выходить в длинные позиции, если CCI поднимается выше своей 14 sma, и выходить в короткие позиции, когда он опускается ниже своей 14 sma. Sma CCI генерируется MaOnArray CCI, конечно.

Вот мой фрагмент кода:

double a,b;

bla, bla, bla...

int start()

{

a= iCCI(NULL, 0, 14, PRICE_WEIGHTED, 0);

b=iMAOnArray(a,0,14,0,MODE_SMA,0);

// проверка возможности длинной позиции (BUY)

if(NewBar1()==true && a>b)

{

bla, bla, bla...

// проверка возможности короткой позиции (SELL)

if(NewBar2()==true && a<b)

{

bla, bla, bla...

Однако есть проблема (она показана ниже) - так есть ли что-то, чего не хватает в коде? и как можно решить эту проблему?

Проблема описана ниже:

Файлы:
1.jpg  129 kb
 

MaOnArray

Джейн,

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

Я предлагаю добавить

if (OrdersTotal()==0) {

перед фильтрами входа, или, может быть, <= 1, для 2 разрешенных ордеров.

Или если вы хотите иметь более двух сделок одновременно:

for (int i = OrdersTotal() - 1; i >= 0;i--)

(Изучите большинство советников на этот счет).

Я не думаю, что вы привели достаточно данных для решения этой задачи, но у меня есть еще пара предложений.

Неясно, что и как делает NewBar1().

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

Я пишу строку для каждой необходимой переменной после строки открытия ордера.

Удачной охоты!

Big Be

 

Вопрос о двух остановках

См. более поздний пост.

 

Вопрос о двух стопах

Мне нужно знать, как изменить стоп для ПОЛОВИНЫ моего открытого ордера. Насколько я понимаю, это означает открытие двух ордеров, например, .2 лота и .2 лота.

Мой советник определяет количество лотов на основе расчета Money Management.

После изменения стопа для одного ордера (на основании достижения ценового уровня) я позволяю моему коду выхода закрыть оба ордера, если их (теперь уже разные) стопы не будут достигнуты.

Другой ордер сохраняет свой первоначальный стоп или, возможно, перемещает его до уровня Break Even.

Если начальное количество лотов (из функции MM) нечетное, вместо округления вниз для нечетного количества лотов или десятых лотов, я хотел бы разделить их неравномерно между двумя ордерами.

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

Спасибо за любую помощь.

Big Be

 

Хорошо, спасибо, Большой Я,

Я выложу весь советник завтра. Чтобы вы могли взглянуть на него.

с уважением,

J

 
Big Be:
Мне нужно знать, как изменить стоп для ПОЛОВИНЫ моего открытого ордера. Насколько я понимаю, это означает открытие двух ордеров, например, .2 лота и .2 лота.

Мой советник определяет количество лотов на основе расчета Money Management.

После изменения стопа для одного ордера (на основании достижения ценового уровня) я бы позволил моему коду выхода закрыть оба ордера, если только их (теперь уже разные) стопы не будут достигнуты.

Другой ордер сохраняет свой первоначальный стоп или, возможно, перемещает его до уровня Break Even.

Если начальное количество лотов (из функции MM) нечетное, вместо округления вниз для нечетного количества лотов или десятых лотов, я хотел бы разделить их неравномерно между двумя ордерами.

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

Спасибо за любую помощь.

Большой Бе

Разве не было бы намного проще просто открыть 1 ордер и масштабировать его, регулируя "мягкий" SL на оставшейся части. На всякий случай можно поставить жесткий стоп Судного дня. Это не только намного проще, но вы также не даете бакетшопам повода для "прицеливания".

 

Символ в брокере

привет всем

Мне нужно получить все символы в MetaTrade... Как это сделать?

с уважением

Чарльз

 
omelette:
Не проще ли просто открыть 1 ордер и масштабировать его, установив "мягкий" SL на оставшуюся часть. На всякий случай можно поставить жесткий стоп Судного дня. Это не только намного проще, но вы также не даете бакетшопам повода для "прицеливания".

Проще, но менее прибыльно для меня. Мой советник движется по тренду, и я хочу, чтобы у обеих половинок был шанс пройти весь путь. Вы знаете, как это сделать?

Big Be

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