//+------------------------------------------------------------------+ //| live-limit-ctrlA.mq4 | //| Copyright © 2009, Borys Chekmasov | //| http://uatrader.blogspot.com | //| version 2.3 | //+------------------------------------------------------------------+ //| Ñêðèïò ïðåäíàçíà÷åí äëÿ êîìôîðòíîé ïèïñîâêè ëèìèòíèêàìè íà æèâîì | //| ãðàôèêå. Ñîçäàéòå íà ãðàôèêå ëèíèþ ñ èìåíåì "GO!". Ïåðåòàùèòå åå | //| íà óðîâåíü, ñ êîòîðîãî ïëàíèðóåòñÿ îñóùåñòâëÿòü âõîä.| //| Äëÿ àêòèâàöèè îðäåðà íàæìèòå ãîðÿ÷óþ êëàâèøó àêòèâàöèè ñêðèïòà | //| àêòèâèðóåòñÿ îðäåð ñ âûñòàâëåííûì ðèñêîì (MoneyRisk, â äîëëàðàõ) | //| è ñîîòíîøåíèåì ïðîôèò ê ñòîïó (ProfitLoss) èç ïàðàìåòðîâ ñêðèïòà.| //+------------------------------------------------------------------+ #property copyright "Copyright © 2009, Borys Chekmasov" #property link "http://uatrader.blogspot.com" double Lots = 0.1; //ðàçìåð ëîòà double MoneyRisk = 30; //ðèñê íà ñäåëêó (â äîëëàðàõ) double ProfitLoss=3;//îòíîøåíèå ðàçìåðà ïðîôèòà ê ðàçìåðó ëîññà double open_level, stop_level, profit_level; double symbol_mode, symbol_tik_sise,symbol_tikk_value,symbol_lotsize,leverage_lev ; double delta_stop; int start() { //---- symbol_mode = MarketInfo (Symbol(),MODE_PROFITCALCMODE); symbol_tik_sise = MarketInfo (Symbol(),MODE_TICKSIZE); symbol_tikk_value = MarketInfo (Symbol(),MODE_TICKVALUE); symbol_lotsize = MarketInfo (Symbol(),MODE_LOTSIZE); leverage_lev = AccountLeverage(); // Âû÷èñëÿåì ñòîï switch (symbol_mode) { case 0: // Forex, â ñëó÷àå êðîññîâ íå çàáûâàåì âêëþ÷àòü â îáçîðå ðûíêà îñíîâíûå ïàðû if (StringSubstr(Symbol(), 3, 3)=="USD") delta_stop = MoneyRisk/(Lots*symbol_lotsize); if (StringSubstr(Symbol(), 0, 3)=="USD") delta_stop =(Bid*MoneyRisk)/(Lots*symbol_lotsize); if (StringFind(Symbol(), "USD", 0) == -1) // êðîñêóðñû { if (MarketInfo("USD"+StringSubstr(Symbol(), 3, 3),MODE_BID)>0) delta_stop = (MarketInfo("USD"+StringSubstr(Symbol(), 3, 3),MODE_BID)*MoneyRisk)/(Lots*symbol_lotsize); if (MarketInfo(StringSubstr(Symbol(), 0, 3)+"USD",MODE_BID)>0) delta_stop = MoneyRisk/(Lots*symbol_lotsize*MarketInfo(StringSubstr(Symbol(), 0, 3)+"USD",MODE_BID)); } break; case 1: //CFD ñòîêè, êîìèññèè íå ó÷èòûâàþòñÿ!! delta_stop = MoneyRisk/(Lots*symbol_lotsize); break; default: // ôüþ÷è, êîìèññèè íå ó÷èòûâàþòñÿ!! delta_stop = (MoneyRisk*symbol_tik_sise)/(Lots*symbol_tikk_value); break; } if (ObjectFind("GO!")>0) { //âûñòàâëÿåì îòëîæêó: open_level = ObjectGet("GO!", OBJPROP_PRICE1); if (open_level>Bid) OrderSend(Symbol(),OP_SELLLIMIT,Lots,open_level,0,(open_level+delta_stop),(open_level-(delta_stop*ProfitLoss)),"",777,0,Red); if (open_level<Bid) OrderSend(Symbol(),OP_BUYLIMIT,Lots,open_level,0,(open_level-delta_stop),(open_level+(delta_stop*ProfitLoss)),"",777,0,Red); } //---- return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
It automatically opens orders when conditions are reached
Other Features: