Evde kileri açtılar, kafalarının arkasını kaşıdılar ve kapattılar.
Balık tutmaya geldim ve bir oltaya ihtiyacın var
Bir olta için kilere eve gidelim
Balık tutmaya geldik, yem attık ve balık tuttuk ve sonra bir ağa ihtiyacınız vardı.
Bir ağ için kilere eve gidelim
Balık tutmaya geldik, bir ağ ile bir kancada yakalanan ve yüzen bir balık tuttuk ve yakalanan balığı katlamak için bir kaba ihtiyacınız vardı.
Hadi eve gidelim..... Devam etmeli miyim?
Ve balık tutmak için ihtiyacınız olan her şeyi kilerden (OnInit) hemen alabilir, etrafta koşmadan balık tutmaya gidebilir ve eve dönerek her şeyi kilere ve buzdolabına (OnDeinit) koyabilirsiniz.
Burada forumda bilgi sahibi olabilirsiniz . Bazen sadece dinlemeniz ve size ne dediklerini duymanız gerekir.
Ve ortaya çıktı, bir soru sordular, bir cevap aldılar, dediler ki - çöp ve sen düşündüğün gibi yap.
İlk önce soruyu düşünmeniz, etrafa sormanız ve ancak o zaman editörü üstlenmeniz gerekir.
Programlamada en kolay şeyin kod yazmak olduğunu biliyor musunuz? Ve aslanın kalkınmadaki payı mantık hakkında düşünmekle meşgul.
Ne saçma bir benzetme. Bu durumda, tüm değişkenler, sınıf nesneleri vb. Gerektiği gibi oluşturmak veya grafik oluşturmak yerine global yapın. nesne başka bir şey mi (kesinlikle olta veya ağ değil :)) ? Bu yüzden yaklaşımım oldukça mantıklı ve haklı, sadece mql veya metatrader işleri berbat ediyor.
Prensip olarak, açık bir emir genellikle zaten açık olan bir çubuğun onay işaretleriyle kapanır. MakarFX ve Artyom doğru bir şekilde fark etti. Bu nedenle, bunu yapmak doğru olacaktır:
voidOnTick ()
{
datetime cTime;
staticdatetime time = 0 ;
int nOrders;
cTime = iTime ( NULL , PERIOD_CURRENT , 0 );
nOrders = CountOrders();
if (time != cTime && nOrders == 0 )
time = cTime;
elsereturn ;
// Получим значение индикатора
dMA = iMA ( Symbol (), 0 ,PeriodMA, MovingShift, MODE_SMA , PRICE_CLOSE , 0 ); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.// Если нет открытых ордеров, то входим в условиеif (nOrders == 0 ) // теперь это условие можно убрать
{
// Если появился сигнал на покупку, то откроем ордер на покупкуif (bSignalBuy() == true )
vOrderOpenBuy();
// Если появился сигнал на продажу, то откроем ордер на продажуif (bSignalSell() == true )
vOrderOpenSell();
}
}
Prensip olarak, açık bir emir genellikle zaten açık olan bir çubuğun onay işaretleriyle kapanacaktır. MakarFX ve Artyom doğru bir şekilde fark etti. Bu nedenle, bunu yapmak doğru olacaktır:
Artem haklı, öyle olmalı
//+-----------------------------------------------------------------------------------------------+voidOnTick ()
{
// Получим значение индикатора
dMA = iMA ( Symbol (), 0 ,PeriodMA, MovingShift, MODE_SMA , PRICE_CLOSE , 0 ); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.// Если нет открытых ордеров и появился сигнал на покупку, то откроем ордер на покупкуif (CountOrders()== 0 &&bSignalBuy())
{
vOrderOpenBuy();
}
// Если нет открытых ордеров и появился сигнал на продажу, то откроем ордер на продажуif (CountOrders()== 0 &&bSignalSell())
{
vOrderOpenSell();
}
}
Burada sonuç aynı olacaktır. Sadece kod daha kafa karıştırıcı. Aynı kodu iki farklı fonksiyonda yazıyorsunuz. Ve daha az okunabilir olacak. Gerçi herkes istediğini ya da beğendiğini yazar...
Açık bir pozisyonun açılış süresi vardır. Açılış zamanı mumun zamanı ile karşılaştırılabilir - pozisyonun açılış zamanının mumun içinde olup olmadığını öğrenin (ve bu mevcut mumdur)
Ve neden tüm örneklerde sipariş sayısını sürekli olarak buluyorsunuz? Ve sıfır sipariş varsa, onu açarsınız. Bu, olasılıkları büyük ölçüde sınırlar.
Genel olarak, emir/pozisyon sayısına bağlı olmak yalnızca çok dar bir strateji yönü içindir.
Burada sonuç aynı olacaktır. Sadece kod daha kafa karıştırıcı. Aynı kodu iki farklı fonksiyonda yazıyorsunuz. Ve daha az okunabilir olacak. Gerçi herkes istediğini ya da beğendiğini yazar...
Kodunuzda, bir açık pozisyon ile diğeri karşı sinyalde açılmayacaktır. Yani ilk olarak bir sinyal geldiğinde karşı pozisyon olup olmadığını kontrol etmeniz ve kapatmanız gerekir.
Ancak tekrar ediyorum, tüm bunlar strateji geliştirme olanaklarını büyük ölçüde sınırlandırıyor.
Emirlerin varlığına/yokluğuna bağlı olmaktan uzaklaşmak gerekir (özellikle dörtte - orada hem bekleyen emirler (ki doğru) hem de pozisyonlar (doğru olmayan) emir olarak alınır).
Hayır, türlerine göre emir ve pozisyon sayısının elinizin altında olması doğru ve gereklidir. Ancak herhangi bir emrin yokluğunda sadece sinyallere güvenmek böyle bir şey ...
Genel olarak, emir ve pozisyon sayma fonksiyonlarına (emir ve pozisyon sayısı değiştiğinde yapıyı dolduran bir fonksiyon), pozisyon açma/kapama fonksiyonlarına, emir verme fonksiyonlarına ve sinyal fonksiyonlarına sahip olmak doğrudur. Çeşitli trollerin işlevleri ve göstergelerden veri alma. Artı - pozisyon verilerini (açık veya kapalı) herhangi bir değerle karşılaştırabilmek.
İyi. Basit kelimelerle Rusça deneyeceğim.
balığa gidiyorsun.
Ve balık tutmak için ihtiyacınız olan her şeyi kilerden (OnInit) hemen alabilir, etrafta koşmadan balık tutmaya gidebilir ve eve dönerek her şeyi kilere ve buzdolabına (OnDeinit) koyabilirsiniz.
Burada forumda bilgi sahibi olabilirsiniz . Bazen sadece dinlemeniz ve size ne dediklerini duymanız gerekir.
Ve ortaya çıktı, bir soru sordular, bir cevap aldılar, dediler ki - çöp ve sen düşündüğün gibi yap.
İlk önce soruyu düşünmeniz, etrafa sormanız ve ancak o zaman editörü üstlenmeniz gerekir.
Programlamada en kolay şeyin kod yazmak olduğunu biliyor musunuz? Ve aslanın kalkınmadaki payı mantık hakkında düşünmekle meşgul.
Ne saçma bir benzetme. Bu durumda, tüm değişkenler, sınıf nesneleri vb. Gerektiği gibi oluşturmak veya grafik oluşturmak yerine global yapın. nesne başka bir şey mi (kesinlikle olta veya ağ değil :)) ? Bu yüzden yaklaşımım oldukça mantıklı ve haklı, sadece mql veya metatrader işleri berbat ediyor.
Bu sinyali geçecek
Ya aptalım, ya da hepsi aynı, açık siparişler varsa hiçbir koşul yok Ve bir sinyal var ve bar zaten yeni.
Sinyaller çubuğun bir katından daha uzunsa, çubuğun ilk tikinde çalışacaktır.
Tek soru, bir emrin ne zaman açılacağı, sinyalin göründüğü anda veya bir sonraki çubuğun ilk tikinde.Ya aptalım, ya da hepsi aynı, açık siparişler varsa hiçbir koşul yok Ve bir sinyal var ve bar zaten yeni.
Sinyaller çubuğun bir katından daha uzunsa, çubuğun ilk tikinde çalışacaktır.
Tek soru, bir emrin ne zaman açılacağı, sinyalin göründüğü anda veya bir sonraki çubuğun ilk tikinde.kod şimdi şöyle görünür:
Açmadan önce bu mum üzerinde açık pozisyon olup olmadığını kontrol edin. Değilse, o zaman açın.
Prensip olarak, açık bir emir genellikle zaten açık olan bir çubuğun onay işaretleriyle kapanır. MakarFX ve Artyom doğru bir şekilde fark etti. Bu nedenle, bunu yapmak doğru olacaktır:
Prensip olarak, açık bir emir genellikle zaten açık olan bir çubuğun onay işaretleriyle kapanacaktır. MakarFX ve Artyom doğru bir şekilde fark etti. Bu nedenle, bunu yapmak doğru olacaktır:
Artem haklı, öyle olmalı
Artem haklı, öyle olmalı
Burada sonuç aynı olacaktır. Sadece kod daha kafa karıştırıcı. Aynı kodu iki farklı fonksiyonda yazıyorsunuz. Ve daha az okunabilir olacak. Gerçi herkes istediğini ya da beğendiğini yazar...
Herkes bir şeyler için ödüllendirildi.
Açık bir pozisyonun açılış süresi vardır. Açılış zamanı mumun zamanı ile karşılaştırılabilir - pozisyonun açılış zamanının mumun içinde olup olmadığını öğrenin (ve bu mevcut mumdur)
Ve neden tüm örneklerde sipariş sayısını sürekli olarak buluyorsunuz? Ve sıfır sipariş varsa, onu açarsınız. Bu, olasılıkları büyük ölçüde sınırlar.
Genel olarak, emir/pozisyon sayısına bağlı olmak yalnızca çok dar bir strateji yönü içindir.
Burada sonuç aynı olacaktır. Sadece kod daha kafa karıştırıcı. Aynı kodu iki farklı fonksiyonda yazıyorsunuz. Ve daha az okunabilir olacak. Gerçi herkes istediğini ya da beğendiğini yazar...
senin kodun
(Bar açıldı ve sipariş yok)
sinyali kontrol etti - sinyal yok
... bir sonraki barı beklemek
Geçen seferkiyle aynı hatayı yaptın
not
Bu
bir sipariş açıldıktan sonra yürütülmelidirArtem haklı, öyle olmalı
Kodunuzda, bir açık pozisyon ile diğeri karşı sinyalde açılmayacaktır. Yani ilk olarak bir sinyal geldiğinde karşı pozisyon olup olmadığını kontrol etmeniz ve kapatmanız gerekir.
Ancak tekrar ediyorum, tüm bunlar strateji geliştirme olanaklarını büyük ölçüde sınırlandırıyor.
Emirlerin varlığına/yokluğuna bağlı olmaktan uzaklaşmak gerekir (özellikle dörtte - orada hem bekleyen emirler (ki doğru) hem de pozisyonlar (doğru olmayan) emir olarak alınır).
Hayır, türlerine göre emir ve pozisyon sayısının elinizin altında olması doğru ve gereklidir. Ancak herhangi bir emrin yokluğunda sadece sinyallere güvenmek böyle bir şey ...
Genel olarak, emir ve pozisyon sayma fonksiyonlarına (emir ve pozisyon sayısı değiştiğinde yapıyı dolduran bir fonksiyon), pozisyon açma/kapama fonksiyonlarına, emir verme fonksiyonlarına ve sinyal fonksiyonlarına sahip olmak doğrudur. Çeşitli trollerin işlevleri ve göstergelerden veri alma. Artı - pozisyon verilerini (açık veya kapalı) herhangi bir değerle karşılaştırabilmek.
Bu setten herhangi bir strateji yapabilirsiniz.