[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 251

 
Ibiss >> :

Ana ve sinyal hatlarının ters kesişiminde çıkış nasıl düzgün şekilde programlanır? aksi taktirde kısa sürelerde sinyaller alınır..ve siparişler olması gereken yerde kapatılmaz..

Bu soru uzun zamandır beni rahatsız ediyor! YARDIM!

İşte çıkış koşulu:


ben as değilim ama

 if ( OrderMagicNumber ( ) ! = MAGICMA | | OrderSymbol ( ) ! = Symbol ( ) ) continue ;

if (OMN, OMN'ye eşit değil veya OS, OS'ye eşit değil) {sonra devam et}


ancak bu, siparişin danışmana ait olmadığı anlamına gelir.

denemek

 if ( OrderMagicNumber ( ) ! = MAGICMA | | OrderSymbol ( ) ! = Symbol ( ) ) break ;
 
Ibiss >> :

Ana ve sinyal hatlarının ters kesişiminde çıkış nasıl düzgün şekilde programlanır? aksi taktirde kısa sürelerde sinyaller alınır..ve siparişler olması gereken yerde kapatılmaz..

Bu soru uzun zamandır beni rahatsız ediyor! YARDIM!

İşte çıkış koşulu:


Snachala narusyj sebe blok shemy svoego algoritması, chtob tu vuzyalno vudel chto tu delaesh ve po kakum yslovuyam ve tebya zakruvayutsya sipariş, bir vse eto delo perevestu v kod eto yge delaesh ve po kakum.

 

Beyler, söyleyin bana, her sipariş için çizelgede yorum göstermeye hazır bir şey var mı? Onlar. grafikte bir ok ve nedenin yanında bir yorum. Ve böylece test cihazında çizildi :)

Teşekkür ederim.

 
AndBar >> :

Snachala narusyj sebe blok shemy svoego algoritması, chtob tu vuzyalno vudel chto tu delaesh ve po kakum yslovuyam ve tebya zakruvayutsya sipariş, bir vse eto delo perevestu v kod eto yge delaesh ve po kakum.


Hey adamım şöyle veya böyle konuşabilir misin :) Gözlerimi çoktan kırdım. :)
 

pahalı , yardımcı olmadı, ama teşekkürler!

belki birisi karşıdan karşıya geçerken ve geri geçerken karşıt emirlerin nasıl açılıp kapatılacağını biliyordur!???

biraz sihir olmalı... ahhh...

Kaç farklı alım ve satım olması gerektiğini görüyor musunuz? Ve sadece bir kaç tane var...

Bu hastalık nasıl düzeltilebilir?

Kimin umurunda, koda bir göz atın! lütfen!

her şey danışman koduyla ilgili, türkiye değil..Bence..

ve dezavantajlar böyle .. düşmana dileyemezsiniz - %96 ... kimin umurunda :)

teorik olarak şöyle olmalı:


Dosyalar:
itrend.mq4  5 kb
 

Kısacası, global değişkenler ve eureka hakkında okuduktan sonra danışmanı yeniden yapmaya karar verdim!

ve kenelerde başka bir sorun vardı ...

takaslar tüm kavşaklarda açılır ama büyük bir AMA..çok büyük yığınlar halinde açılırlar...

Arkadaşlar bu sorunu nasıl çözebilirim? merhametli ol)))

işte ekran görüntüsü:


"Gösteri, kalbin zayıflığı için değil"

Dosyalar:
ggftest.mq4  3 kb
 
Ibiss >> :

pahalı, yardımcı olmadı, ama teşekkürler!

belki birisi karşıdan karşıya geçerken ve geri geçerken karşıt emirlerin nasıl açılıp kapatılacağını biliyordur!???

biraz sihir olmalı... ahhh...

Kaç farklı alım ve satım olması gerektiğini görüyor musunuz? Ve sadece bir kaç tane var...

Bu hastalık nasıl düzeltilebilir?

Kimin umurunda, koda bir göz atın! lütfen!

her şey danışman koduyla ilgili, türkiye değil..Bence..

ve dezavantajlar böyle .. düşmana dileyemezsiniz - %96 ... kimin umurunda :)

teorik olarak şöyle olmalı:



En kolay yol:

Her tikte 4 gösterge değişkenini başlatıyoruz. Kırmızı çizgi için iki, yeşil için iki. Sırasıyla, ticaret sinyallerinin iki değişkeni.

Bu durumda, EA kodu şöyle görünmelidir:

 // ------ Пользовательские переменные -------------------
extern bool CloseObr = true ; // закрывать ли противоположный ордер при возникновении торгового сигнала
// ---------- Вспомогательные переменные ------------
double Green_1 , Green_2 , Red_1 , Red_2 ; // значения индикатора на первой и второй свечках
bool SigBuy , SigSell ; // торговые сигналы
int TICKET ;

int start ( ) {
  Green_1 = iCustom ( * * * * ) ; // зелёная на первой свече
  Green_2 = iCustom ( * * * * ) ; // зелёная на второй свече
  Red_1 = iCustom ( * * * * ) ; // красная на первой свече
  Red_2 = iCustom ( * * * * ) ; // красная на второй свече
  
  // ------- формируем торговые сигналы -------------
  
  SigBuy = false ;
  SigSell = false ;
  
  if ( Green_2 < = Red_2 & & Green_1 > Red_1 ) { // зелёная пересекает красную снизу вверх
    SigBuy = true ;
  }
  if ( Green_2 > = Red_2 & & Green_1 < Red_1 ) { // зелёная пересекает красную сверху вниз
    SigSell = true ;
  }
  
  // ------ Сигналы сформированы. Торгуем ------------------
  if ( SigBuy ) {
    if ( CloseObr ) {
      // то удаляем все Sell-ордера
    }
    // --- противоположные удалены. Открываем позу
    . . . . . .
    TICKET = OrderSend ( тут пишем параметры установки лонга ) ;
  }
  if ( SigSell ) {
    if ( CloseObr ) {
      // то удаляем все Buy-ордера
    }
    // --- противоположные удалены. Открываем позу
    . . . . . .
    TICKET = OrderSend ( тут пишем параметры установки шорта ) ;
  }
}
Genel olarak, danışman böyle çalışmalıdır. Belki bu, bir dizi kodun en mükemmel versiyonu değildir, ancak yapısının mantığını iyi bir şekilde göstermektedir.
 

drknn, fikir ve kod için teşekkürler)!


Bir emir kalabalığıyla nasıl başa çıkacağınızı biliyor musunuz?)

 
Ibiss >> :

Kısacası, global değişkenler ve eureka hakkında okuduktan sonra danışmanı yeniden yapmaya karar verdim!

ve kenelerde başka bir sorun vardı ...

Bütün kavşaklarda esnaf açılır ama bir büyük AMA.. iri yığınlar halinde açılırlar...

Arkadaşlar bu sorunu nasıl çözebilirim? merhametli ol)))

işte ekran görüntüsü:


"Gösteri, kalbin zayıflığı için değil"



Peki o zaman şunu yapabilirsiniz:

 // ------ Пользовательские переменные -------------------
extern bool CloseObr = true ; // закрывать ли противоположный ордер при возникновении торгового сигнала
extern int MAGIC = 0 ; // у ордеров открытых вручную магик = 0
// ---------- Вспомогательные переменные ------------
double Green_1 , Green_2 , Red_1 , Red_2 ; // значения индикатора на первой и второй свечках
bool SigBuy , SigSell ; // торговые сигналы
int TICKET ;

int start ( ) {
  Green_1 = iCustom ( * * * * ) ; // зелёная на первой свече
  Green_2 = iCustom ( * * * * ) ; // зелёная на второй свече
  Red_1 = iCustom ( * * * * ) ; // красная на первой свече
  Red_2 = iCustom ( * * * * ) ; // красная на второй свече
  
  // ------- формируем торговые сигналы -------------
  
  SigBuy = false ;
  SigSell = false ;
  
  if ( Green_2 < = Red_2 & & Green_1 > Red_1 ) { // зелёная пересекает красную снизу вверх
    SigBuy = true ;
  }
  if ( Green_2 > = Red_2 & & Green_1 < Red_1 ) { // зелёная пересекает красную сверху вниз
    SigSell = true ;
  }
  
  // ------ Сигналы сформированы. Торгуем ------------------
  if ( SigBuy & & SchBuy ( MAGIC ) = = 0 ) {
    if ( CloseObr & & SchSell ( MAGIC ) > 0 ) {
      // то удаляем все Sell-ордера
    }
    // --- противоположные удалены. Открываем позу
    . . . . . .
    TICKET = OrderSend ( тут пишем параметры установки лонга ) ;
  }
  if ( SigSell & & SchSell ( MAGIC ) = = 0 ) {
    if ( CloseObr & & SchBuy ( MAGIC ) > 0 ) {
      // то удаляем все Buy-ордера
    }
    // --- противоположные удалены. Открываем позу
    . . . . . .
    TICKET = OrderSend ( тут пишем параметры установки шорта ) ;
  }
return ( 0 ) ;
}
// --------- Пользовательские подпрограммы -----------------

// ==========================================================================================================================
// ************************* Счётчики ордеров *******************************************************************************
// ==========================================================================================================================


//=========== SchBuy()  ===============================
//  Функция возвращает количество Buy-ордеров
//   SchBuy      - счётчик Buy ордеров
//-----------------------------------------------------------
int SchBuy ( int MAGIC ) {
  string SMB = Symbol ( ) ;
  int SchBuy = 0 ;
  int i ;
  for ( i = OrdersTotal ( ) - 1 ; i > = 0 ; i - - ) {
    if ( ! OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) ) { WriteError ( i ) ; }
    else {
      if ( OrderSymbol ( ) ! = SMB | | OrderMagicNumber ( ) ! = MAGIC ) { continue ; }
      if ( OrderType ( ) = = OP_BUY ) { 
        SchBuy + + ;
      }  
    }
  }
  return ( SchBuy ) ;
}                  
//==================================================================================================


//=========== SchSell()  ===============================
//  Функция возвращает количество Sell-ордеров
//  SchSell  - счётчик Sell ордеров
//-----------------------------------------------------------
int SchSell ( int MAGIC ) {
  string SMB = Symbol ( ) ;
  int SchSell = 0 ;
  int i ;
  for ( i = OrdersTotal ( ) - 1 ; i > = 0 ; i - - ) {
    if ( ! OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) ) { WriteError ( i ) ; }
    else {
      if ( OrderSymbol ( ) ! = SMB | | OrderMagicNumber ( ) ! = MAGIC ) { continue ; } 
      if ( OrderType ( ) = = OP_SELL ) {
        SchSell + + ;
      }
    }
  }
 return ( SchSell ) ;     
}                  
//==================================================================================================
 
Bond >> :

Beyler, söyleyin bana, her sipariş için çizelgede yorum göstermeye hazır bir şey var mı? Onlar. grafikte bir ok ve nedenin yanında bir yorum. Ve böylece test cihazında çizildi :)

Teşekkür ederim.


Test cihazında bile çizmek için program kodunu elinizle yapmanız gerekir.

Bu durumda, OrderSend() ve OrderClose() fonksiyonlarındaki okları ayarlamak daha iyidir.

Yorumlar farklı şekillerde görüntülenebilir. Hazır olanlardan - bunun oldukça spesifik bir görev olduğunu söyleyebilirim - hazır bir kod bulmanız pek olası değildir.

Burada MQL4 veritabanında, bir keresinde ticaret geçmişini grafikte gösteren senaryomu ortaya koydum. Daha sonra, diğer programcılar fikrimi "sıkıştırdı". Sadece açılış/kapanış emirlerinin noktalarını gösteren oklar ve çizgiler vardı. Diğer programcıların komut dosyaları daha sonra siparişler hakkında yürütme fiyatlarını gösteren yorumlar aldı. Muhtemelen burada bulabileceğiniz şey budur.