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

 

Спасибо за ваш ответ.

Я понимаю, чего вы хотите. Я думаю, что я уже делаю то же самое с моей переменной prevtime, где я проверяю, если

prevtime == Time[0]

Или есть разница в использовании Time[0] и Bars?

Но моя проблема заключается в цене закрытия.

Потому что я могу проверить ее в момент "Close[0]" или я должен проверить ее по цене открытия следующего бара и написать "Close[1]"?

Что я думаю неправильно?

 
sunshineh:
Спасибо за ваш ответ.

Я понимаю, чего вы хотите. Я думаю, что я уже делаю то же самое с моей переменной prevtime, где я проверяю, если

prevtime == Time[0]

Или есть разница в использовании Time[0] и Bars?

Но моя проблема заключается в цене закрытия.

Потому что я могу проверить ее в момент "Close[0]" или я должен проверить ее по цене открытия со следующего бара и написать "Close[1]"?

Что я думаю не так?

Да, с Time[0] будет работать то же самое.

Я не очень понимаю вашу проблему с close, если вы хотите использовать цену закрытия текущего нового бара, например, если prevtime!=Time[0] будет означать наступление нового бара, то close[0] == open[0] == high[0] == low[0]. Если для каких-то расчетов вы хотите использовать закрытие другого бара, то вы можете вернуться к нему, сдвинув индекс, как в вашем примере Close[1] будет закрытием предыдущего - ЗАКРЫТОГО бара.

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

 

Может ли кто-нибудь помочь мне с вопросом о кодировании?

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

#1: Я хочу иметь входные данные для советника, чтобы он торговал с x по y (время начала - время окончания).

#2: Я хочу, чтобы советник совершал только одну сделку за время торговли (торговый цикл). Другими словами, если советник должен торговать только с 2-4 утра по восточному времени и он завершает сделку, я не хочу, чтобы советник открывал другую сделку в этот день/цикл.

Буду признателен за помощь

 

Требуется помощь по пирамидингу

Привет

У меня проблема с ошибкой 130.

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

for (count= OrdersTotal()-1; count>=0; count--){

OrderSelect(count, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol() == Currencies){

if(OrderType()==OP_SELL){

if(OrderMagicNumber()==16381 && CheckMagic(16383,OP_SELL)==false && CheckMagic(16385,OP_SELL)==false ){

if(Ask <=OrderOpenPrice()-breakeven*Point)SellOrders(OP_SELL, LotsCount(1),NormalizeDouble(OrderOpenPrice(),4), NormalizeDouble(Ask,4), NormalizeDouble(OrderTakeProfit(),4), TimeToStr(Time[0]),16383);

}

if(OrderMagicNumber()==16383 && CheckMagic(16381,OP_SELL)==true && CheckMagic(16385,OP_SELL)==false)

{

if(Ask <=OrderOpenPrice()-breakeven*Point)SellOrders(OP_SELL, LotsCount(0.5),NormalizeDouble(OrderOpenPrice(),4), NormalizeDouble(Ask,4), NormalizeDouble(OrderTakeProfit(),4), TimeToStr(Time[0]),16385);

}

}

}

}

Первые три ордера работают нормально, когда я тестирую.

Позже я получаю ошибку 130

Вы можете видеть на картинке ниже. Пожалуйста, помогите.

Файлы:
error130.jpg  193 kb
 

Обработка кросс-овера

Я пытаюсь написать советника для бэктестинга Gann_HiLo_Activator_v2. Этот индикатор пересчитывает свое значение в течение бара. В конце бара значение устанавливается, примерно так же, как RSI/MACD. Моя проблема заключается в том, чтобы прибить крест.

Иногда бар пересекает линию Ганна, а иногда не пересекает, то есть Open[0] или Close[0] не охватывают значение линии Ганна. Как я могу закрепить этот крест, чтобы советник подхватывал его, когда цена падает выше или ниже этой линии. Это нужно делать только один раз за бар, поэтому я использовал Volume[0]>1 в качестве фильтра.

 

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

Я хочу, чтобы мой код выполнялся каждую секунду, а не каждый тик. Как это возможно?

Заранее спасибо.

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

Я хочу, чтобы мой код выполнялся каждую секунду, а не каждый тик. Как это возможно?

Заранее спасибо.

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

Да, вам нужно использовать SCRIPT для этого вместо советника,

и в функции запуска использовать что-то вроде этого:

while(true) // allways true

{

//ДЕЛАЕМ ОРДЕРА ЗДЕСЬ ИЛИ ЧТО-ТО В ЭТОМ РОДЕ

Sleep(1000);//1000 милисекунд = 1 секунда

}

С уважением

Кейл

 

Помогите пожалуйста с математикой

Удалено, я разобрался.

 

Определение конца бара временного периода по тикам в Metatrader

Проблема, с которой я сталкиваюсь при кодировании советников, заключается в том, что Metatrader моделирует индикатор для каждого бара в пределах временного периода с тиками - например, с данными Minute 5, он моделирует каждый бар, вместо того, чтобы работать с концом бара временного периода, как это делают индикаторы.

Кто-нибудь знает, как с этим бороться - как заставить его работать как индикаторы для временного периода, а не входить в каждый бар для временного периода?

Спасибо!

Эндрю Хаас

 

продать советника

Я хотел спросить у вас, имею ли я право продавать EA, который я сделал? Законно ли это, если нет, то что делать? Спасибо и извините за E-sh

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