MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 871

 

Bir dizi emir aşıldığında tf değiştirme işlevini yapıyorum. Neyi yanlış yapıyorum? m5'te normalde geçer ve sonra hayır

 extern string helper111= "Настройки Helper" ; //Helper
extern bool helperTRUE=TRUE;         //Вкл/Выкл Helper
extern bool timeM1=TRUE;             //Переключения на М старт когда ордера все закрыты
extern int helper_period= PERIOD_M5 ; //Периуд М старт в минутах
extern int helper_period0= PERIOD_H1 ; //Базовый таймфрейм работы советника
extern int order_period1= 6 ;         //Колво ордеров для переключения на Time 1
extern int helper_period1= PERIOD_D1 ; //Time 1 в минутах
extern int order_period2= 8 ;         //Колво ордеров для переключения на Time 2
extern int helper_period2= PERIOD_W1 ; //Time 2 в минутах


int helperrr()
{
   if (helperTRUE==TRUE) {  
   if (timeM1==TRUE && NumberOfPositions()== 0 ) ChartSetSymbolPeriod ( 0 , NULL , helper_period);
   else {
   if (((NumberOfPositions1()>= 0 && NumberOfPositions1()<order_period1)
   || (NumberOfPositions1()>= 0 && NumberOfPositions2()<order_period1)
   || (NumberOfPositions1()>= 0 && NumberOfPositions3()<order_period1)) && _Period != helper_period0)
   ChartSetSymbolPeriod ( 0 , NULL , helper_period0);
   if ((NumberOfPositions1()>=order_period1 && NumberOfPositions1()<order_period2 && OrderMagicNumber()==MagicNumber_1)
   || (NumberOfPositions2()>=order_period1 && NumberOfPositions2()<order_period2 && OrderMagicNumber()==MagicNumber_2)
   || (NumberOfPositions3()>=order_period1 && NumberOfPositions3()<order_period2 && OrderMagicNumber()==MagicNumber_3))
   ChartSetSymbolPeriod ( 0 , NULL , helper_period1);
   if ((NumberOfPositions1()>=order_period2 && OrderMagicNumber()==MagicNumber_1)
   || (NumberOfPositions2()>=order_period2 && OrderMagicNumber()==MagicNumber_2)
   || (NumberOfPositions3()>=order_period2 && OrderMagicNumber()==MagicNumber_3))
   ChartSetSymbolPeriod ( 0 , NULL , helper_period2);
   }
   }
   return ( 0 );
}
 
fxsaber :

dolar endeksi vb. (göstergeler?)

ticaret yapmak yasaktır , ancak kodunuz nasıl davranacak?

 
Igor Makanu :

dolar endeksi vb. (göstergeler?)

ticaret yapmak yasaktır , ancak kodunuz nasıl davranacak?

Bir Uzman Danışmandan Sahte Sipariş Gönder, ayarlarını belirlemenize her zaman izin vermez.


Sağladığım kod, sembolün ve diğerlerinin özelliklerinden bağımsız olarak herhangi bir danışmanın ayarlarını gösterir. Örneğin, bir tür danışman çalıştırın ve ardından bu komut dosyası aynı grafikte

 // Скрипт показывает, в каком режиме Long/Short запущен советник на данном чарте.
void OnStart ()
{
   Alert (LongShortToString());
}
 
fxsaber :

Bir Uzman Danışmandan Sahte Sipariş Gönder, ayarlarını belirlemenize her zaman izin vermez.


Sağladığım kod, sembolün ve diğerlerinin özelliklerinden bağımsız olarak herhangi bir danışmanın ayarlarını gösterir. Örneğin, bir tür danışman çalıştırın ve ardından bu komut dosyası aynı grafikte

kontrol edildi, çalışıyor, ancak

1. tartışmada https://www.mql5.com/ru/forum/214590/page6#comment_11947599

kodda bunu return(INIT_SUCCEEDED); ile değiştirmelisiniz. - test etmeye başladı, danışmanın nerede kaybolduğunu hemen anlamadım))

2. Danışmanın özelliklerini seçip başka bir “şafak” koyarsam neden TF'yi değiştirirken uyarının tekrar görünmediğini anlamıyorum, her şey yolunda

Библиотеки: Expert
Библиотеки: Expert
  • 2019.04.23
  • www.mql5.com
Expert: Автор: fxsaber...
 
fxsaber :

Bir Uzman Danışmandan Sahte Sipariş Gönder, ayarlarını belirlemenize her zaman izin vermez.


Sağladığım kod, sembolün ve diğerlerinin özelliklerinden bağımsız olarak herhangi bir danışmanın ayarlarını gösterir. Örneğin, bir tür danışman çalıştırın ve ardından bu komut dosyası aynı grafikte

kodunuzu danışmana eklemek mümkün mü?

 int testTicket= OrderSend ( Symbol (),OP_SELL, 0.01 , 0 , 3 , 0 , 0 , "Sell Try" , 1 , 0 ,CLR_NONE);
if ( GetLastError () == 4111 ) testLONG_SHORT= "Long Only Mode" ; 
testTicket= OrderSend ( Symbol (),OP_BUY, 0.01 , 0 , 3 , 0 , 0 , "Buy Try" , 1 , 0 ,CLR_NONE); 
if ( GetLastError () == 4110 ) testLONG_SHORT= "Short Only Mode" ;

bu kodla xauusd'da uzun ve kısa siparişleri durmadan açar

 
Lomonosov1991 :

kodunuzu danışmana eklemek mümkün mü?

Evet.


Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma

Lomonosov1991 , 2019.06.04 19:01

 int testTicket= OrderSend ( Symbol (),OP_SELL, 0.01 , 0 , 3 , 0 , 0 , "Sell Try" , 1 , 0 ,CLR_NONE);
if ( GetLastError () == 4111 ) testLONG_SHORT= "Long Only Mode" ; 
testTicket= OrderSend ( Symbol (),OP_BUY, 0.01 , 0 , 3 , 0 , 0 , "Buy Try" , 1 , 0 ,CLR_NONE); 
if ( GetLastError () == 4110 ) testLONG_SHORT= "Short Only Mode" ;

bu kodla xauusd'da uzun ve kısa siparişleri durmadan açar

Buradaki fikir, tam olarak sıfır hacme ihtiyaç duyulmasıdır.
 
fxsaber :

Evet.


Buradaki fikir, tam olarak sıfır hacme ihtiyaç duyulmasıdır.
0,01 lotluk bir hacim olmadan bile açılır
 int testTicket= OrderSend ( Symbol (),OP_SELL, 0 , 0 , 3 , 0 , 0 , "Sell Try" , 1 , 0 ,CLR_NONE);
if ( GetLastError () == 4111 ) testLONG_SHORT= "Long Only Mode" ; 
testTicket= OrderSend ( Symbol (),OP_BUY, 0 , 0 , 3 , 0 , 0 , "Buy Try" , 1 , 0 ,CLR_NONE); 
if ( GetLastError () == 4110 ) testLONG_SHORT= "Short Only Mode" ;

ve hiç çalışmıyor

 int testTicket= OrderSend ( Symbol (),OP_SELL, 0 , 0 , 0 , 0 , 0 , "Sell Try" , 1 , 0 ,CLR_NONE);
if ( GetLastError () == 4111 ) testLONG_SHORT= "Long Only Mode" ; 
testTicket= OrderSend ( Symbol (),OP_BUY, 0 , 0 , 0 , 0 , 0 , "Buy Try" , 1 , 0 ,CLR_NONE); 
if ( GetLastError () == 4110 ) testLONG_SHORT= "Short Only Mode" ;





 
Igor Makanu :

kontrol edildi, çalışıyor, ancak

1. tartışmada https://www.mql5.com/ru/forum/214590/page6#comment_11947599

kodda bunu return(INIT_SUCCEEDED); ile değiştirmelisiniz. - test etmeye başladı, danışmanın nerede kaybolduğunu hemen anlamadım))

Özellikle FAILED örneğinde, daha sonra ellerinizle ateş etmeyesiniz.

2. Danışmanın özelliklerini seçip başka bir “şafak” koyarsam neden TF'yi değiştirirken uyarının tekrar görünmediğini anlamıyorum, her şey yolunda

Uzun/Kısa değiştirilirken OnDeinit/OnInit çağrılmaz.

 
nasıl çalıştırılacağını anlamıyorum
Dosyalar:
 
fxsaber :

Uzun/Kısa değiştirilirken OnDeinit/OnInit çağrılmaz.

garip davranış, genellikle ayarlar penceresi çağrıldıktan sonra, OnIniT () yürütülür, peki, evet, evet


Lomonosov 1991 :
nasıl çalıştırılacağını anlamıyorum

bir örnek iliştirin, açın ve klasörlere dağıtın

Dosyalar:
MQL4.zip  5 kb