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

 

Kardeşler, yeni başlayanların girişimlerini göz ardı etmeyin!

Arşivlerde belirtilecek hazır bir komut dosyası (veya buna benzer bir şey) gerektirir

darbe gücü ve zamana göre filtreleme ile programa göre hareketler.

Yani mesela saat 14.00'de yukarı hareket başladı ve 14.45'te bitti.

Ve hareketin büyüklüğü 410 puandı (beş haneli hesaplama).

Peki, "geçmişte" grafikte bu tür hareketleri görsel olarak gösterecek böyle bir komut dosyası var mı?

ve böylece kuvvet-zamana göre değerler bağımsız olarak eklenebilir.

______

Lütfen bunun nasıl yapılacağı konusunda tavsiye verebilecekleri bir şube veya yer belirtin.

Programda - Aristoteles değil, ancak böyle bir senaryo yapmanın zor olmadığından şüpheleniyorum.

___

Bulunan bir delik gibi görünen şeyleri ve en önemlisi - filtrenin zamana ve güce göre parametrelerini paylaşmaya hazırım.

 
Chibrikin :

Sayın Baylar ve Bayanlar!

PFG FX tüccarı indirildi ve başlatıldı (en son sürüm). Bir gösterge yapmaya çalıştım.

Aynı anda iki bilmece:

1. Göstergem düzenleyicinin altından görünüyor, açılıyor ve hepsi bu, ancak dosya sisteminde bulamıyorum. Hiçbir şey, arama bile yok.

2. Gösterge bir dosya açar - keneler yazar. Yazıyor ve hata vermiyor ama dosyayı da bulamıyorum !!!!

Nasıl olabilir? Windows 7.


Yedide, bazı dosyalar bazen terminale değil, D:\Users\username\AppData\Local\VirtualStore\Program Files, ardından terminalin adı yerleştirilir.

Bu genellikle, farklı dizinlerde birden fazla terminal kuruluysa veya terminalde çok sayıda gösterge, uzman danışman veya diğer bazı kullanıcı dosyaları biriktiğinde olur.

 
TUNGUS :

Kardeşler, yeni başlayanların girişimlerini göz ardı etmeyin!

Arşivlerde belirtilecek hazır bir komut dosyası (veya buna benzer bir şey) gerektirir

darbe gücü ve zamana göre filtreleme ile programa göre hareketler.

Yani mesela saat 14.00'de yukarı hareket başladı ve 14.45'te bitti.

Ve hareketin büyüklüğü 410 puandı (beş haneli hesaplama).

Peki, "geçmişte" grafikte bu tür hareketleri görsel olarak gösterecek böyle bir komut dosyası var mı?

ve böylece kuvvet-zamana göre değerler bağımsız olarak eklenebilir.

______

Lütfen bunun nasıl yapılacağı konusunda tavsiye verebilecekleri bir şube veya yer belirtin.

Programda - Aristoteles değil, ancak böyle bir senaryo yapmanın zor olmadığından şüpheleniyorum.

___

Bulunan bir delik gibi görünen şeyleri ve en önemlisi - filtrenin zamana ve güce göre parametrelerini paylaşmaya hazırım.


Senaryodan ne istediğini anlamadım.
 

Acilen yardıma ihtiyacım var, kafam tamamen karıştı. İşte ticaret fonksiyonu ve emir değiştirme fonksiyonu:

 void OrdersModifying(double& sl, double& tp)
{
  int total = OrdersTotal() - 1;
  sl = 0; tp = 0;
  
  for(int i=total; i>=0; i--)
  {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true)                             // Если ордер есть и он выбран..
    {
      if(g_type == OP_BUY)
      {
        if(i_sl != 0)                                                                  // Если входной параметр стоп-лосса не равен 0, то..
           sl = NormalizeDouble(OrderOpenPrice() - i_sl*pt,Digits);                     // Получаем значение стоп-лосса для выбранного ордера
        if(i_tp != 0)                                                                  // Если входной параметр тейкпрофита не равен 0, то..
           tp = NormalizeDouble(OrderOpenPrice() + i_tp*pt,Digits);                     // Получаем значение тейкпрофита для выбранного ордера
      }
      if(g_type == OP_SELL)
      {
        if(i_sl != 0)                                                                  // Если входной параметр стоп-лосса не равен 0, то..
           sl = NormalizeDouble(OrderOpenPrice() + i_sl*pt,Digits);                 // Получаем значение стоп-лосса для выбранного ордера
        if(i_tp != 0)                                                                  // Если входной параметр тейкпрофита не равен 0, то..
           tp = NormalizeDouble(OrderOpenPrice() - i_tp*pt,Digits);                 // Получаем значение тейкпрофита для выбранного ордера
      }
      if(sl != 0 || tp != 0)                                                             // Если полученные значения sl и tp не равныы 0, то..
      {
        OrderModify(g_ticket,OrderOpenPrice(),sl,tp,OrderOpenTime() + 86400,Lime);       // Модифицируем ордер
      }
    }
  }
}
 bool OpenBuy()
{
  g_ticket = -1;
  string myNote =  "сов баянул" ;
  
  if(GetPriceToInput() < Ask)
  {       
    g_ticket = OrderSend(Symbol(),OP_BUYLIMIT,0.1,GetPriceToInput(),3,0,0,myNote,myMagic,0,Blue);
  }
    if(g_ticket > 0 && OrderSelect(g_ticket,SELECT_BY_TICKET,MODE_TRADES) == true)
 
  return(true);
}
 bool OpenSell()
{
  g_ticket = -1;
  string myNote =  "сов шортанул" ;
 
  if(GetPriceToInput() > Bid)
  {
    g_ticket = OrderSend(Symbol(),OP_SELLLIMIT,0.1,GetPriceToInput(),3,0,0,myNote,myMagic,0,Red);
  }
    if(g_ticket > 0 && OrderSelect(g_ticket,SELECT_BY_TICKET,MODE_TRADES) == true)
  
  return(true);
}
 bool Trade ( int signal)
{
  FindOrders();

   if (signal == SIGNAL_BUY)                                                           // Если сигнал на покупку и открытых ордеров нет..
     if (!OpenBuy())                                                                   // открываем лимитный ордер на покупку
       return ( false );                                                                
      
   if (signal == SIGNAL_SELL)                                                       // Если сигнал на продажу и открытых ордеров нет..
     if (!OpenSell())
       return ( false );                                                               // открываем лимитный ордер на продажу
  
  OrdersModifying(sl, tp); - ТУТ НЕ ВЪЕЗЖАЮ КАК БЫТЬ

   return ( true );
}

siparişlerin değiştirilmesi şu anda benim için çalışmıyor, ancak birkaç işlev bir aradayken her şey çalıştı. Ancak kolaylık sağlamak için tüm işlevlerin ayrı olmasını istiyorum. Genel olarak, siparişleri değiştirmek için OrdersModifying işlevine ihtiyacım var. Anladığım kadarıyla, mantıksal olarak, eklediğim Ticaret işlevine eklenmesi gerekiyor, ancak ona OrdersModifying işlevinden 2 parametre sl ve tp iletilmesi gerekiyor .

OrdersModifying işlevinin parametrelerinden doğru bir şekilde geçtim mi, yani . Değişkenleri sl ve tp?

 
hoz :

Acilen yardıma ihtiyacım var, kafam tamamen karıştı. İşte ticaret fonksiyonu ve emir değiştirme fonksiyonu:

siparişlerin değiştirilmesi şu anda benim için çalışmıyor, ancak birkaç işlev bir aradayken her şey çalıştı. Ancak kolaylık sağlamak için tüm işlevlerin ayrı olmasını istiyorum. Genel olarak, siparişleri değiştirmek için OrdersModifying işlevine ihtiyacım var. Anladığım kadarıyla, mantıksal olarak, eklediğim Ticaret işlevine eklenmesi gerekiyor, ancak ona OrdersModifying işlevinden 2 parametre sl ve tp iletilmesi gerekiyor .

OrdersModifying işlevinin parametrelerinden doğru bir şekilde geçtim mi, yani . Değişkenleri sl ve tp?

Bunu ilk siz yapın sl = 0; tp = 0; ve sonra if(sl != 0 || tp != 0).
 
rigonich :
Bunu ilk siz yapın sl = 0; tp = 0; ve sonra if(sl != 0 || tp != 0).


Vitaly , mesele burada açık. Görmek:

 void OrdersModifying( double & sl, double & tp)
{
   int total = OrdersTotal () - 1 ;
  sl = 0 ; tp = 0 ;
  
   for ( int i=total; i>= 0 ; i--)
  {
     if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES) == true )                             // Если ордер есть и он выбран..
    {
       if (g_type == OP_BUY)
      {
         if (i_sl != 0 )                                                                 // Если входной параметр стоп-лосса не равен 0, то..
           sl = NormalizeDouble (OrderOpenPrice() - i_sl*pt, Digits );                     // Получаем значение стоп-лосса для выбранного ордера
         if (i_tp != 0 )                                                                 // Если входной параметр тейкпрофита не равен 0, то..
           tp = NormalizeDouble (OrderOpenPrice() + i_tp*pt, Digits );                     // Получаем значение тейкпрофита для выбранного ордера
      }
       if (g_type == OP_SELL)
      {
         if (i_sl != 0 )                                                                 // Если входной параметр стоп-лосса не равен 0, то..
           sl = NormalizeDouble (OrderOpenPrice() + i_sl*pt, Digits );                 // Получаем значение стоп-лосса для выбранного ордера
         if (i_tp != 0 )                                                                 // Если входной параметр тейкпрофита не равен 0, то..
           tp = NormalizeDouble (OrderOpenPrice() - i_tp*pt, Digits );                 // Получаем значение тейкпрофита для выбранного ордера
      }
       if (sl != 0 || tp != 0 )                                                             // Если полученные значения sl и tp не равныы 0, то..
      {
        OrderModify(g_ticket,OrderOpenPrice(),sl,tp,OrderOpenTime() + 86400 ,Lime);       // Модифицируем ордер
      }
    }
  }
}

Başlangıçta sl = 0 ; tp = 0 ; Ayrıca, kullanıcı tarafından girilen i_sl ve i_tp'ye dayanarak, zaten sırada olacak olan sl ve tp'nin normalleştirilmiş değerlerini buluyorum. Ve sonra kontrol ediyorum   sl ve tp sıfır değildir, yani onları işlevin başında bildirdikten sonra değişti, sonra ... sırayı değiştir.

Peki, eğer   sl ve tp sıfıra eşittir, bu yüzden bu parametreler hesaplanmıyor ... anladığım kadarıyla. Bu değişkenlerin değerlerini alır almaz hemen sıfır olmayacaklar ve sıralama değiştirilebilir.. Mantıklı mı?

 
hoz :


Vitaly , mesele burada açık. Görmek:

Başlangıçta sl = 0 ; tp = 0 ; Ayrıca, kullanıcı tarafından girilen i_sl ve i_tp'ye dayanarak, zaten sırada olacak olan sl ve tp'nin normalleştirilmiş değerlerini buluyorum. Ve sonra kontrol ediyorum   sl ve tp sıfır değildir, yani onları işlevin başında bildirdikten sonra değişti, sonra ... sırayı değiştir.

Peki, eğer   sl ve tp sıfıra eşittir, bu yüzden bu parametreler hesaplanmıyor ... anladığım kadarıyla. Bu değişkenlerin değerlerini alır almaz hemen sıfır olmayacaklar ve sıralama değiştirilebilir.. Mantıklı mı?



Üzgünüm, gözlüksüz ve renkli olmayan bir şey görmedim, ancak neden parametreleri bu işleve ve ayrıca referans olarak iletiyorsunuz? i_sl,g_type... global değişkenlerse , parametresiz çalışacaktır ve bunları değiştirmeniz gerekiyorsa (değişkenler değiştirildikten sonra), değişiklikten sonra aynı fonksiyonda kaldırın.
 
rigonich :

Üzgünüm, gözlüksüz ve renkli olmayan bir şey görmedim, ancak neden parametreleri bu işleve ve ayrıca referans olarak iletiyorsunuz? i_sl,g_type... global değişkenlerse, parametresiz çalışacaktır ve bunları değiştirmeniz gerekiyorsa (değişkenler değiştirildikten sonra), değişiklikten sonra aynı fonksiyonda kaldırın.


Siparişler OpenBuy() ve OpenSell() işlevleri tarafından gönderilir, ancak siparişler OrdersModifying() işlevi tarafından değiştirilir

Onlar. Örneğin, değiştirme işlevinin Trade (int sinyali) veya OpenBuy () ve OpenSell () işlevlerine yerleştirilmesi umurumda değil, orada OrdersModifying () işlevinde alınan sl ve tp değerini iletmeniz gerekir. . Sonuçta o fonksiyonda bu değerler eksik.

 
hoz :


Siparişler OpenBuy() ve OpenSell() işlevleri tarafından gönderilir, ancak siparişler OrdersModifying() işlevi tarafından değiştirilir

Onlar. Örneğin, değiştirme işlevinin Trade (int sinyali) veya OpenBuy () ve OpenSell () işlevlerine yerleştirilmesi umurumda değil, orada OrdersModifying () işlevinde alınan sl ve tp değerini iletmeniz gerekir. . Sonuçta o fonksiyonda bu değerler eksik.


Sahip olduğunuz OpenBuy() ve OpenSell() işlevleri   sl ve tp olmadan sipariş verin ve ardından siparişler verilirse, OrdersModifying() işlevi tarafından değiştirilir. OrdersModifying() işlevini başka bir yere yerleştirmeye ve ona bazı parametreler iletmeye gerek görmüyorum . Bu fonksiyonda sadece sl ve tp değişkenleri bildirilmelidir. int sl = 0, tp = 0;

Üzgünüm, int değil, çift

 
rigonich :

Sahip olduğunuz OpenBuy() ve OpenSell() işlevleri   sl ve tp olmadan sipariş verin ve ardından siparişler verilirse, OrdersModifying() işlevi tarafından değiştirilir. OrdersModifying() işlevini başka bir yere yerleştirmeye ve ona bazı parametreler iletmeye gerek görmüyorum . Bu fonksiyonda sadece sl ve tp değişkenleri bildirilmelidir. int sl = 0, tp = 0;


Şu anda aşağıdaki ticaret işlevine sahibim:

 bool Trade ( int signal)
{
  FindOrders();

   if (signal == SIGNAL_BUY)                                                           // Если сигнал на покупку и открытых ордеров нет..
     if (!OpenBuy())                                                                   // открываем лимитный ордер на покупку
       return ( false );                                                                
      
   if (signal == SIGNAL_SELL)                                                       // Если сигнал на продажу и открытых ордеров нет..
     if (!OpenSell())
       return ( false );                                                               // открываем лимитный ордер на продажу
  
   if (OrderStopLoss() == 0 && OrderTakeProfit() == 0 )
    OrdersModifying();                                                             // Модифицируем ордер, добавим SL и TP
    
   if (UseBU == true )
     MovingStopLossToBU();                                                         // Перевод в б.у. по достижению некоторого значения TP

   return ( true );
}

Herhangi bir değişiklik yapılmamaktadır.