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

 
trader781 :

th - Nereye itmem gerektiğini anlamadım ve neden olmasın (-1)

bool giriş parametresi var

geçersiz OnTick

{açılış emirlerinin analizi, takip eden durdurma}

sondaki durdurmayı geçersiz kılmak

{mevcut fiyatın kapanış koşullarını karşılayıp karşılamadığı

eğer öyleyse, olan her şeyi kapsarız

}

Evet, genel olarak dönüşte; bu geçersiz

Ve mantığınızda ne var - bilmiyorum. Orada ne olduğunu tahmin etmemi nasıl önerirsin?
 
trader781 :

üç nokta

İkinci veya daha fazla sipariş açmamız gerekip gerekmediğinin ayarlandığı 1 nokta extern

2) ilk siparişi açmamız gereken koşul

3) sipariş kapanış noktası

Kodu kendim atabilirim ama herkes için aynı

Öyleyse, yardım gerekmiyorsa neden dalı çöpe atalım?

Mesajlarınızın ardındaki binlerce gereksiz sayfa arasında faydalı bulamayacaksınız.

PS Veya gönderileri maksimuma çıkarma göreviniz var mı?
 
trader781 :
O zaman bu üç nokta için bir anahtar devresi istiyorum. O zaman saçmalık olduğunu düşünüyorsan gönderilerimi sileceğim.

Bu nokta nedir?

İkinci veya daha fazla sipariş açmamız gerekip gerekmediğinin ayarlandığı 1 nokta extern

2) ilk siparişi açmamız gereken koşul

3) sipariş kapanış noktası

Ne istediğini bile anlıyor musun?

2 numaralı noktaya göre - sipariş açılamaz, yalnızca ayarlanabilir, kapatılamaz, ancak yalnızca silinebilir. Genel olarak, her şey her zaman bir şekilde mantıksal olarak tutarsız ve bulanıktır, milletvekili olmanız gerekir.

 

Bu kod parçası var:

if ( ObjectFind ( 0 ,nm)< 0 ) {
     ObjectCreate ( 0 ,nm, OBJ_TEXT , 0 , 0 , 0 );
     ObjectSetString ( 0 ,nm, OBJPROP_PRICE , TIME( 0 )+ Period ()* 60 * 3 ); // сдвиг вправо на 3 свечи
}

Soru: Beşte, Nokta () , H1'den bir dizi sayı olan M30'a kadar makul bir değer döndürür ve etiketi bu şekilde kaydırmak artık mümkün değildir.

Dönemden bağımsız olarak N - mumlarla nasıl geçiş yapılır? Neden ayrı bir fonksiyon yazmıyorsunuz?

 
Vitaly Muzichenko :

Bu kod parçası var:

if ( ObjectFind ( 0 ,nm)< 0 ) {
     ObjectCreate ( 0 ,nm, OBJ_TEXT , 0 , 0 , 0 );
     ObjectSetString ( 0 ,nm, OBJPROP_PRICE , TIME( 0 )+ Period ()* 60 * 3 ); // сдвиг вправо на 3 свечи
}

Soru: Beşte, Nokta () , H1'den bir dizi sayı olan M30'a kadar makul bir değer döndürür ve etiketi bu şekilde kaydırmak artık mümkün değildir.

Dönemden bağımsız olarak N - mumlarla nasıl geçiş yapılır? Neden ayrı bir fonksiyon yazmıyorsunuz?

PeriodSeconds ( PERIOD_CURRENT )* 3
 
Artyom Trishkin :
PeriodSeconds ( PERIOD_CURRENT )* 3

Teşekkür ederim!

Soru şu: Bu giriş ne kadar doğru, programın başında ve program boyunca çok fazla Zaman[0] ve Zaman[1] kullanılıyor ve her seferinde çağrılmamak için değişken olarak yazılır. Dizi sınırları dışında hata yok gibi görünüyor, ancak her şey yüzeysel olarak tanımlanmış:

datetime TM[], TIME0, TIME1;

//------------
void OnTimer ()

ArraySetAsSeries (TM, true );
   if ( CopyTime ( _Symbol , PERIOD_CURRENT , 0 , 2 , TM)==- 1 ) return ;
   TIME0 = TM[ 0 ];
   TIME1 = TM[ 1 ];

Teşekkür ederim!

 
Vitaly Muzichenko :

Bu nokta nedir?

İkinci veya daha fazla sipariş açmamız gerekip gerekmediğinin ayarlandığı 1 nokta extern

2) ilk siparişi açmamız gereken koşul

3) sipariş kapanış noktası

Ne istediğini bile anlıyor musun?

2 numaralı noktaya göre - sipariş açılamaz, yalnızca ayarlanabilir, kapatılamaz, ancak yalnızca silinebilir. Genel olarak, her şey her zaman bir şekilde mantıksal olarak tutarsız ve bulanıktır, milletvekili olmanız gerekir.

lütfen. İşte extern bool OpenOrders=false;//+---Bir sipariş aç parametresi

Emirleri açmak, kapatmak ve sonra ne olursa olsun kaynakları tüketmeden grafiğe tutunmak için ona ihtiyacım var.

şu anda kendi kendini kesiyor (çalışıyor ancak bir panel elemanı için kabul edilemez)

Dosyalar:
 
trader781 :

lütfen. İşte extern bool OpenOrders=false;//+---Bir sipariş aç parametresi

Emirleri açmak, kapatmak ve sonra ne olursa olsun kaynakları tüketmeden grafiğe tutunmak için ona ihtiyacım var.

şu anda kendi kendini kesiyor (çalışıyor ancak bir panel elemanı için kabul edilemez)

yapardım. Kodda "Devre Dışı" eklendi

PS 72. satırı "if( ! Disabled) return;" ile değiştirin. Bayrağın mantığının açık olduğunu düşünüyorum.
Dosyalar:
 
Vitaly Muzichenko :

yapardım. Kodda "Devre Dışı" eklendi

PS 72. satırı "if( ! Disabled) return;" ile değiştirin. Bayrağın mantığının açık olduğunu düşünüyorum.

Hayır, net değil. Geldiğimiz şeye dönüyoruz.

1) Devre Dışı=doğru

init'te true olarak başlat

ontik'e atla if(!Disabled) return;

aç kapa

devre dışı=yanlış; çıktı. Her şey harika.

2) Devre Dışı=yanlış

init'te true olarak başlat

ontik'e atla if(!Disabled) return;

aç kapa

devre dışı=yanlış; çıktı. Ve bir sonraki siparişi nerede açacağım? Seçeneklerden biri buna izin vermelidir.

Şimdi neden mantığı açıklamamı istediğim açık mı?

2 danışman seçeneği ve bende var.

 
trader781 :

Hayır, net değil. Geldiğimiz şeye dönüyoruz.

1) Devre Dışı=doğru

init'te true olarak başlat

ontik'e atla if(!Disabled) return;

aç kapa

devre dışı=yanlış; çıktı. Her şey harika.

2) Devre Dışı=yanlış

init'te true olarak başlat

ontik'e atla if(!Disabled) return;

aç kapa

devre dışı=yanlış; çıktı. Ve bir sonraki siparişi nerede açacağım ? Seçeneklerden biri buna izin vermelidir.

Şimdi neden mantığı açıklamamı istediğim açık mı?

2 danışman seçeneği ve bende var.

belirsiz. Danışmanı durdurmanız gerekiyorsa, önerilen seçenek bununla başa çıkabilir, durmanız gerekmiyorsa, ticaret yapmasına izin verin ve onu hiçbir şeyle sınırlamayın. Durduktan sonra talep üzerine işlem yapmanız gerekiyorsa, zamanı değiştirin, Devre Dışı gerçek olacak ve program çalışmaya devam edecektir.