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

 

Merhaba, S. Kovalev'in ders kitabından senaryoyu temel aldım. Bir işlem açmak, zararı durdurmak, kar almak ve ardından işlemin sonunu beklemek (yani bir durdurma veya kar gerçekleştirme) için bir Uzman Danışman yapmak istiyorum ve ancak bundan sonra işlemi tekrar açtım. . Döngü yardımı ve döngü kesintileri ile denendi. Bana nasıl yapabileceğini söyle. Zararı durdurup hemen kar almanın daha kolay olacağını düşündüm, ancak fiyatın belirli bir seviyeye ulaştığında kapanması daha kolay olabilir ama şimdilik istemiyorum çünkü. Kaymaktan korkuyorum ve her nokta benim için önemli. Sonuç olarak, bir anlaşma açmanın veya hemen bir çiftin (bir şeyler de yanlış) olduğu ortaya çıktı, anlaşmayı kapattıktan sonra yeni bir tane açmadı.

//+------------------------------------------- --------------------+
int start() //---- fonksiyonu başlat
{
double //---- değişkenleri bildir
x,
y;
//+------------------------------------------- --------------------+
OrderSend(Symbol(),OP_BUY,0.1,Sor,3,Sor-15*Puan,Sor+15*Puan); //---- Durdurma satın almak ve yerleştirmek için bir piyasa emri ve açılış fiyatından 15 puanlık kar
//+------------------------------------------- --------------------+
while(x!=Sor-15*Puan||y!=Sor+15*Puan) //---- önceki anlaşma kapanana kadar anlaşmaların yapılmamasını istediğim koşullar, yani. olabilmek
{ //----- SADECE bir anlaşmayı açık tut
devam etmek; //---- koşulu kes ve bir sonraki adıma geç
}
//+------------------------------------------- --------------------+
dönüş; //---- dönüş işlevi
}
//+------------------------------------------- --------------------+

 
YOUNGA :

evet, yalnızca açılış fiyatları, bu nedenle bir EA'nın çalışmasını analiz ederken dikkate alınması özellikle önemlidir. Örneğin, mumun kuyruğu kanalınızdan kırılırsa, danışman bunu fark etmeyebilir, ancak bu program mantığına yazılabilir ve prensipte sorunu çözebilir.



Teşekkür ederim!
 

Soru: İşte bir kod parçası

int init()

{
//----
ShiftSinyali=0;
SlowPer=HızlıPer+AddYavaş;
Spread=MarketInfo(Symbol(),MODE_SPREAD);
Comment("ExpertMagicNumber=",ExpertMagicNumber);

if ((FastShift<0)&&(SlowShift>=0))
ShiftSignal=-FastShift;

if ((FastShift>=0)&&(SlowShift<0))
ShiftSignal=-SlowShift;

if ((FastShift<0)&&(SlowShift<0))
{
if (MathAbs(FastShift)>MathAbs(SlowShift))

ShiftSignal=-FastShift;
başka
ShiftSignal=-SlowShift;
}
//----
dönüş(0);

bu yerle ilgileniyor

if ((FastShift<0)&&(SlowShift>=0))

ShiftSignal=-FastShift;

FastShift<0 değeri ise, FastShift değeri başlangıçta negatif bir tam sayıya eşittir, örneğin: -2

sonra sonraki satırda ShiftSignal=-FastShift;

ShiftSignal değişkenine sıfır yerine -2 değerinin atanacağını düşünebilirsiniz.

ama aynı zamanda, FastShift değişkeninin önündeki eksi neden o zaman ortaya çıkıyor?

Sonuçta, matematikte eksi eksi bir artı verir, yani o zaman değer "+2" ye eşit olacaktır, yani sadece 2

Gerekirse tüm kodları gönderebilirim.

 

Lütfen bu sorunu çözmeme yardım edin.

Al veya sat sinyali var, ancak bir sonraki çubuk da bir sonraki çubukta dikkate alınmaması gereken bir sinyal olarak koşulu sağlıyor.

Nasıl yapacağım ama hiçbir şey çıkmıyor.

 if ( условие на покупку или продажу)
{          

       if ( OrderSelect ( OrdersTotal ()- 1 ,SELECT_BY_POS,MODE_TRADES)== true )   // если есть уже ордер то проверяем
        {
                 if (OrderOpenTime()!=Time[ 1 ]||OrderOpenTime()!=Time[ 2 ]||OrderOpenTime()!=Time[ 3 ]) // если открытый ордер имеет значение(OrderOpenTime) не равное времени бару назад и тд. до 3 баров.
                    {
                   TimeBar=Time[ 0 ];
                   OrderSend ( Symbol (),OP_BUY, LOT, NormalizeDouble (Ask, Digits ), 2 , 0 , 0 , "ntcn" ,Magic, 0 ,Blue);   // тогда открываем
                    }
        }


}

Ama çalışmıyor .. veya daha farklı nasıl yapılabilir ???? Bilginizi paylaşırsanız minnettar olurum.

Okuyan ve aynı sorunla karşılaşan varsa İşte Cevap:

 if ( условие на покупку или продажу)
{          

   OrderSelect ( OrdersTotal ()- 1 ,SELECT_BY_POS,MODE_TRADES);                                                 // проверяем последний ордер
         if (OrderOpenTime()<Time[ 3 ])                                                                       // если по времени прошло 3 бара тогда можно открывать новую сделку
           {
                   TimeBar=Time[ 0 ];
                   OrderSend ( Symbol (),OP_SELL, LOT, NormalizeDouble (Bid, Digits ), 2 , 0 , 0 , "ntcn" ,Magic, 0 ,Red); 
           }

}
 
Oleg, durum çok zor değil Örneğin, açık siparişleri saymaya başlayın, 1'den fazla acıyorsa açmayın (burada sitede hazır işlevleri alın)
 

Tex, kimse cevap vermediğine göre soruyu yeniden formüle etmeye çalışacağım.

iCastom() işlevi yalnızca sıfırlar döndürüyorsa, derlenmiş göstergeden bilgi çıkarmanın bir yolu var mı?

 

Merhaba, olumlu bir gösterge sinyalinden sonra çubukları saymaya nasıl başlayacağımı söyle

- Bir sinyal aldım, bölmeyi ancak sonraki 2 çubuk yükseldikten sonra açıyorum.

 
YOUNGA :
Oleg, durum çok zor değil Örneğin, açık siparişleri saymaya başlayın, 1'den fazla acıyorsa açmayın (burada sitede hazır işlevleri alın)


Maalesef sinyaller tekrarlanabilir (daha fazla satın alma anlamında bir saat içinde, bir günde olabilir vs.) OrderComment üzerinden ziyaret ettim, engelle, ama yinelenen siparişler de var. Tekrarlanan sinyaller için çubukları engellemek istiyorum. Uyku yoluyla ise, zaman çerçevesi farklıdır ve 4 saattir ....

Ama cevap için teşekkürler.

 
dertop :


Maalesef sinyaller tekrarlanabilir (daha fazla satın alma anlamında bir saat içinde, bir günde olabilir vs.) OrderComment üzerinden ziyaret ettim, engelle, ama yinelenen siparişler de var. Tekrarlanan sinyaller için çubukları engellemek istiyorum. Uyku yoluyla ise, zaman çerçevesi farklıdır ve 4 saattir ....

Ama cevap için teşekkürler.


sitede konu ara

Bir barda ticaret yasağı.

 
İyi geceler! Lütfen zikzak göstergesi oluşturma ilkesini açıklayın. Örneğin, sol ve sağ mevcut olanın 2 çubuk üstünde veya altında olduğunda fraktallar oluşturulur. Ve bir zikzak hangi temelde inşa edilir? Lütfen lütfen.