Basit bir senaryo yazdım (el ile karışıklık yaratmamak için, haber bülteninden önce grafiğe atmak için piyasaya her iki yöne yakın iki bekleyen emir yüklemek), çok daha kolay görünebilir, ancak işe yaramıyor , herhangi bir sipariş açmaz ve günlükte sadece betiğin şöyle ve böyle başarıyla yüklendiğini ve ardından hemen aynı saniyede kaldırıldığını yazar! Hatasız derler. Onu bir uzman formuna dönüştürdüm, yani. test cihazını kontrol etmek için init ve deinit eklendi, işe yaradı. Ama anladığınız gibi, bir uzmana değil, bir senaryoya ihtiyacım var.
Burada sorun ne? Şimdiden teşekkürler.
İşte komut dosyası kodu:
# mülkiyet telif hakkı "alexey15" #özellik bağlantısı "" #özellik gösterisi_onayla
harici int SL = 15; harici int TP = 90; harici int DELTA = 15; harici çift LOT = 0.1; harici int SLIP = 3;
//+------------------------------------------- --------------------+ //| komut dosyası programı başlatma işlevi | //+------------------------------------------- --------------------+ int başlangıç() { //---- double BUYPRICE = Sor + DELTA*Puan; double SELLPRICE = Teklif - DELTA*Puan; int OPEN_ORDER;
Merhaba. Bana yardım et lütfen. Tüm göstergelerle birlikte mt'yi kaldırdım, her şey tamamen. Şimdi kuruldu ve orada her şey olduğu gibi ve kaldı. Nasıl olunur? Belki başka bir yerde göstergelerin kopyaları ve diğer her şey saklanır?
Program Dosyalarından MT klasörünü yeni mi kaldırdınız yoksa sildiniz mi?
Basit bir senaryo yazdım (el ile karışıklık yaratmamak için, haber bülteninden önce grafiğe atmak için piyasaya her iki yöne yakın iki bekleyen emir yüklemek), çok daha kolay görünebilir, ancak işe yaramıyor , herhangi bir sipariş açmaz ve günlükte sadece betiğin şöyle ve böyle başarıyla yüklendiğini ve ardından hemen aynı saniyede kaldırıldığını yazar! Hatasız derler. Onu bir uzman formuna dönüştürdüm, yani. test cihazını kontrol etmek için init ve deinit eklendi, işe yaradı. Ama anladığınız gibi, bir uzmana değil, bir senaryoya ihtiyacım var.
Burada sorun ne? Şimdiden teşekkürler.
İşte komut dosyası kodu:
Kontrol. Senaryonuz çalışıyor.
Her ihtimale karşı, hata baskısını yazdırın:
int start()
{
//----double BUYPRICE = Ask + DELTA* Point ;
double SELLPRICE = Bid - DELTA* Point ;
int TicketBS,TicketSS;
TicketBS= OrderSend ( Symbol (),OP_BUYSTOP,LOT,BUYPRICE,SLIP,BUYPRICE-SL* Point ,BUYPRICE+TP* Point , NULL , 0 , 0 , Blue );
TicketSS= OrderSend ( Symbol (),OP_SELLSTOP,LOT,SELLPRICE,SLIP,SELLPRICE+SL* Point ,SELLPRICE-TP* Point , NULL , 0 , 0 , Red );
if (TicketBS<= 0 || TicketSS<= 0 ) Print ( "Error = " , GetLastError ());
//----return ( 0 );
}
Aldım ve basit bir senaryo yazdım (el ile karışıklık yaratmamak için haberlerin yayınlanmasından önce grafiğe atmak için piyasaya her iki yönde de bekleyen iki emir yüklemek), çok daha kolay görünüyordu, ancak çalışmıyor, herhangi bir sipariş açmıyor ve günlükte sadece komut dosyasının şu veya bu şekilde başarıyla yüklendiğini ve ardından hemen aynı anda kaldırıldığını yazıyor! Hatasız derler. Onu bir uzman formuna dönüştürdüm, yani. test cihazını kontrol etmek için init ve deinit eklendi, işe yaradı. Ama anladığınız gibi, bir uzmana değil, bir senaryoya ihtiyacım var.
Burada sorun ne? Şimdiden teşekkürler.
4 hanede çalışır. Beş işarette kontrol etmedim, ancak StopLevel seviyesinde kısıtlamalar için bir kontrol ekledim:
//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+externint SL = 15 ;
externint TP = 90 ;
externint DELTA = 15 ;
externdouble LOT = 0.1 ;
externint SLIP = 3 ;
//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+int start()
{
//----int StopLevel = MarketInfo( Symbol (),MODE_STOPLEVEL);
if (DELTA <= StopLevel) DELTA = StopLevel+ 1 ;
double BUYPRICE = Ask + DELTA* Point ;
double SELLPRICE = Bid - DELTA* Point ;
int OPEN_ORDER;
OPEN_ORDER= OrderSend ( Symbol (),OP_BUYSTOP,LOT,BUYPRICE,SLIP,BUYPRICE-SL* Point ,BUYPRICE+TP* Point , NULL , 0 , 0 , Blue );
OPEN_ORDER= OrderSend ( Symbol (),OP_SELLSTOP,LOT,SELLPRICE,SLIP,SELLPRICE+SL* Point ,SELLPRICE-TP* Point , NULL , 0 , 0 , Red );
//----return ( 0 );
}
//+------------------------------------------------------------------+
Prensip olarak, hatalardan kaçınmak için dört veya beş basamak için bir Nokta ayarı yapabilirsiniz. Delta seviyesi beş hanede on kat daha yüksek olması gerektiğinden, yani. 15 değil, 150 ve sırasıyla almalarla durur ...
Sonra şöyle görünecek:
//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+externint SL = 15 ;
externint TP = 90 ;
externint DELTA = 15 ;
externdouble LOT = 0.1 ;
externint SLIP = 3 ;
//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+int start()
{
//----double PointX;
if ( Digits == 5 || Digits == 3 ) PointX = Point * 10 ; // Корректировка Point под трёх- пятизнакif ( Digits == 4 || Digits == 2 ) PointX = Point ;
int StopLevel = MarketInfo( Symbol (),MODE_STOPLEVEL);
if (DELTA <= StopLevel) DELTA = StopLevel+ 1 ;
double BUYPRICE = Ask + DELTA*PointX;
double SELLPRICE = Bid - DELTA*PointX;
int OPEN_ORDER;
OPEN_ORDER= OrderSend ( Symbol (),OP_BUYSTOP,LOT,BUYPRICE,SLIP,BUYPRICE-SL*PointX,BUYPRICE+TP*PointX, NULL , 0 , 0 , Blue );
OPEN_ORDER= OrderSend ( Symbol (),OP_SELLSTOP,LOT,SELLPRICE,SLIP,SELLPRICE+SL*PointX,SELLPRICE-TP*PointX, NULL , 0 , 0 , Red );
//----return ( 0 );
}
//+------------------------------------------------------------------+
Söyle bana, lütfen, sorun ne? Danışmanı GBPUSD test cihazına koydum - her şey beklendiği gibi fırsatlar açar. DXH1 dolar endeksine koydum - pek fazla fırsat açmıyor: "130" hatası - Yanlış duruşlar. Dahası, neyin yanlış olduğu net değil - benzer durumlarda açılıyor, sonra açılmıyor, ama daha çok açmıyor. Dolar endeksi -100 ve 200 için spread ve stop seviyesi. GBPUSD -3 ve 4. için spread ve stop seviyesi. Dolar endeksindeki fiyatlar, örneğin 78.150, bir çiftte - 4 ondalık basamak. Ama önemli
İşte kodun bir parçası:
hazırlıksız:
1) SL ve TP normalleştirilmemiştir;
2) OrderSend'de normalizasyon için Digits kullanılırken Symb ile sipariş verilir.
2) OrderSend'de normalleştirme sırasında Digits kullanılırken Symb ile sipariş verilir.
Şu şekilde deneyin:
Çok teşekkürler ! Nadiren de olsa çalıştı, bazen aynı hata hala kayar - 130 ....... (Her zaman stopları normalleştirmeniz mi yoksa sadece endekslerde mi? (Sanırım, stoplar her zaman normalizasyon olmadan döviz çiftlerinde işe yaradı).
Her şey buradaydı C:\Users\======\AppData\Local\VirtualStore\Program Files\====== - MetaTrader\
manzara
Lütfen bana söyle.
Basit bir senaryo yazdım (el ile karışıklık yaratmamak için, haber bülteninden önce grafiğe atmak için piyasaya her iki yöne yakın iki bekleyen emir yüklemek), çok daha kolay görünebilir, ancak işe yaramıyor , herhangi bir sipariş açmaz ve günlükte sadece betiğin şöyle ve böyle başarıyla yüklendiğini ve ardından hemen aynı saniyede kaldırıldığını yazar! Hatasız derler. Onu bir uzman formuna dönüştürdüm, yani. test cihazını kontrol etmek için init ve deinit eklendi, işe yaradı. Ama anladığınız gibi, bir uzmana değil, bir senaryoya ihtiyacım var.
Burada sorun ne? Şimdiden teşekkürler.
İşte komut dosyası kodu:
# mülkiyet telif hakkı "alexey15"
#özellik bağlantısı ""
#özellik gösterisi_onayla
harici int SL = 15;
harici int TP = 90;
harici int DELTA = 15;
harici çift LOT = 0.1;
harici int SLIP = 3;
//+------------------------------------------- --------------------+
//| komut dosyası programı başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
//----
double BUYPRICE = Sor + DELTA*Puan;
double SELLPRICE = Teklif - DELTA*Puan;
int OPEN_ORDER;
OPEN_ORDER=SiparişGönder(Symbol(),OP_BUYSTOP,LOT,BUYPRICE,SLIP,BUYPRICE-SL*Puan,BUYPRICE+TP*Puan,NULL,0,0,Mavi);
OPEN_ORDER=OrderSend(Symbol(),OP_SELLSTOP,LOT,SELLPRICE,SLIP,SELLPRICE+SL*Puan,SELLPRICE-TP*Puan,NULL,0,0,Kırmızı);
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
Merhaba. Bana yardım et lütfen. Tüm göstergelerle birlikte mt'yi kaldırdım, her şey tamamen. Şimdi kuruldu ve orada her şey olduğu gibi ve kaldı. Nasıl olunur? Belki başka bir yerde göstergelerin kopyaları ve diğer her şey saklanır?
Lütfen bana söyle.
Basit bir senaryo yazdım (el ile karışıklık yaratmamak için, haber bülteninden önce grafiğe atmak için piyasaya her iki yöne yakın iki bekleyen emir yüklemek), çok daha kolay görünebilir, ancak işe yaramıyor , herhangi bir sipariş açmaz ve günlükte sadece betiğin şöyle ve böyle başarıyla yüklendiğini ve ardından hemen aynı saniyede kaldırıldığını yazar! Hatasız derler. Onu bir uzman formuna dönüştürdüm, yani. test cihazını kontrol etmek için init ve deinit eklendi, işe yaradı. Ama anladığınız gibi, bir uzmana değil, bir senaryoya ihtiyacım var.
Burada sorun ne? Şimdiden teşekkürler.
İşte komut dosyası kodu:
Kontrol. Senaryonuz çalışıyor.
Her ihtimale karşı, hata baskısını yazdırın:
Lütfen bana söyle.
Aldım ve basit bir senaryo yazdım (el ile karışıklık yaratmamak için haberlerin yayınlanmasından önce grafiğe atmak için piyasaya her iki yönde de bekleyen iki emir yüklemek), çok daha kolay görünüyordu, ancak çalışmıyor, herhangi bir sipariş açmıyor ve günlükte sadece komut dosyasının şu veya bu şekilde başarıyla yüklendiğini ve ardından hemen aynı anda kaldırıldığını yazıyor! Hatasız derler. Onu bir uzman formuna dönüştürdüm, yani. test cihazını kontrol etmek için init ve deinit eklendi, işe yaradı. Ama anladığınız gibi, bir uzmana değil, bir senaryoya ihtiyacım var.
Burada sorun ne? Şimdiden teşekkürler.
4 hanede çalışır. Beş işarette kontrol etmedim, ancak StopLevel seviyesinde kısıtlamalar için bir kontrol ekledim:
Prensip olarak, hatalardan kaçınmak için dört veya beş basamak için bir Nokta ayarı yapabilirsiniz. Delta seviyesi beş hanede on kat daha yüksek olması gerektiğinden, yani. 15 değil, 150 ve sırasıyla almalarla durur ...Sonra şöyle görünecek:
Günaydın !
Dizinlerdeki kimse sormayacak ...?
Günaydın !
Dizinlerdeki kimse sormayacak ...?
Bu doğru, indeksler.
Merhaba !
Söyle bana, lütfen, sorun ne? Danışmanı GBPUSD test cihazına koydum - her şey beklendiği gibi fırsatlar açar. DXH1 dolar endeksine koydum - pek fazla fırsat açmıyor: "130" hatası - Yanlış duruşlar. Dahası, neyin yanlış olduğu net değil - benzer durumlarda açılıyor, sonra açılmıyor, ama daha çok açmıyor. Dolar endeksi -100 ve 200 için spread ve stop seviyesi. GBPUSD -3 ve 4. için spread ve stop seviyesi. Dolar endeksindeki fiyatlar, örneğin 78.150, bir çiftte - 4 ondalık basamak. Ama önemli
İşte kodun bir parçası:
hazırlıksız:
1) SL ve TP normalleştirilmemiştir;
2) OrderSend'de normalizasyon için Digits kullanılırken Symb ile sipariş verilir.
Şu şekilde deneyin:
hazırlıksız:
1) SL ve TP normalleştirilmemiştir;
2) OrderSend'de normalleştirme sırasında Digits kullanılırken Symb ile sipariş verilir.
Şu şekilde deneyin: