MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 61 1...545556575859606162636465666768...1953 Yeni yorum RichLux 2017.01.08 20:54 #601 if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70) { tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrBlue ); } if (SiparişSat< 1 && rsi<Urov_30 && rsi1>Urov_30) { tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrRed ); } ama ihtiyacın var if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70) { tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage, slBuy ,tpBuy, NULL ,MagicNumber, 0 , clrBlue ); } if (SiparişSat< 1 && rsi<Urov_30 && rsi1>Urov_30) { tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage, slSell , tpSell , NULL ,MagicNumber, 0 , clrRed ); } Any questions from newcomers Questions from Beginners MQL4 Yeni başlayanlardan sorular MQL4 Artyom Trishkin 2017.01.08 21:05 #602 Ibragim Dzhanaev : Yardım etmedi ( double tp,sl,OrderBuy= 0 ,OrderSell= 0 ; double slSell,slBuy,tpSell,tpBuy; int tiket; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit () { return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick () { for ( int i= 0 ; i< OrdersTotal (); i++) { if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) if ( OrderSymbol ()== _Symbol && OrderMagicNumber ()==MagicNumber) { if ( OrderType ()== OP_BUY ){} if ( OrderType ()== OP_SELL ){} } } double rsi= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 0 ); double rsi1= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 1 ); //+------------------------------------------------------------------+ double StopLossLevel; double TakeProfitLevel; if (StopLoss> 0 ) StopLossLevel= Bid -StopLoss* Point ; else StopLossLevel= 0.0 ; if (TakeProfit> 0 ) TakeProfitLevel= Ask +TakeProfit* Point ; else TakeProfitLevel= 0.0 ; tpBuy= NormalizeDouble ( Ask +TakeProfit* _Point , _Digits ); slBuy= NormalizeDouble ( Bid -StopLoss* _Point , _Digits ); tpSell= NormalizeDouble ( Bid -TakeProfit* _Point , _Digits ); slSell= NormalizeDouble ( Ask +StopLoss* _Point , _Digits ); ///--- if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70) { tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrBlue ); } if (OrderSell< 1 && rsi<Urov_30 && rsi1>Urov_30) { tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrRed ); } } //+------------------------------------------------------------------+ Bu kodla ne istiyorsunuz? Ne ve orada size ne yardımcı olmadı? [Silindi] 2017.01.08 21:08 #603 RichLux : if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70) { tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrBlue ); } if (SiparişSat< 1 && rsi<Urov_30 && rsi1>Urov_30) { tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrRed ); } ama ihtiyacın var if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70) { tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage, slBuy ,tpBuy, NULL ,MagicNumber, 0 , clrBlue ); } if (SiparişSat< 1 && rsi<Urov_30 && rsi1>Urov_30) { tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage, slSell , tpSell , NULL ,MagicNumber, 0 , clrRed ); } Her kene açılır ( double tp,sl,OrderBuy= 0 ,OrderSell= 0 ; double slSell,slBuy,tpSell,tpBuy; int tiket; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit () { return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick () { for ( int i= 0 ; i< OrdersTotal (); i++) { if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) if ( OrderSymbol ()== _Symbol && OrderMagicNumber ()==MagicNumber) { if ( OrderType ()== OP_BUY ){} if ( OrderType ()== OP_SELL ){} } } double rsi= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 0 ); double rsi1= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 1 ); //+------------------------------------------------------------------+ double StopLossLevel; double TakeProfitLevel; if (StopLoss> 0 ) StopLossLevel= Bid -StopLoss* Point ; else StopLossLevel= 0.0 ; if (TakeProfit> 0 ) TakeProfitLevel= Ask +TakeProfit* Point ; else TakeProfitLevel= 0.0 ; tpBuy= NormalizeDouble ( Ask +TakeProfit* _Point , _Digits ); slBuy= NormalizeDouble ( Bid -StopLoss* _Point , _Digits ); tpSell= NormalizeDouble ( Bid -TakeProfit* _Point , _Digits ); slSell= NormalizeDouble ( Ask +StopLoss* _Point , _Digits ); ///--- if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70) { tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage,slBuy,tpBuy, NULL ,MagicNumber, 0 , clrBlue ); } if (OrderSell< 1 && rsi<Urov_30 && rsi1>Urov_30) { tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage,slSell,tpSell, NULL ,MagicNumber, 0 , clrRed ); } } //+------------------------------------------------------------------+ Any questions from newcomers Why it doesn't work [Archive!] Any rookie question, [Silindi] 2017.01.08 21:09 #604 Artyom Trishkin : Bu kodla ne istiyorsunuz? Ne ve orada size ne yardımcı olmadı? Kodun nesi var? Her tikte açılmaması gereklidir. Artyom Trishkin 2017.01.08 21:13 #605 Ibragim Dzhanaev : Kodun nesi var? Evet, hepsi yanlış Sonuç olarak hiçbir şey yapmıyorsa ve geri dönmüyorsa, konum arama döngüsüne ne gerek var? Neden birden az sıfır değerine sahip değişkenleri kontrol ediyorsunuz ve her onayda açılmamasını bekliyorsunuz? Evet ve dürüst olmak gerekirse bir sürü saçmalık ... "Yeni Başlayanlar için MQL5 Hatalar, hatalar, sorular [Arşiv!] Sigara içilen oda Mickey Moose 2017.01.08 21:14 #606 Ben de aynı sorunu yaşıyorum, test cihazında her tikte açılıyor, ancak olmaması gerekiyor Çalışmak için minimum sipariş sayısına bir koltuk değneği koydum, ama bu bir yama, başka bir şey değil Bir şablon programlı olarak [ARŞİV] Forumu kirletmemek için [ARŞİV!] Forumu kirletmemek için Artyom Trishkin 2017.01.08 21:16 #607 trader781 : Ben de aynı sorunu yaşıyorum, test cihazında her tikte açılıyor, ancak olmaması gerekiyor Çalışmak için minimum sipariş sayısına bir koltuk değneği koydum, ama bu bir yama, başka bir şey değil Açık pozisyonların sayısını doğru bir şekilde sayarsanız, koltuk değneğine gerek yoktur. [Silindi] 2017.01.08 21:18 #608 Artyom Trishkin : Evet, hepsi yanlış Sonuç olarak hiçbir şey yapmıyorsa ve geri dönmüyorsa, konum arama döngüsüne ne gerek var? Neden birden az sıfır değerine sahip değişkenleri kontrol ediyorsunuz ve her onayda açılmamasını bekliyorsunuz? Evet ve dürüst olmak gerekirse bir sürü saçmalık ... Gerektiği gibi gönderin. Bilseydim, yapardım. Mickey Moose 2017.01.08 21:20 #609 Artyom Trishkin : Açık pozisyonların sayısını doğru bir şekilde sayarsanız, koltuk değneğine gerek yoktur. Bunlar kesinlikle sınırlandırılmamalıdır. kısa durumda void OnTick() { if( OrdersTotal ()== 0 ) //+-------------если количество ордеров равно 0 { if (( MathAbs (ma2-ma4)> 100 * _Point ) && ( MathAbs ( Bid -ma3)> 100 * Point ()) && (ma31>ma32>ma33)) //+-----покупка по 6+50 { ticket= OrderSend ( Symbol (), OP_BUY ,Lots, Ask , 50 , 0 , 0 , "" ,Magic, 0 , clrAzure ); //+------отправка 1 ордера } if (( Bid + 1000 * Point )>ma3 && ( Bid >ma1) && ( Bid >ma2)) //+-------------условие продажи { ticket= OrderSend ( Symbol (), OP_SELL ,Lots, Bid , 50 , 0 , 0 , "" ,Magic, 0 , clrAzure ); //+-----отправка 1 ордера } if (ticket== 0 ) { return ; } } //+---------------------------------------------------------если уже есть if (FindLastOType()== OP_BUY ) { if ( Ask <=FindLastOrderOpenPrice()-Step* Point ()) //+------------если ордер в минус { ticket= OrderSend ( Symbol (), OP_BUY ,(FindLastLot()*Martin), Ask , 50 , 0 , 0 , "" ,Magic, 0 , clrAzure ); } else if ( Ask >=FindLastOrderOpenPrice()+Step* Point ()) //+------------если ордер в плюс { ticket= OrderSend ( Symbol (), OP_BUY ,(FindLastLot()*Martin), Ask , 50 , 0 , 0 , "" ,Magic, 0 , clrAzure ); } } if (FindLastOType()== OP_SELL ) { if ( Bid >=FindLastOrderOpenPrice()+Step* Point ()) //+------------если ордер в минус { ticket= OrderSend ( Symbol (), OP_SELL ,(FindLastLot()*Martin), Bid , 50 , 0 , 0 , "" ,Magic, 0 , clrLightGray ); } else if ( Bid <=FindLastOrderOpenPrice()-Step* Point ()) //+------------если ордер в плюс { ticket= OrderSend ( Symbol (), OP_SELL ,(FindLastLot()*Martin), Bid , 50 , 0 , 0 , "" ,Magic, 0 , clrLightGray ); } } Trailingall(); } Açılış adımını göz ardı etmemem gerekiyor ve 200 beş haneli veya üç maliyeti var. Any questions from newcomers [UYARI, KONU KAPALI!] Forumu Forumu kirletmemek için herhangi [Silindi] 2017.01.08 21:25 #610 Bunu yaptım, şimdi her tıklamada açılmıyor, ancak giriş sinyallerini atlıyor... double tp,sl,OrderBuy= 0 ,OrderSell= 0 ; double slSell,slBuy,tpSell,tpBuy,TotalBiu,TotalSell; int tiket; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit () { return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick () { for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) //Цикл по всем ордерам { if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==MagicNumber) //Выбрали ордер { if ( OrderType ()== OP_BUY ) { TotalBiu++; //Кол. покупок } if ( OrderType ()== OP_SELL ) { TotalSell++; //Кол. продаж } } } double rsi= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 0 ); double rsi1= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 1 ); //+------------------------------------------------------------------+ double StopLossLevel; double TakeProfitLevel; if (StopLoss> 0 ) StopLossLevel= Bid -StopLoss* Point ; else StopLossLevel= 0.0 ; if (TakeProfit> 0 ) TakeProfitLevel= Ask +TakeProfit* Point ; else TakeProfitLevel= 0.0 ; tpBuy= NormalizeDouble ( Ask +TakeProfit* _Point , _Digits ); slBuy= NormalizeDouble ( Bid -StopLoss* _Point , _Digits ); tpSell= NormalizeDouble ( Bid -TakeProfit* _Point , _Digits ); slSell= NormalizeDouble ( Ask +StopLoss* _Point , _Digits ); ///--- if (TotalBiu== 0 ) if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70) { tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage,slBuy,tpBuy, NULL ,MagicNumber, 0 , clrBlue ); } if (TotalSell== 0 ) if (OrderSell< 1 && rsi<Urov_30 && rsi1>Urov_30) { tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage,slSell,tpSell, NULL ,MagicNumber, 0 , clrRed ); } } //+------------------------------------------------------------------+ Any questions from newcomers PROBLEM Questions from Beginners MQL4 1...545556575859606162636465666768...1953 Yeni yorum
if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70)
{
tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrBlue );
}
if (SiparişSat< 1 && rsi<Urov_30 && rsi1>Urov_30)
{
tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrRed );
}
ama ihtiyacın var
if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70)
{
tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage, slBuy ,tpBuy, NULL ,MagicNumber, 0 , clrBlue );
}
if (SiparişSat< 1 && rsi<Urov_30 && rsi1>Urov_30)
{
tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage, slSell , tpSell , NULL ,MagicNumber, 0 , clrRed );
}
Yardım etmedi (
double slSell,slBuy,tpSell,tpBuy;
int tiket;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
for ( int i= 0 ; i< OrdersTotal (); i++)
{
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
if ( OrderSymbol ()== _Symbol && OrderMagicNumber ()==MagicNumber)
{
if ( OrderType ()== OP_BUY ){}
if ( OrderType ()== OP_SELL ){}
}
}
double rsi= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 0 );
double rsi1= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 1 );
//+------------------------------------------------------------------+
double StopLossLevel;
double TakeProfitLevel;
if (StopLoss> 0 ) StopLossLevel= Bid -StopLoss* Point ; else StopLossLevel= 0.0 ;
if (TakeProfit> 0 ) TakeProfitLevel= Ask +TakeProfit* Point ; else TakeProfitLevel= 0.0 ;
tpBuy= NormalizeDouble ( Ask +TakeProfit* _Point , _Digits );
slBuy= NormalizeDouble ( Bid -StopLoss* _Point , _Digits );
tpSell= NormalizeDouble ( Bid -TakeProfit* _Point , _Digits );
slSell= NormalizeDouble ( Ask +StopLoss* _Point , _Digits );
///---
if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70)
{
tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrBlue );
}
if (OrderSell< 1 && rsi<Urov_30 && rsi1>Urov_30)
{
tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrRed );
}
}
//+------------------------------------------------------------------+
Bu kodla ne istiyorsunuz?
Ne ve orada size ne yardımcı olmadı?
if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70)
{
tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrBlue );
}
if (SiparişSat< 1 && rsi<Urov_30 && rsi1>Urov_30)
{
tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage,sl,tp, NULL ,MagicNumber, 0 , clrRed );
}
ama ihtiyacın var
if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70)
{
tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage, slBuy ,tpBuy, NULL ,MagicNumber, 0 , clrBlue );
}
if (SiparişSat< 1 && rsi<Urov_30 && rsi1>Urov_30)
{
tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage, slSell , tpSell , NULL ,MagicNumber, 0 , clrRed );
}
Her kene açılır (
double slSell,slBuy,tpSell,tpBuy;
int tiket;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
for ( int i= 0 ; i< OrdersTotal (); i++)
{
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
if ( OrderSymbol ()== _Symbol && OrderMagicNumber ()==MagicNumber)
{
if ( OrderType ()== OP_BUY ){}
if ( OrderType ()== OP_SELL ){}
}
}
double rsi= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 0 );
double rsi1= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 1 );
//+------------------------------------------------------------------+
double StopLossLevel;
double TakeProfitLevel;
if (StopLoss> 0 ) StopLossLevel= Bid -StopLoss* Point ; else StopLossLevel= 0.0 ;
if (TakeProfit> 0 ) TakeProfitLevel= Ask +TakeProfit* Point ; else TakeProfitLevel= 0.0 ;
tpBuy= NormalizeDouble ( Ask +TakeProfit* _Point , _Digits );
slBuy= NormalizeDouble ( Bid -StopLoss* _Point , _Digits );
tpSell= NormalizeDouble ( Bid -TakeProfit* _Point , _Digits );
slSell= NormalizeDouble ( Ask +StopLoss* _Point , _Digits );
///---
if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70)
{
tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage,slBuy,tpBuy, NULL ,MagicNumber, 0 , clrBlue );
}
if (OrderSell< 1 && rsi<Urov_30 && rsi1>Urov_30)
{
tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage,slSell,tpSell, NULL ,MagicNumber, 0 , clrRed );
}
}
//+------------------------------------------------------------------+
Bu kodla ne istiyorsunuz?
Ne ve orada size ne yardımcı olmadı?
Kodun nesi var?
Her tikte açılmaması gereklidir.
Kodun nesi var?
Evet, hepsi yanlış
Sonuç olarak hiçbir şey yapmıyorsa ve geri dönmüyorsa, konum arama döngüsüne ne gerek var?
Neden birden az sıfır değerine sahip değişkenleri kontrol ediyorsunuz ve her onayda açılmamasını bekliyorsunuz?
Evet ve dürüst olmak gerekirse bir sürü saçmalık ...
Ben de aynı sorunu yaşıyorum, test cihazında her tikte açılıyor, ancak olmaması gerekiyor
Çalışmak için minimum sipariş sayısına bir koltuk değneği koydum, ama bu bir yama, başka bir şey değil
Ben de aynı sorunu yaşıyorum, test cihazında her tikte açılıyor, ancak olmaması gerekiyor
Çalışmak için minimum sipariş sayısına bir koltuk değneği koydum, ama bu bir yama, başka bir şey değil
Evet, hepsi yanlış
Sonuç olarak hiçbir şey yapmıyorsa ve geri dönmüyorsa, konum arama döngüsüne ne gerek var?
Neden birden az sıfır değerine sahip değişkenleri kontrol ediyorsunuz ve her onayda açılmamasını bekliyorsunuz?
Evet ve dürüst olmak gerekirse bir sürü saçmalık ...
Gerektiği gibi gönderin.
Bilseydim, yapardım.
Açık pozisyonların sayısını doğru bir şekilde sayarsanız, koltuk değneğine gerek yoktur.
Bunlar kesinlikle sınırlandırılmamalıdır.
kısa durumda
void OnTick()
{
if( OrdersTotal ()== 0 ) //+-------------если количество ордеров равно 0{
if (( MathAbs (ma2-ma4)> 100 * _Point )
&& ( MathAbs ( Bid -ma3)> 100 * Point ())
&& (ma31>ma32>ma33)) //+-----покупка по 6+50
{
ticket= OrderSend ( Symbol (), OP_BUY ,Lots, Ask , 50 , 0 , 0 , "" ,Magic, 0 , clrAzure ); //+------отправка 1 ордера
}
if (( Bid + 1000 * Point )>ma3 && ( Bid >ma1) && ( Bid >ma2)) //+-------------условие продажи
{
ticket= OrderSend ( Symbol (), OP_SELL ,Lots, Bid , 50 , 0 , 0 , "" ,Magic, 0 , clrAzure ); //+-----отправка 1 ордера
}
if (ticket== 0 )
{
return ;
}
}
//+---------------------------------------------------------если уже есть
if (FindLastOType()== OP_BUY )
{
if ( Ask <=FindLastOrderOpenPrice()-Step* Point ()) //+------------если ордер в минус
{
ticket= OrderSend ( Symbol (), OP_BUY ,(FindLastLot()*Martin), Ask , 50 , 0 , 0 , "" ,Magic, 0 , clrAzure );
}
else
if ( Ask >=FindLastOrderOpenPrice()+Step* Point ()) //+------------если ордер в плюс
{
ticket= OrderSend ( Symbol (), OP_BUY ,(FindLastLot()*Martin), Ask , 50 , 0 , 0 , "" ,Magic, 0 , clrAzure );
}
}
if (FindLastOType()== OP_SELL )
{
if ( Bid >=FindLastOrderOpenPrice()+Step* Point ()) //+------------если ордер в минус
{
ticket= OrderSend ( Symbol (), OP_SELL ,(FindLastLot()*Martin), Bid , 50 , 0 , 0 , "" ,Magic, 0 , clrLightGray );
}
else
if ( Bid <=FindLastOrderOpenPrice()-Step* Point ()) //+------------если ордер в плюс
{
ticket= OrderSend ( Symbol (), OP_SELL ,(FindLastLot()*Martin), Bid , 50 , 0 , 0 , "" ,Magic, 0 , clrLightGray );
}
}
Trailingall();
}
Bunu yaptım, şimdi her tıklamada açılmıyor, ancak giriş sinyallerini atlıyor...
double slSell,slBuy,tpSell,tpBuy,TotalBiu,TotalSell;
int tiket;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) //Цикл по всем ордерам
{
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==MagicNumber) //Выбрали ордер
{
if ( OrderType ()== OP_BUY )
{
TotalBiu++; //Кол. покупок
}
if ( OrderType ()== OP_SELL )
{
TotalSell++; //Кол. продаж
}
}
}
double rsi= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 0 );
double rsi1= iRSI ( _Symbol , 0 ,RSIperiod, PRICE_CLOSE , 1 );
//+------------------------------------------------------------------+
double StopLossLevel;
double TakeProfitLevel;
if (StopLoss> 0 ) StopLossLevel= Bid -StopLoss* Point ; else StopLossLevel= 0.0 ;
if (TakeProfit> 0 ) TakeProfitLevel= Ask +TakeProfit* Point ; else TakeProfitLevel= 0.0 ;
tpBuy= NormalizeDouble ( Ask +TakeProfit* _Point , _Digits );
slBuy= NormalizeDouble ( Bid -StopLoss* _Point , _Digits );
tpSell= NormalizeDouble ( Bid -TakeProfit* _Point , _Digits );
slSell= NormalizeDouble ( Ask +StopLoss* _Point , _Digits );
///---
if (TotalBiu== 0 )
if (OrderBuy< 1 && rsi>Urov_70 && rsi1<Urov_70)
{
tiket= OrderSend ( _Symbol , OP_BUY ,Lot, Ask ,slippage,slBuy,tpBuy, NULL ,MagicNumber, 0 , clrBlue );
}
if (TotalSell== 0 )
if (OrderSell< 1 && rsi<Urov_30 && rsi1>Urov_30)
{
tiket= OrderSend ( _Symbol , OP_SELL ,Lot, Bid ,slippage,slSell,tpSell, NULL ,MagicNumber, 0 , clrRed );
}
}
//+------------------------------------------------------------------+