Menu
Brokers
MT4 Forex Brokers
MT5 Forex brokers
PayPal Brokers
Skrill Brokers
Oil Trading Brokers
Gold Trading Brokers
Web Browser Platform
Brokers with CFD Trading
ECN Brokers
Bitcoin FX Brokers
PAMM Forex Brokers
With Cent Accounts
With High Leverage
Cryptocurrency Brokers
Forums
All threads
New threads
New posts
Trending
Search forums
What's new
New threads
New posts
Latest activity
Log in
Register
Search
Search titles only
By:
Search titles only
By:
Menu
Install the app
Install
Reply to thread
Forums
Other Languages
Форекс форум на русском (Russian Forum)
Adjustable MA — экспертный советник
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Message
[QUOTE="Sulten, post: 76905, member: 33244"] Здравствуйте, не подскажете как сделать так чтобы сделка закрылась по пересечению двух 2 машек а не по тейк-профиту? extern string _1_ = "Настройки МА."; extern int period1 = 4; //период МА быстрой extern int ma_shift1 = 0;//сдвиг МА быстрой extern int period2 = 12; //период МА медленной extern int ma_shift2 = 0;//сдвиг МА медленной extern string _4_ = "Начальный лот ордера ."; extern double lott =0.1;//лот ордера extern string _13_ = "Общие параметры советника."; extern int slippage=10; //уровень допустимого реквота extern int Mag=4340; //магическое число . int tiketS=0, OP,OP1, tiketB=0,i; double MA_Fast, MA_Slow; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { if (Digits == 3 || Digits == 5){slippage *= 10;}//определение количества знаков. CheckOP();OP1=OP;//предварительная установка параметров. for( i=0; i<=OrdersTotal(); i++){//ищем тикеты открытых ордеров. if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) continue; if(OrderType()==OP_BUY && OrderSymbol()== Symbol() && OrderMagicNumber() == Mag)tiketB = OrderTicket(); if(OrderType()==OP_SELL && OrderSymbol()== Symbol() && OrderMagicNumber() == Mag)tiketS = OrderTicket(); } return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ void start() { // если быстрая скользящая больше медленной скользящей if (CheckOP()==0&&tiketB==0)//ордера бай не должно быть, условие по МА появилось для бай. { // открываем ордер на покупку и удаляем ордер на продажу. tiketB = OrderSend(Symbol(),OP_BUY ,lott,NormalizeDouble(Ask,Digits),slippage,0,0,"",Mag,0); if(tiketS > 0 && OrderClose(tiketS,lott,NormalizeDouble(Ask,Digits),slippage))tiketS = 0; } // если быстрая скользящая меньше медленной скользящей if (CheckOP()==1&&tiketS==0)//ордера сел не должно быть, условие по МА появилось для сел. { // открываем ордер на продажу и удаляем ордер на покупку. tiketS = OrderSend(Symbol(),OP_SELL,lott,NormalizeDouble(Bid,Digits),slippage,0,0,"",Mag,0); if(tiketB > 0 && OrderClose(tiketB,lott,NormalizeDouble(Bid,Digits),slippage))tiketB = 0; } OP1=OP;//запоминаем появившиеся условие. return; } //+------------------------------------------------------------------+ int CheckOP(){ [/QUOTE]
Insert quotes…
Verification
Post reply
Top
Bottom
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…