[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 737

 
trader265:
Ребята, всем большое спасибо. Щась позанимаюсь с этим. Если че не получится, могу вас побеспокоить?

Даже если ни кого тут не будет сегодня, то Ваш пост увидят завтра. У нас же тут не офис :) из которого все сваливают по окончании рабочего дня :)
 
drknn:


Логика следующая:

Ограничение н 8 индикаторных буферов обусловлено самим языком. Ограничение на число прочих массивов ставить бессмысленно, так как оно всёравно не может перешагнуть за размер оперативной памяти + размер файла подкачки. Поэтому злоупотреблять не стОит.  Я имею ввиду что под массив выделяется некое количество оперативы.

Вот моя проблема: 'SymbolSellColor' - internal stack overflow-simplify the program, please

Увеличение стека - не помогает. Код - простейший, я не умею писать сложно. Оперативка, подкачка - не проблема, хватает.

 
Abzasc:

Вот моя проблема: 'SymbolSellColor' - internal stack overflow-simplify the program, please

Увеличение стека - не помогает. Код - простейший, я не умею писать сложно. Оперативка, подкачка - не проблема, хватает.


Спросите разработчиков - мож какие траблы есть, которых мы не знаем.
 

вопрос в чем ошибка почему не хочет открыватся отложеный ордер помогите плиз

extern int TakeProfit=100;
extern int StopLoss=100;
extern double Lot=0.01;
extern int StartTime=0;
int Today=0;
int h=100;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{if(DayOfWeek()==0 || DayOfWeek()==6) return(0); // в выходные не работаем
if(!IsTradeAllowed()) return(0); // пропустим тик если терминал занят
int total = OrdersTotal();
if(total == 0)

   {NewOrder(OP_BUY,Lot);
    NewOrder(OP_SELL,Lot);
    NewOrder(OP_BUYLIMIT,Lot);
    Today=TimeDay(TimeCurrent());}
return(0);}

  
//+------------------------------------------------------------------+
int NewOrder(int Cmd,double Lot)
{double TP=0; //тейкпрофит
double SL=0; //стоплосс
double PR=0; //Цена
double PR1=0; //Цена1
while(!IsTradeAllowed()) Sleep(100);
if(Cmd==OP_BUY)
   {PR=Ask;
    if(TakeProfit>0) TP=Ask+TakeProfit*Point;
    if(StopLoss>0) SL=Ask-StopLoss*Point;}
if(Cmd==OP_SELL)
   {PR=Bid;
    if(TakeProfit>0) TP=Bid-TakeProfit*Point;
    if(StopLoss>0) SL=Bid+StopLoss*Point;}
if(Cmd==OP_BUYLIMIT)
   {PR1=Ask-Point*h;
    if(TakeProfit>0) TP=PR+TakeProfit*Point;
    if(StopLoss>0) SL=PR-StopLoss*Point;}
int tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,0,0,CLR_NONE);
int tic1=OrderSend(Symbol(),Cmd,Lot,PR1,3,SL,TP,0,0,CLR_NONE);
if(tic<0) Print(GetLastError());
if(tic1<0) Print(GetLastError());
return(tic);}
 
FoxUA:

вопрос в чем ошибка почему не хочет открыватся отложеный ордер помогите плиз

Узнаю свои комменты в Вашем коде :))))))))))

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

 
drknn:
Узнаю свои комменты в Вашем коде :))))))))))

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


смотря де оставляли я тут ужо битых 3 часа этот конструктор лего собераю отовсюду по чючуть аот отложка не хочет открыватся а как это проверить если не тежело по руски а то мы молдоване по другому не понимаем шо и куда клацать надо ?
 
drknn:
Узнаю свои комменты в Вашем коде :))))))))))

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


КАЖИСЬ ПОНЯЛ а как зделать шоб после этой функции

int tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,0,0,CLR_NONE);


выступала следующия

int NewOrder1(int Cmd,double Lot)
{double TP=0; //тейкпрофит
double SL=0; //стоплосс
double PR1=0; //Цена1
while(!IsTradeAllowed()) Sleep(100);

if(Cmd==OP_BUYLIMIT)
   {PR1=Ask-Point*h;
    if(TakeProfit>0) TP=PR1+TakeProfit*Point;
    if(StopLoss>0) SL=PR1-StopLoss*Point;}

int tic1=OrderSend(Symbol(),Cmd,Lot,PR1,3,SL,TP,0,0,CLR_NONE);

if(tic1<0) Print(GetLastError());
return(tic1);}
 

все понял надо просто оператару задать не один праметр а через else

 

вопрос а какая функция отвечает в отлоенх ордерах за срок хранения а то шото я ее не наблюдаю а оно мне матерится 147 Использование даты истечения ордера запрещено брокером

 

expiration - срок истечения отложенного ордера. При наступлении этого срока отложенный ордер будет автоматически закрыт на торговом сервере. На некоторых торговых серверах может быть установлен запрет на применение срока истечения отложенных ордеров. В этом случае при попытке задать ненулевое значение параметра торговый приказ будет отклонён.

и какое значение ставить шоб он не откланял его

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