привязка к ТФ - страница 2

 

И куда, интересно, ты его вставил? Я знаю три "блока" - инит, деинит и старт. Про блок Ордер Сендов впервые слышу. Посмотри стандартный советник (мувинг Авераж например).

Там есть функция проверки стоит ли открываться:

void CheckForOpen()


{
double ma;
int res;
//---- go trading only for first tiks of new bar
if(Volume[0]>1) return;
//---- get Moving Average
ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---- sell conditions
if(Open[1]>ma && Close[1]<ma)
{
res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);
return;
}
//---- buy conditions
if(Open[1]<ma && Close[1]>ma)
{
res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue);
return;
}
//----
}

Здесь используется индикатор iMA, т.е. там где нужно его значение. Точно также и с iOpen(...)

А дальше, в функции старт вызов этой функции

if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();


Если Вы хотите прогнать на всех таймфреймах за один прогон оптимизации, то надо добавить внешнюю переменную:

extern int TimeFrame1=15;

 и поставить галочку при оптимизации

 
ннда, как все оказалось сложно-то
 
delyus:
ннда, как все оказалось сложно-то

Я вообще в шоке, что хоть кто-то знает как это делать! Это ж запредельное программирование, ассемблер отдыхает!

 
Kharin:

И куда, интересно, ты его вставил? Я знаю три "блока" - инит, деинит и старт. Про блок Ордер Сендов впервые слышу. Посмотри стандартный советник (мувинг Авераж например).

Там есть функция проверки стоит ли открываться:

void CheckForOpen()

Здесь используется индикатор iMA, т.е. там где нужно его значение. Точно также и с iOpen(...)

А дальше, в функции старт вызов этой функции

if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();


Если Вы хотите прогнать на всех таймфреймах за один прогон оптимизации, то надо добавить внешнюю переменную:

extern int TimeFrame1=15;

и поставить галочку при оптимизации

Люди еще и функции используют, а не суют весь код в одно место.

 
неужели нельзя такой простой вопрос решить просто?
 
Vinin:

Люди еще и функции используют, а не суют весь код в одно место.

Не хотел грузить еще и функциями (правда в примере привел-таки процедуру, не удержался)

 
delyus:
неужели нельзя такой простой вопрос решить просто?

Какой вопрос? в чем проблема?

Если все способы перепробованы и ничего не помогает, остается только прочитать инструкцию...

 

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

if (iOpen(NULL,15,1))

ругается так:

'iOpen' - comparison expression expected

какое такое сравнение выражения ожидается?

на всех ТФ разные результаты, есть даже прибыльные)) разве при привязке к определенному ТФ результаты на других ТФ могут различаться? везде же одинаково должно быть!

 
delyus:

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

if (iOpen(NULL,15,1))

ругается так:

'iOpen' - comparison expression expected

какое такое сравнение выражения ожидается?

на всех ТФ разные результаты, есть даже прибыльные)) разве при привязке к определенному ТФ результаты на других ТФ могут различаться? везде же одинаково должно быть!


Послушайте..

Всё же нельзя с таким уровнем знаний выводить вопросы на форум. Тем более, что Вы не читаете ответы или не хотите реагировать на них.

Ну, вот здесь что Вы написали?

В загаловке оператоа if ожидается сравнение величин, например, если яблок больше, чем груш, или Петя выше Васи, или цена такая-то больше цены такой-то.

А что у Вас написано? А у Вас: если яблоки .

Что если яблоки? Ну, и что дальше?


Почитайте немного, прежде чем писать..

 

СК,

дальше идет сам алгоритм входа и ордер сенд


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

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