[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 360

 

Всем добрый вечер!

Мне нужно закодировать следующий алгоритм.

Поставить отложенный ордер SELLSTOP в момент открытия  нулевой свечи

ТОЛЬКО ЕСЛИ  на данной свече SELLSTOP уже не выставлен.

Т.е. на одной  нулевой свече поставить  один SELLSTOP... и не более.

Данную идею применительно к рыночному ордеру  SELL  я успешно реализую в этом коде

===========================================================

int last_order_bar = 0;                                                           
int  ot = OrdersTotal();                                                           
                                                           
 if (ot>0) //если есть ордера в рынке (и рыночные и ОТЛОЖЕННЫЕ)                                             
                                                        
   if (OrderSelect (ot-1,SELECT_BY_POS)) //выбрали последний ордер                                                           
      if ( OrderType ()==OP_SELL) //если это открытый  рыночный ордер  SELL

         last_order_bar = iBarShift (Symbol (),0,OrderOpenTime ())//запоминаем порядковый N свечи на котором открылся данный рыночный ордер  SELL

       (ot==0 || last_order_bar>0) //если ордеров нет либо последний ордер открыт не на текущем баре   

       if( Bid ==iOpen (Symbol (),0,0))//если цена =цене открытия бара

                                                      // открыть ордер

Не могу применить данный алгоритм к отложенным ордерам поскольку OrderOpenTime () в качестве параметра  iBarShift ( ),если я не ошибаюсь, возвращает время открытия только  рыночного ордера,

а не выставления отложенного.

Подскажите пожалуйста каким образом в качестве параметра в iBarShift ( ) передать время выставления отложенного ордера?

Или как еще можно реализовать нужный мне замысел?

Спасибо.

 
solnce600:

Подскажите пожалуйста каким образом в качестве параметра в iBarShift ( ) передать время выставления отложенного ордера?

после открытия отложки сохранить время его открытия в глобальную переменную,

в имя переменной внести тикет, для отличия одной переменной от отложки от другой

+ контролировать закрытые/удаленные отложки, чтоб чистить переменные из памяти.
 
sergeev:

после открытия отложки сохранить время его открытия в глобальную переменную,

в имя переменной внести тикет, для отличия одной переменной от отложки от другой

+ контролировать закрытые/удаленные отложки, чтоб чистить переменные из памяти.

А какая функция возвращает время открытия последнего отложенного ордера?

Например применительно к рыночному ордеру понятно OrderOpenTime () возвращает время открытия последнего рыночного ордера?

Или сохранить время открытия отложки можно не прибегая к функции?

Если это так - буду Вам оооочень признателен если покажете в коде как это делается?

Спасибо большое за оперативный ответ.

 
solnce600:

А какая функция возвращает время открытия последнего отложенного ордера?

в вашем случае - вам нужно сохранять Time[0]
 
sergeev:
в вашем случае - вам нужно сохранять Time[0]

ОК.Спасибо.
 

Всем привет!

пишу некое подобие индюка который бы использовал сигналы от RSIOMA и ни как не могу получить нужные мне значения буферов marsiomaXupSig и marsiomaXdnSig. В коде RSIOMA есть следующие строки   SetIndexBuffer(6,marsiomaXupSig);  SetIndexBuffer(7,marsiomaXdnSig);"...." if(RSIBuffer[i+1]<=marsioma[i+1]&&RSIBuffer[i]>marsioma[i]) marsiomaXupSig[i] = -11;   if(RSIBuffer[i+1]>=marsioma[i+1]&&RSIBuffer[i]<marsioma[i]) marsiomaXdnSig[i] =  11;  в своем индюке я пытаюсь получить данные следующим образом  

double marsiomaXupSig = iCustom(NULL, Period(), "RSIOMA_v3",RSIOMA,RSIOMA_MODE,RSIOMA_PRICE,Ma_RSIOMA,Ma_RSIOMA_MODE,BuyTrigger,SellTrigger,BuyTriggerColor,SellTriggerColor,MainTrendLong,MainTrendShort,MainTrendLongColor,MainTrendShortColor,MajorTrend,marsiomaXupSigColor,marsiomaXdnSigColor,BarsToCount,6,0); 

double marsiomaXdnSig = iCustom(NULL, Period(), "RSIOMA_v3",RSIOMA,RSIOMA_MODE,RSIOMA_PRICE,Ma_RSIOMA,Ma_RSIOMA_MODE,BuyTrigger,SellTrigger,BuyTriggerColor,SellTriggerColor,MainTrendLong,MainTrendShort,MainTrendLongColor,MainTrendShortColor,MajorTrend,marsiomaXupSigColor,marsiomaXdnSigColor,BarsToCount,7,0);

по логике я должен был получить значения 11 и -11 , но при выводе значений в журнал я получаю только 2013.05.28 09:05:52 2013.01.04 11:29  my EA XAUUSD,H1: marsiomaXdnSig - 2147483647 2013.05.28 09:05:52 2013.01.04 11:29  my EA XAUUSD,H1: marsiomaXupSig - 2147483647 Что я делаю не так ?


 

Доброго дня! Я чего-то принялся составлять функцию,и вот, куча ошибок...  Вроде же все верно, уж минут 15-20 на ние смотрю.

RasstawimOrdera(int Raz,double Dist_pervaya,double Dist_dalshaya,double TP, double SL,double Lot) ................

 

 'RasstawimOrdera' - expression on global scope not allowed C:\Documents and Settings\User\Мои документы\FxClub\TeleTRADE\experts\Скобка.mq4 (73, 1)

 'Raz' - variable already defined C:\Documents and Settings\User\Мои документы\FxClub\TeleTRADE\experts\Скобка.mq4 (73, 21)

 'double' - variable expected C:\Documents and Settings\User\Мои документы\FxClub\TeleTRADE\experts\Скобка.mq4 (73, 25)

 'Dist_pervaya' - expression on global scope not allowed C:\Documents and Settings\User\Мои документы\FxClub\TeleTRADE\experts\Скобка.mq4 (73, 32)
                                                                                                                                                                                                                                         'Dist_pervaya' - variable not defined C:\Documents and Settings\User\Мои документы\FxClub\TeleTRADE\experts\Скобка.mq4 (73, 32)

И так далее, 




 Глючит порядком. Форум. При ответе жму пробел-курсор дрожит и бегает на один шаг вперед-назад, самороизвольно прыгает в начало,в верхний левый угол. Жму левым тачпадом на то место, где хочу продолжить писать- нет, курсор так и мигает вначале текста, и красит его синим и назад. Еще минут 10 ругался.

Написал в блокноте и скопировал.

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

 
Я уже кажется понял. Кто со мной думал, СПАСИБО!!!
 
А что это за RSIOMA?  Потом, очень внимательно проверьте все, что вы кладете в функцию, я так уже не помню, где у нее что .  А лучше, распечатайте принтами!
 

Нет...  Конечно, я типерь обьявил функцию, что она инт...  Но теперь

 'errorcomment' - expression on global scope not allowed C:\Documents and Settings\User\Мои документы\FxClub\TeleTRADE\experts\Конструктор.mq4 (80, 11)

Что это, куда смотреть? 

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