[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 378

 
Dimka-novitsek :
Test işlemi sırasında görselleştirme testindeki verileri görüntülemek istedim. Bir Uzman Danışmanın testini yapıyorum. Yol boyunca, aynı çizelgeye sürüklüyorum, tam da bu şeyi içeren başka bir Uzman Danışman çizelgeye sürüklüyorum. Ve yorumları göremiyorum! Danışman gülümser..


Böyle çalışmayacak. Görsel bir test çizelgesine sürüklenen bir Uzman Danışman ya hiçbir şey göstermeyecek ya da test cihazında değil hesapta ne olduğunu gösterecek (Emin değilim, bir şekilde bunu oluşturmak için yeterli yaratıcılık yoktu: )

 

Biliyorsun, yorumun yazısını grafikte göremiyorum.

 int start()
  { Comment ( "OrdersProfit  " ,OrderProfit(), "AccountBalance  " ,AccountBalance(), "Equity  " ,AccountEquity());
//----
   double Itogo_Profit=Orderasthitaem();
   if (Itogo_Profit>ProfitSeriyniy){Pozuminusudalaem();}
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 
Integer :

Vadim, kullanmayı denedin mi? Nifiga senkronize olmuyor. Geçenlerde onunla oynadı. Kendiniz sıraya girmelisiniz. Ne yazık ki, sadece satırın kodunu üç ile azaltmanıza izin verir. Ya ben bir şey anlamadım.
Denemedim. Şimdi deneyeceğim. Artık her şeyi DLL'de yapıyorum. Orada daha kolay.
 
Teşekkürler Tamsayı!!
 

Anlıyorum. init() ile yazıldı
{
//----
Yorum ("OrderKarı",OrderKarı(),"HesapDengesi",HesapBalance(),"Equity",AccountEquity());
//----
dönüş(0);
}

Test cihazında hiçbir şey yok. İyi...

 

Dimka-novitsek :


Anlıyorum. init() ile yazıldı
{
//----
Comment("SiparişKarı",SiparişKarı(),"HesapDengesi",HesapBalance(),"Özkaynak",HesapEquity());
//----
dönüş(0);
}

Test cihazında hiçbir şey yok. İyi...


Belki bunun eklendiği Uzman Danışman hala bir yorum çıktı işlevine sahiptir? Yakında Expert Advisor'da Comment() işlevinin çağrılıp çağrılmadığını kontrol edin.

OrderProfit()'i görüntülemek için önce sipariş seçilmelidir.

Yine de... İnternette bunu yapmanın ne anlamı var? start() içinde yapılması gereklidir.

 
Integer :


Belki bunun eklendiği Uzman Danışman hala bir yorum çıktı işlevine sahiptir? Yakında Expert Advisor'da Comment() işlevinin çağrılıp çağrılmadığını kontrol edin.

OrderProfit()'i görüntülemek için önce sipariş seçilmelidir.

Yine de... İnternette bunu yapmanın ne anlamı var? start() içinde yapılması gereklidir.



İnternette, saçmalığımın en azından bir şeyler yazıp yazmadığını görmek istedim, ama kene yok. Bu satırı init'te çoğalttım. Ve OrderProfit() ile evet, işi batırdım!!

İşte burada bir gizem ortaya çıkıyor. Düşünmek!!! 4063 Tamsayı türü için beklenen parametre

burada-

OrderClose(  Orderasthitaem[i, 0 , 1 ], Orderasthitaem[i, 0 , 2 ], Bid, 5 , 0 ) ; Error= GetLastError (); 

Çift dizi. Bilet-tam olarak bir tamsayı ve bir bilet, ancak bir kopya olduğu ortaya çıktı. Çift işlevden bir tamsayı nasıl alınır?

Affedersiniz, hiç anlamıyorum.

 
Integer :

Vadim, kullanmayı denedin mi? Nifiga senkronize olmuyor. Geçenlerde onunla oynadı. Kendiniz sıraya girmelisiniz. Ne yazık ki, sadece satırın kodunu üç ile azaltmanıza izin verir. Ya ben bir şey anlamadım.

Sıra, diğer herhangi bir dilde olduğu gibi düzenlenir. Korunan bloğun giriş ve çıkışının organizasyonu yoluyla kendi başına.

Bu komut dosyası:

 #property show_inputs

extern int Pause = 1000 ;

int     hwndChart = NULL ; // Уникальный идентификатор скрипта.
string sName = "Condition" ;

void init()
 {
  hwndChart = WindowHandle( Symbol (), 0 );
   // Создаём глобальную переменную синхронизации скриптов.
   if (! GlobalVariableCheck (sName)) GlobalVariableSet (sName, 0 );
 }
 
void deinit()
 {
   GlobalVariableDel (sName);
 }

void start()
 {
   while (! IsStopped ())
   { // Начало блока синхронизации.
     GlobalVariableSetOnCondition (sName, hwndChart, 0 );
     if ( GlobalVariableGet (sName) == hwndChart)
     {
       Print ( "Start" );
       Sleep (Pause); // Имитация работы.
       Print ( "End" );
     }
     GlobalVariableSetOnCondition (sName, 0 , hwndChart);
     // Завершение блока синхронизации.
     Sleep ( 200 );
   }
 }
Diğer işlevlerle değiştirmek gibi azaltma pahasına, çalışmayacaktır. Bu yüzden atomik erişim. MQL4'te bunu yalnızca bir işlev yapabilir.
tamsayı :
Onlar. sadece bu işlevi kullanmak, aynı anda yalnızca bir danışmanın çalıştığından emin olmanızı sağlar, ancak sıra sıralanmaz, bir danışman boşta kalabilir ve diğeri iki kez çağrılabilir.

İyi çalışıyor gibi görünüyor. 3000, 2000, 1000, 500, 300, 200 duraklamalı 6 komut dosyası yüklendi. İşte günlüğün bir parçası:

19:58:36 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Başlangıç
19:58:37 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Bitiş
19:58:37 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Başlangıç
19:58:39 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Bitiş
19:58:39 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Başlangıç
19:58:39 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Bitiş
19:58:39 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Başlangıç
19:58:43 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Bitiş
19:58:43 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Başlangıç
19:58:43 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Bitiş
19:58:43 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Başlangıç
19:58:45 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Bitiş
19:58:45 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Başlangıç
19:58:46 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Bitiş
19:58:46 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Başlangıç
19:58:46 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Bitiş
19:58:46 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Başlangıç
19:58:46 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Bitiş
19:58:46 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Başlangıç
19:58:47 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Bitiş
19:58:47 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Başlangıç
19:58:48 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Bitiş
19:58:48 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Başlangıç
19:58:50 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Bitiş
19:58:50 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Başlangıç
19:58:50 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Bitiş
19:58:50 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Başlangıç
19:58:54 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Bitiş
19:58:54 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Başlangıç
19:58:54 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Bitiş
19:58:54 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Başlangıç
19:58:56 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Bitiş
19:58:56 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Başlangıç
19:58:57 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Bitiş
19:58:57 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Başlangıç
19:59:00 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Bitiş
19:59:00 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Başlangıç
19:59:00 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Bitiş
19:59:00 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Başlangıç
19:59:01 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Bitiş

 
Tek seferde bir işlevin işlenmesi, ancak sıraya uyulmaması anlamında çalışır.
 
Dimka-novitsek :


...çift işlevden tamsayı nasıl alınır?

 int Int( double v){

return (v);

}