"DayOfWeek" ten yeterli bilgiyi nasıl alacağımı hiç anlamadım. Robotun başlatıldığı gün ve bazı durumlarda (bazen) doğru değeri verir. Siparişleri açarken bana göründüğü gibi. Hiçbir şey açmazsanız, hava dışarı çıkacaktır.
Sorunu şu şekilde çözdüm:
...
int realDay=DayOfWeek();
int curHour=TimeHour( TimeLocal ());
while (! IsStopped ())
{
if (TimeHour( TimeLocal ())<curHour) realDay++;
curHour=TimeHour( TimeLocal ());
if (realDay== 7 ) realDay= 0 ;
...
"DayOfWeek" ten yeterli bilgiyi nasıl alacağımı hiç anlamadım. Robotun başlatıldığı gün ve bazı durumlarda (bazen) doğru değeri verir. Siparişleri açarken bana göründüğü gibi. Hiçbir şey açmazsanız, hava dışarı çıkacaktır.
Ihor Herasko : Bu nedenle, yalnızca enstrüman üzerinde işlemlere izin verme durumunu alacaksınız. Enstrüman işlem görürse , haftanın herhangi bir gününde bunun için geçerli olun.
Alert ( "Trade allowed by MarketInfo: " , bool (MarketInfo( Symbol (),MODE_TRADEALLOWED)));
Alert ( "Trade allowed by IsTradeAllowed: " , bool (IsTradeAllowed()));
Alert ( "Trade allowed by IsTradeAllowed 2-nd version: " , bool (IsTradeAllowed( Symbol (), TimeLocal ())));
Sonuç:
2015.12 . 2016 : 41 : 21.196 Test EURUSD,H1: Alert : Trade allowed by IsTradeAllowed 2 -nd version : false2015.12 . 2016 : 41 : 21.196 Test EURUSD,H1: Alert : Trade allowed by IsTradeAllowed: true2015.12 . 2016 : 41 : 21.196 Test EURUSD,H1: Alert : Trade allowed by MarketInfo: true
Bilgisayarımda saat GMT+2.
Bu nedenle, ilk seçenek için yanlış almayı nasıl başardığınız belli değil. Hiç işlem görmeyen bir enstrüman almış olabilirsiniz.
Aşağıdaki sonuçlara varıyoruz:
Birinci ve ikinci seçenekler temelde aynıdır. Yalnızca enstrümanda otomatik ticarete izin verildiğine ve ticaret akışının serbest olduğuna işaret ediyorlar.
Üçüncü seçenek tam da ihtiyacınız olan şey. Çalışma programını dikkate alarak enstrüman üzerinde işlem yapma iznini bulmanızı sağlar.
Bu nedenle, ilk seçenek için yanlış almayı nasıl başardığınız belli değil. Hiç işlem görmeyen bir enstrüman almış olabilirsiniz.
Aşağıdaki sonuçlara varıyoruz:
Birinci ve ikinci seçenekler temelde aynıdır. Yalnızca enstrümanda otomatik ticarete izin verildiğine ve ticaret akışının serbest olduğuna işaret ediyorlar.
Üçüncü seçenek tam da ihtiyacınız olan şey. Çalışma programını dikkate alarak enstrüman üzerinde işlem yapma iznini bulmanızı sağlar.
Nitekim, bu komisyoncu için yukarıdaki betiğin sonucu aşağıdaki gibidir:
2015.12 . 2017 : 19 : 18.685 Test GBPUSD,H4: Alert : Trade allowed by IsTradeAllowed 2 -nd version : false2015.12 . 2017 : 19 : 18.685 Test GBPUSD,H4: Alert : Trade allowed by IsTradeAllowed: false2015.12 . 2017 : 19 : 18.685 Test GBPUSD,H4: Alert : Trade allowed by MarketInfo: false
Diğer brokerleri kontrol etmeye başladı. Komisyoncu G**X:
2015.12 . 2017 : 18 : 14.339 Test EURUSD,M314: Alert : Trade allowed by IsTradeAllowed 2 -nd version : false2015.12 . 2017 : 18 : 14.339 Test EURUSD,M314: Alert : Trade allowed by IsTradeAllowed: false2015.12 . 2017 : 18 : 14.339 Test EURUSD,M314: Alert : Trade allowed by MarketInfo: true
Komisyoncu A*** i:
2015.12 . 2017 : 20 : 40.372 Test EURUSD,M15: Alert : Trade allowed by IsTradeAllowed 2 -nd version : false2015.12 . 2017 : 20 : 40.372 Test EURUSD,M15: Alert : Trade allowed by IsTradeAllowed: true2015.12 . 2017 : 20 : 40.372 Test EURUSD,M15: Alert : Trade allowed by MarketInfo: true
Broker I***a F***x:
2015.12 . 2017 : 21 : 38.663 test GBPUSD,H1: Alert : Trade allowed by IsTradeAllowed 2 -nd version : false2015.12 . 2017 : 21 : 38.663 test GBPUSD,H1: Alert : Trade allowed by IsTradeAllowed: false2015.12 . 2017 : 21 : 38.663 test GBPUSD,H1: Alert : Trade allowed by MarketInfo: false
Bugünkü ilk testim A*****l M*****s üzerindeydi.
Böylece, IsTradeAllowed (ilk sürüm) ve MODE_TRADEALLOWED'in tüm brokerler için doğru çalışmadığını anlıyoruz. Ama IsTradeAllowed'ın ikinci versiyonu her yerde düzgün çalışıyor. Bu yüzden kullanmak en iyisidir.
Nitekim, bu komisyoncu için yukarıdaki betiğin sonucu aşağıdaki gibidir:
Diğer brokerleri kontrol etmeye başladı. Komisyoncu G**X:
Komisyoncu A*** i:
Broker I***a F***x:
Bugünkü ilk testim A*****l M*****s üzerindeydi.
Böylece, IsTradeAllowed (ilk sürüm) ve MODE_TRADEALLOWED'in tüm brokerler için doğru çalışmadığını anlıyoruz. Ama IsTradeAllowed'ın ikinci versiyonu her yerde düzgün çalışıyor. Bu yüzden kullanmak en iyisidir.
"DayOfWeek" ten yeterli bilgiyi nasıl alacağımı hiç anlamadım. Robotun başlatıldığı gün ve bazı durumlarda (bazen) doğru değeri verir. Siparişleri açarken bana göründüğü gibi. Hiçbir şey açmazsanız, hava dışarı çıkacaktır.
Sorunu şu şekilde çözdüm:
Ama henüz test etmedim))) çalışması gerekir
"DayOfWeek" ten yeterli bilgiyi nasıl alacağımı hiç anlamadım. Robotun başlatıldığı gün ve bazı durumlarda (bazen) doğru değeri verir. Siparişleri açarken bana göründüğü gibi. Hiçbir şey açmazsanız, hava dışarı çıkacaktır.
Sorunu şu şekilde çözdüm:
Ama henüz test etmedim))) çalışması gerekir
Daha kolay - TimeDayOfWeek'i kullanın:
Bu nedenle, yalnızca enstrüman üzerinde işlemlere izin verme durumunu alacaksınız. Enstrüman işlem görürse , haftanın herhangi bir gününde bunun için geçerli olun.
Alert(bool(MarketInfo(Symbol(),MODE_TRADEALLOWED)));
yanlış
Alert(bool(MarketInfo(Symbol(),MODE_TRADEALLOWED)));
yanlış
Benim versiyonum şu:
Sonuç:
Bilgisayarımda saat GMT+2.
Bu nedenle, ilk seçenek için yanlış almayı nasıl başardığınız belli değil. Hiç işlem görmeyen bir enstrüman almış olabilirsiniz.
Aşağıdaki sonuçlara varıyoruz:
Benim versiyonum şu:
Sonuç:
Bilgisayarımda saat GMT+2.
Bu nedenle, ilk seçenek için yanlış almayı nasıl başardığınız belli değil. Hiç işlem görmeyen bir enstrüman almış olabilirsiniz.
Aşağıdaki sonuçlara varıyoruz:
EURUSD fxAçık
Nitekim, bu komisyoncu için yukarıdaki betiğin sonucu aşağıdaki gibidir:
Diğer brokerleri kontrol etmeye başladı. Komisyoncu G**X:
Komisyoncu A*** i:
Broker I***a F***x:
Bugünkü ilk testim A*****l M*****s üzerindeydi.
Böylece, IsTradeAllowed (ilk sürüm) ve MODE_TRADEALLOWED'in tüm brokerler için doğru çalışmadığını anlıyoruz. Ama IsTradeAllowed'ın ikinci versiyonu her yerde düzgün çalışıyor. Bu yüzden kullanmak en iyisidir.
Nitekim, bu komisyoncu için yukarıdaki betiğin sonucu aşağıdaki gibidir:
Diğer brokerleri kontrol etmeye başladı. Komisyoncu G**X:
Komisyoncu A*** i:
Broker I***a F***x:
Bugünkü ilk testim A*****l M*****s üzerindeydi.
Böylece, IsTradeAllowed (ilk sürüm) ve MODE_TRADEALLOWED'in tüm brokerler için doğru çalışmadığını anlıyoruz. Ama IsTradeAllowed'ın ikinci versiyonu her yerde düzgün çalışıyor. Bu yüzden kullanmak en iyisidir.
Bugün
IsTradeAllowed( Sembol (), TimeCurrent ())
doğruyu gösterir
Bu arada, neden yerel saatin var?
Bugün
IsTradeAllowed( Sembol (), TimeCurrent ())
doğruyu gösterir
Bu arada, neden yerel saatin var?
Bugün resmi tatil, bu yüzden üzgünüm.
Gerçek şu ki, hiçbir tanıma işlevi %100 çalışmıyor.