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

 

Попробуйте это...

Поместите

double ma_cross;[/CODE] as a global variable.

In the start function :

[CODE]

double ma1=NormalizeDouble(first_ma,Digits);

double ma2=NormalizeDouble(second_ma,Digits);

if(ma1=ma2)

{

ma_cross=ma1;

}

int spread=MarketInfo(Symbol(), MODE_SPREAD);

SLbuy=ma1+spread-SL*Point;

SLsell=ma1+SL*Point;

Надеюсь, это поможет

 

Закрытие/открытие сделок при инверсном сигнале

У меня небольшая проблема:

В моем советнике есть условие покупки и условие продажи, а также ордер закрытия для инверсных сигналов. Чтобы предотвратить открытие и закрытие сделок на одном и том же баре, у меня есть следующий код:

if(OneEntryPerBar==true)

{

if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0); else CheckEntryTime = iTime(NULL,PERIOD_H1,0);

}

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

Есть идеи, как заставить его закрывать и открывать внутри 1 бара... но только один раз за бар?

Надеюсь, я понятно объяснил.

Спасибо

 

Закрытие и отмена в определенное время?

Кто-нибудь может помочь мне с настройкой советника, который закрывает все открытые ордера и отменяет все отложенные ордера в определенное время, т.е. в 5:15 утра UTC+1?

Можно ли указать не только время, но и дату?

 
dxtrade:
У меня тут небольшая проблема:

В моем советнике есть условия покупки (BuyCondition) и продажи (Sell Condition), а также ордер закрытия для инверсных сигналов. Чтобы предотвратить открытие и закрытие сделок внутри одного и того же бара, я использую следующий код:

if(OneEntryPerBar==true)

{

if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0); else CheckEntryTime = iTime(NULL,PERIOD_H1,0);

}

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

Есть идеи, как сделать так, чтобы он закрывал и открывал внутри 1 бара... но только один раз за бар?

Надеюсь, я понятно объяснил.

Спасибо

он не откроется из-за кода, который вы используете выше... до следующего часа...

вы можете попробовать следующее...

if (OrderOpenTime() >= iTime(NULL, PERIOD_H1, 0)) order++;

if (order < 1)

{

условия заказа

}

надеюсь, это поможет... не эксперт... но этот код не помешает сделать это более одного раза...

 

Помогите мне

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

Спасибо

Файлы:
zero.mq4  10 kb
 
wasanmyza:
Я не говорю по-английски, я хочу добавить Maxtrade и риск Вы можете помочь мне Спасибо

Привет,

У вас другие проблемы с этим советником. Вы заявляете, что хотите совершать покупку или продажу, когда VAR1, VAR2 или VAR3 достигают или превышают определенные значения.

Вы должны сначала определить, что такое VAR1, 2 и 3? Какой-то индикатор с определенными настройками?

Спасибо,

StrangeGuy

 

Тейк-профит, отмена всех остальных ордеров

Кто-нибудь знает, как закодировать, чтобы после того, как открытый ордер достигнет цели по прибыли, остальные отложенные ордера были удалены? Это отличается от oco. Я проверил раздел elite, но там ничего нет.

 

вопрос

Не понимаю разницы в двух программах, может научите?

int limit = Bars-IndicatorCounted();

int i ;

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

int counted_bars=IndicatorCounted();

//---- проверка на возможные ошибки

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

//---- последний подсчитанный бар будет пересчитан

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(i = 0; i <= limit; i++)

 
nakata79087:
Я не понимаю разницы между двумя программами, но может научите?

int limit = Bars-IndicatorCounted();

int i ;

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

int counted_bars=IndicatorCounted();

//---- проверка на возможные ошибки

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

//---- последний подсчитанный бар будет пересчитан

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(i = 0; i <= limit; i++)

Наиболее важным отличием является направление цикла "for":

Первый сканирует бары по естественному времени, т.е. от самого старого бара к самому новому.

Второй сканирует бары в обратном направлении: он может работать, если при подсчете бара не используется результат предыдущего бара;

В общем, лучше использовать то же направление, что и время: это всегда работает и нет возможности ошибиться.

 

Спасибо

Спасибо вам за вашу доброту, Мишель!

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