Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 151

 
Forexman77 :
Bir işlemin açıldığı çubuğun en yüksek veya en düşük seviyesinde nasıl stop ayarlayacağınızı söyleyebilir misiniz?

Maksimum ise, durma yerine Yüksek[ ], minimum ise Düşük[ ], ancak iki şeyi unutmayın.


1. Bu, bayi tarafından belirlenen durma mesafesi ve mesafesidir.

2. Oluşmakta olan çubuğa doğru şekilde stop koyamazsınız. Bu, Yüksek[0]. Ama sadece önceki çubuklarda. Onlar. Yüksek[1], vb.

 
satorifx :

Tünaydın.

Bana çizelgedeki 2 koordinat sistemini programlı olarak nasıl bağlayacağımı söyle: (X, Y) ve (zaman, fiyat)? Her zaman grafikteki en düşük fiyatta olacak olan (X,Y) koordinatlarına sahip bir etikete ihtiyacımız var.

artmedia70 :
Farklılıklar var. Genel olarak grafikte, yani. terminalde bulunan tüm geçmiş üzerinde mi yoksa görünür bir çizelgede mi (monitör ekranında)?


Monitör ekranındaki görünür grafik üzerindedir.

 
satorifx :

Monitör ekranındaki görünür grafik üzerindedir.

Bu komut dosyasını grafiğe atın:

 //+------------------------------------------------------------------+
//|                                       sc_LowestPricePerChart.mq4 |
//|                               Copyright 2013, Artyom A. Trishkin |
//|                          artmedia70@gmail.com, Skype: Artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, Artyom A. Trishkin"
#property link       "artmedia70@gmail.com, Skype: Artmedia70"
//+------------------------------------------------------------------+
//|           script program start function                                    |
//+------------------------------------------------------------------+
int start() {
   int count=WindowBarsPerChart();                             // количество видимых баров 
   int LowestBar=iLowest( Symbol (), Period (),MODE_LOW,count, 0 );   // бар с минимальной ценой
   double LowestPricePerChart=Low[LowestBar];                   // минимальная цена из видимых баров
   SetArrow( 5 , Yellow, "sc_LowestPricePerChart_LowestPrice" , Time[LowestBar], LowestPricePerChart, 1 );
   return ( 0 );
}
//+------------------------------------------------------------------+
void SetArrow( int cd, color cl, string nm= "" , datetime t1= 0 , double p1= 0 , int sz= 0 ) {
   if ( ObjectFind (nm)< 0 ) ObjectCreate (nm, OBJ_ARROW , 0 , 0 , 0 );
   ObjectSet(nm, OBJPROP_TIME1    , t1);
   ObjectSet(nm, OBJPROP_PRICE1   , p1);
   ObjectSet(nm, OBJPROP_ARROWCODE , cd);
   ObjectSet(nm, OBJPROP_COLOR     , cl);
   ObjectSet(nm, OBJPROP_WIDTH     , sz);
}
//+------------------------------------------------------------------+

Analojiyle, maksimum için yapın

 
artmedia70 :

Bu komut dosyasını grafiğe atın:

Analoji ile, maksimum için yapın


Gerçek şu ki, ARROW nesnesinin koordinatları (zaman, fiyat) vardır, ancak koordinatları (x, y) yoktur. Evet, belirli bir fiyat seviyesinde sabitlenir ve örneğin ekranın alt kısmındaki gösterge penceresi yukarı doğru genişletilirse, nesne pencere ile birlikte hareket eder, ancak nesnenin koordinatları (x,y) pencere değişir ve bunları hesaplamanın bir yolu yoktur, çünkü iki koordinat sistemi arasında bağlantı yoktur. Prensip olarak ARROW yerine bir TEXT nesnesi veya başka bir nesne alabilirsiniz, ancak bu sorunu çözmez.
 
satorifx :
Gerçek şu ki, ARROW nesnesinin koordinatları (zaman, fiyat) vardır, ancak koordinatları (x, y) yoktur. Evet, belirli bir fiyat seviyesinde sabitlenir ve örneğin ekranın alt kısmındaki gösterge penceresi yukarı doğru genişletilirse, nesne pencere ile birlikte hareket eder, ancak nesnenin koordinatları (x,y) pencere değişir ve bunları hesaplamanın bir yolu yoktur, çünkü iki koordinat sistemi arasında bağlantı yoktur. Prensip olarak ARROW yerine bir TEXT nesnesi veya başka bir nesne alabilirsiniz, ancak bu sorunu çözmez.

O zaman beyazı sıcağa bağla. Görünen çubuklarda minimum fiyatı nasıl bulacağınız ve grafikte nasıl işaretleyeceğiniz gösterildi.

Gerisi - benim için belirsiz İstek Listeniz;)

 
Sepulca :



Ne söylemek istediğini tam olarak anlamadın mı? Dosya yoksa (açılmamış) veya okuma sırasında hata oluşur. Bu bir mesaj verdi, ama haber yok ...
 
Kodu, anlaşmanın açıldığı barda, spike oluşursa pozisyondan çıkış olacak şekilde, spike ile bardan hemen sonra bir sonraki barda, ancak barlardaki sinyaller olacak şekilde yazmak gerekir. anlaşmanın açıldığı çubuktan sonra, başak ortaya çıktı. Sivri ucu açıklayan kodda herhangi bir sorun yok. Zorluk, programa sinyal için sadece anlaşmanın açıldığı çubuğu kullandığımızı nasıl söyleyeceğimizdir.
 
Forexman77 :
Kodu, anlaşmanın açıldığı barda, spike oluşursa pozisyondan çıkış olacak şekilde, spike ile bardan hemen sonra bir sonraki barda, ancak barlardaki sinyaller olacak şekilde yazmak gerekir. anlaşmanın açıldığı çubuktan sonra, başak ortaya çıktı. Başak'ı açıklayan kodda herhangi bir sorun yok. Zorluk, programa sinyal için sadece anlaşmanın açıldığı çubuğu kullandığımızı nasıl söyleyeceğimizdir.
Anlaşmanın bir açılış saati var OrderOpenTime(); Ve size zamana göre bar numarasını gösterecek bir fonksiyon var iBarShift(); Bu çubuktur ve "... sinyal için kullandığımız şey, sadece anlaşmanın açık olduğu çubuk ..." olarak kullanın.
 
artmedia70 :
Anlaşmanın bir açılış saati var OrderOpenTime(); Ve size zamana göre bar numarasını gösterecek bir fonksiyon var iBarShift(); Bu çubuktur ve "... sinyal için kullandığımız şey, sadece anlaşmanın açık olduğu çubuk ..." olarak kullanın.

Teşekkürler, inceleyeceğim.
 
Zolotai :

Ne söylemek istediğini tam olarak anlamadın mı? Dosya yoksa (açılmamış) veya okuma sırasında hata oluşur. Bu bir mesaj verdi, ama haber yok ...

Handle=FileOpen(File_Name,FILE_CSV|FILE_READ| FILE_WRITE ,";");// Dosyayı aç.

FILE_WRITE, FILE_READ ile birleştirilmezse sıfır uzunlukta bir dosya açılır. Açılmadan önce dosyada veri olsa bile yok edilecektir.
Mevcut bir dosyaya veri eklemek gerekirse, FILE_READ | FILE_WRITE .
FILE_READ, FILE_WRITE ile birleştirilmezse, dosya yalnızca zaten varsa açılacaktır. Dosya yoksa, onu FILE_WRITE modunu kullanarak oluşturabilirsiniz.