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

 
nemo811 :

demek istiyorsun

?

Denedim - yardımcı olmuyor.


Kayma, açılış fiyatından sonra en az 30'a 5!
 
borilunad :

Kayma, açılış fiyatından sonra en az 30'a 5!
Ah, ne demek istediğini anlıyorum. Verdiğim sapma hakkında.
 
nemo811 :
Böyle bir düşünce vardı. Deneyeceğim. Sayesinde.

Ayrıca, parantezler doğru yerleştirilmemiş:

     for (i= OrdersTotal ()- 1 ;i>= 0 ;i--)
    {
         if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
        { Alert ( "Ошибка " , GetLastError (), " выбора ордера!" );}
         else
        {
            SMB = OrderSymbol ();
            SchBuyLotsSMB = 0 ;
            SchSellLotsSMB = 0 ;
             for (ii= OrdersTotal ()- 1 ;ii>= 0 ;ii--)
            {
                 if (! OrderSelect (ii, SELECT_BY_POS, MODE_TRADES))
                { Alert ( "Ошибка " , GetLastError (), " выбора ордера!" );}
                 else
                {
                     if ( OrderSymbol () == SMB)
                    {
                         if ( OrderType ()==OP_BUY) {SchBuyLotsSMB += OrderLots ();}
                         if ( OrderType ()==OP_SELL) {SchSellLotsSMB += OrderLots ();}
                    }
                }
            }
            MarketLotSMB=SchBuyLotsSMB-SchSellLotsSMB;
             if (MarketLotSMB == 0.0 ) continue ;
             RefreshRates ();
             if (MarketLotSMB< 0 )
            {
                MarketLotSMB = MathAbs (MarketLotSMB);
                Price = MarketInfo (SMB, MODE_ASK);
                OPENORDER ( "Buy" , SMB, MarketLotSMB, Price);
            }
             else if (MarketLotSMB> 0 )
             {
                Price = MarketInfo (SMB, MODE_BID);
                OPENORDER ( "Sell" , SMB, MarketLotSMB, Price);
             }             
        }
    }

ve ayrıca ikinci döngüde siparişlerin ikinci döngünün sonundan sonra bile (bu bir testçi değilse) yeniden seçildiğini hesaba katmanız gerekir, örneğin, SMB != OrderSymbol() olabilir.

 
TarasBY :

Ayrıca, parantezler doğru yerleştirilmemiş:

ve ayrıca ikinci döngüde siparişlerin ikinci döngünün sonundan sonra bile (bu bir testçi değilse) yeniden seçildiğini hesaba katmanız gerekir, örneğin, SMB != OrderSymbol() olabilir.

Bravo! Sürümünüz çalışıyor.

Çok teşekkürler.


borilunad - ayrıca teşekkür ederim.

 
TarasBY :

Ayrıca, parantezler doğru yerleştirilmemiş:

Parantezleri sürümümde doğru koydum - aynı zamanda işe yaradı.

Tekrar teşekkürler.

 

gr anit77

Aynı fikirde olmamak. Mql'nin ötesine geçmeye gerek yok, danışmanı grafikten çıkarmaya gerek yok. Danışman kodunda sağlayarak ticareti programlı olarak engellemek yeterlidir.

Zhunko :
Evet! Doğru şekilde! Tek istisna uzaktan kumanda içindir.

Cevabınız için teşekkürler, ancak hangisinin daha iyi olduğunu anlamadım ve seçtim:

PostMessageA( WindowHandle ( Symbol (), Period ()), WM_COMMAND, 33050 , 0 );

Şimdi başka bir soru ortaya çıktı. hemen kesilmemesi, ancak belirli sayıda tetiklemeden sonra koda ne eklenmeli (örneğin: Kol=3)

#property show_inputs
#include <WinUser32.mqh>
extern int Kol=3;

int start()
{
OrderSend(Symbol(),OP_SELL,0.05,Bid,333,0,0,"Тест",0,0,CLR_NONE);
while(!IsTradeAllowed()) Sleep(1000);
PostMessageA(WindowHandle(Symbol(),Period()), WM_COMMAND, 33050, 0);
return(0);
}

Şimdiden teşekkürler

 

Merhaba!

Aroon göstergesi için danışman toplamaya başladım. Birisi MT4'te bulunmayan göstergeyi kullanmakta zorlandı. ÇALIŞMIYOR:(((((

Belki birileri en azından hatalarımı ima edebilir veya önerebilir.

Dosyalar:
 
Sarguss :

Merhaba!

Aroon göstergesi için danışman toplamaya başladım. Birisi MT4'te bulunmayan göstergeyi kullanmakta zorlandı. ÇALIŞMIYOR:(((((

Belki birileri en azından hatalarımı ima edebilir veya önerebilir.

İşte bazı ÇOK ilginç kod:

Up1 = Highest( Symbol (), "Aroon_Horn2" ,MODE_HIGH,Aroon_Period- 1 , 0 );
 Up2 = Highest( Symbol (), "Aroon_Horn2" ,MODE_HIGH,Aroon_Period- 1 , 1 );
      Dn1 = Lowest( Symbol (), "Aroon_Horn2" ,MODE_LOW,Aroon_Period- 1 , 0 );
   Dn2 = Lowest( Symbol (), "Aroon_Horn2" ,MODE_LOW,Aroon_Period- 1 , 1 );

En Yüksek() ve En Düşük() kullanıcı tanımlı işlevler mi? Değilse, böyle bir tasarımı nereden kazdınız ???
Bir göstergeden değerler almak istiyorsanız, iCustom() işlevini kullanmanız gerekir.

 
TarasBY :

İşte bazı ÇOK ilginç kod:

En Yüksek() ve En Düşük() kullanıcı tanımlı işlevler mi? Değilse, böyle bir tasarımı nereden kazdınız ???
Bir göstergeden değerler almak istiyorsanız, iCustom() işlevini kullanmanız gerekir.

Bu göstergeden sezgisel olarak benim. Muhtemelen komik :)

Tek hata bu mu?

Danışmanı Demo'ya koyduğumda "2012.10.26 21:49:56" ifadesini görüyorum. 2012.10.22 23:59 Trommel 300+Aroon CADJPY,H1: iLowest işlevi için parametre 2 olarak geçersiz tam sayı

2012.10.26 21:49:56 2012.10.22 23:59 Trommel 300+Aroon CADJPY,H1: iHighest işlevi için parametre 2 olarak geçersiz tam sayı" Ancak Yukarı ve Aşağı kavşaklar için çalışıyor.

 
TarasBY :

İşte bazı ÇOK ilginç kod:

En Yüksek() ve En Düşük() kullanıcı tanımlı işlevler mi? Değilse, böyle bir tasarımı nereden kazdınız ???
Bir göstergeden değerler almak istiyorsanız, iCustom() işlevini kullanmanız gerekir.

Aptalca sorular için özür dilerim ve teşekkür ederim.

Shas wikipedia

2012.10.26 21:59:19 2012.10.22 23:59 Trommel 300+Aroon CADJPY,H1: özel gösterge adı bir dize olmalıdır

2012.10.26 21:59:19 2012.10.22 23:59 Trommel 150+Aroon CADJPY,H1: Gösterge çağrısı işlevi için parametre 2 olarak geçersiz tam sayı

Neden: