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

 

Помогите пожалуйста дописать советнику стоп лосс что только не пробывал ну не получаеться:(.Спасибо

-----------------------------------------+

//| Order_v_Day.mq4 |

//| Copyright © 2010, forex-grail.ru |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2010, forex-grail.ru"

#property link "forex-grail.ru"



double Lots = 0.01; // лот

extern int H = 0 ; // час выставления ордера

extern int SL = 0; // стоплосс в пп.

extern int TP = 20; // тейкпрофит в пп.

int Slippage = 2; // проскальзывание

int Magic = 70111; // магик


int ticketsell, ticketbuy;

double bid, ask;

string com = "O&D";




int init()

{

return(0);

}


int deinit()

{


return(0);

}

bool isBullish(int shift, int tf = PERIOD_D1) { return(iClose(NULL, tf, shift) > iOpen(NULL, tf, shift)); }

bool isBearish(int shift, int tf = PERIOD_D1) { return(iClose(NULL, tf, shift) < iOpen(NULL, tf, shift)); }

int start()

{

int TotalNumber = 0;

for(int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

if (OrderMagicNumber() != Magic || OrderSymbol() != Symbol()) continue;

TotalNumber++;

}

if (TotalNumber == 0)

{

ticketsell = 0;

ticketbuy = 0;

}

if(Hour() == H && Minute() == 5 && TotalNumber == 0) // Время открытия ордеров

{


if (isBearish(1)) // Если предыдущая свеча на D1 "межвежья" то покупаем

{

RefreshRates();

double ask = NormalizeDouble(MarketInfo(Symbol(),MODE_ASK), Digits);

ticketbuy = OrderSend(Symbol(),OP_BUY,Lots,ask,Slippage,0,ask+TP*Point,com,Magic,0,Blue);

}


if (isBullish(1)) // Если предыдущая свеча на D1 "бычья" то продаем

{

RefreshRates();

double bid = NormalizeDouble(MarketInfo(Symbol(),MODE_BID), Digits);

ticketsell = OrderSend(Symbol(),OP_SELL,Lots,bid,Slippage,0,bid-TP*Point,com,Magic,0,Red);

}


}

return(0);

}

 
Zhunko:
Выкладывайте архив. У себя посмотрю.

файл EURUSD5.csv размером 44.5 МБ ужал раром EURUSD5.rar до 7.7 МБ

http://files.mail.ru/E2FN87

 
rosman:

файл EURUSD5.csv размером 44.5 МБ ужал раром EURUSD5.rar до 7.7 МБ

http://files.mail.ru/E2FN87

Это же CSV!!! Его надо в HST преобразовать, чтобы виден на графике был. Воспользуйтесь импортом в архиве котировок.
 
leonid553:

Вместо

ticketbuy = OrderSend(Symbol(),OP_BUY,Lots,ask,Slippage, 0, ask+TP*Point,com,Magic,0,Blue);

попробуйте

ticketbuy = OrderSend(Symbol(),OP_BUY,Lots,ask,Slippage,bid-SL* Point, ask+TP*Point,com,Magic,0,Blue);

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

А для ticketsell, аналогично

вместо нуля: ask+SL* Point

Поменял так советник перестал ордера открывать:(
 
leonid553:

Вместо

ticketbuy = OrderSend(Symbol(),OP_BUY,Lots,ask,Slippage, 0, ask+TP*Point,com,Magic,0,Blue);

попробуйте

ticketbuy = OrderSend(Symbol(),OP_BUY,Lots,ask,Slippage,bid-SL* Point, ask+TP*Point,com,Magic,0,Blue);

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

А для ticketsell, аналогично

вместо нуля: ask+SL* Point

мета трейдел в журнале пишет:2011.10.02 13:34:37 2010.11.23 00:05 Order_v_Day_v_1.0 EURUSD,Daily: invalid stoploss for OrderSend function

 
(nikolai123:
мета трейдел в журнале пишет:2011.10.02 13:34:37 2010.11.23 00:05 Order_v_Day_v_1.0 EURUSD,Daily: invalid stoploss for OrderSend function


В закачке

(предопределенные переменные Ask & Bid пишутся с заглавной буквы)

 
leonid553:

В закачке
Работает огромное спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Вы гений:))))))))))))))))))))))))))))
 
Zhunko:
Это же CSV!!! Его надо в HST преобразовать, чтобы виден на графике был. Воспользуйтесь импортом в архиве котировок.
импорт нефига не преобразует, а экспорт не экспортирует такой формат как HST
 
rosman:
импорт нефига не преобразует, а экспорт не экспортирует такой формат как HST
Странно. У меня преобразует.
 
Вопрос по написанию советника. Подскажите, где найти материал по анализу баров из другого таймфрейма. Возможно есть стандартные функции? Или чтобы заново не писать код, может быть уже есть шаблоны?
Причина обращения: