MQL5 Sihirbazı ve Standart Ticaret Sınıfı Kitaplığı hakkında sorular - sayfa 14

 
Örneğin, MACD'den gelen sinyalleri düşünün. Toplamda 5 adet al sinyali ve 5 adet sat sinyali tanımlanmıştır (ters dönüş, sinyal hattı ile geçiş vb.). Zamanın her anında bu sinyallerin değerini bir şekilde elde etmek mümkün müdür? Onlar. her çubuk için, her elemanın bir sinyale, 1 - varlığına ve 0 - yokluğuna karşılık geldiği 10 elemanlı bir vektör oluşturun. Karşılık gelen değerleri almak için CsignalMACD sınıfının hangi yöntemi kullanılabilir?
 
IvanSD :

Örneğin, MACD'den gelen sinyalleri düşünün. Toplamda 5 adet al sinyali ve 5 adet sat sinyali tanımlanmıştır (ters dönüş, sinyal hattı ile geçiş vb.). Zamanın her anında bu sinyallerin değerini bir şekilde elde etmek mümkün müdür? Onlar. her çubuk için, her elemanın bir sinyale, 1 - varlığına ve 0 - yokluğuna karşılık geldiği 10 elemanlı bir vektör oluşturun. Karşılık gelen değerleri almak için CsignalMACD sınıfının hangi yöntemi kullanılabilir?
Ne yazık ki, standart pakette böyle bir işlevsellik yoktur.
 
uncleVic :
Ne yazık ki, standart pakette böyle bir işlevsellik yoktur.
Cevap için teşekkürler!
 

Merhaba, anlamama yardım et. Bir robot yarattım (ilk robotum). Başlatıldıktan hemen sonra, Uzman robotu başlatma (EURUSD,H1) başarısız mesajıyla kapanır. Daha fazla bilgi bulamıyorum.

İşte onun kodu:

--------------------------------------

//+------------------------------------------- --------------------+

//| robot.mq5 |

//| Telif hakkı 2012, MetaQuotes Software Corp. |

//| http://www.mql5.com |

//+------------------------------------------- --------------------+

#property telif hakkı "Telif hakkı 2012, MetaQuotes Software Corp."

#özellik bağlantısı "http://www.mql5.com"

#özellik sürümü "1.00"

//+------------------------------------------- --------------------+

//| dahil |

//+------------------------------------------- --------------------+

#include <Uzman\Uzman.mqh>

//--- mevcut sinyaller

#include <Uzman\robot\robot.mqh>

//--- kullanılabilir takip

#include <Uzman\Trailing\TrailingNone.mqh>

//--- mevcut para yönetimi

#include <Uzman\Para\MoneyFixedLot.mqh>

//+------------------------------------------- --------------------+

//| girişler |

//+------------------------------------------- --------------------+

//--- uzman için girdiler

girdi dizisi Expert_Title ="robot"; // Belge adı

ulong Expert_MagicNumber =24553; //

bool Expert_EveryTick =yanlış; //

//--- ana sinyal için girişler

giriş int Signal_ThresholdOpen =10; // [0...100] açmak için sinyal eşik değeri

giriş int Signal_ThresholdClose =10; // Sinyal eşik değeri kapat [0...100]

giriş çift Signal_PriceLevel =0.0; // Bir anlaşmayı yürütmek için fiyat seviyesi

giriş çift Signal_StopLevel =50.0; // Zararı Durdur seviyesi (puan olarak)

giriş çift Signal_TakeLevel =50.0; // Kar seviyesini al (puan olarak)

giriş int Signal_Expiration =4; // Bekleyen siparişlerin süresinin dolması (çubuk cinsinden)

girdi int Signal_MaCross_FastPeriod=13; // My_MA_Cross(13,MODE_SMA,21,...) Hızlı MA dönemi

ENUM_MA_METHOD girin Signal_MaCross_FastMethod=MODE_SMA; // My_MA_Cross(13,MODE_SMA,21,...) Hızlı MA yöntemi

girdi int Signal_MaCross_SlowPeriod=21; // My_MA_Cross(13,MODE_SMA,21,...) Yavaş MA dönemi

ENUM_MA_METHOD girin Signal_MaCross_SlowMethod=MODE_SMA; // My_MA_Cross(13,MODE_SMA,21,...) Yavaş MA yöntemi

giriş çift Signal_MaCross_Weight =1.0; // My_MA_Cross(13,MODE_SMA,21,...) Ağırlık [0...1.0]

//--- para için girişler

giriş çift Money_FixLot_Percent =10.0; // Yüzde

çift Money_FixLot_Lots girin = 0.1; // sabit hacim

//+------------------------------------------- --------------------+

//| küresel uzman nesnesi |

//+------------------------------------------- --------------------+

CExpert ExtExpert;

//+------------------------------------------- --------------------+

//| Uzmanın başlatma işlevi |

//+------------------------------------------- --------------------+

int OnInit()

{

//--- Başlatma uzmanı

if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber))

{

//--- arızalı

printf(__FUNCTION__+": uzman başlatılırken hata oluştu");

ExtExpert.Deinit();

dönüş(-1);

}

//--- Sinyal oluşturma

CExpertSignal *sinyal=yeni CExpertSignal;

if(sinyal==NULL)

{

//--- arızalı

printf(__FUNCTION__+": sinyal oluşturma hatası");

ExtExpert.Deinit();

dönüş(-2);

}

//---

ExtExpert.InitSignal(sinyal);

sinyal.ThresholdOpen(Signal_ThresholdOpen);

sinyal.ThresholdClose(Signal_ThresholdClose);

sinyal.FiyatSeviyesi(Sinyal_FiyatSeviyesi);

sinyal.StopLevel(Signal_StopLevel);

signal.TakeLevel(Signal_TakeLevel);

sinyal.Expiration(Signal_Expiration);

//--- MA_Cross filtresi oluşturma

MA_Cross *filtre0=yeni MA_Cross;

if(filtre0==NULL)

{

//--- arızalı

printf(__FUNCTION__+": filter0 oluşturulurken hata oluştu");

ExtExpert.Deinit();

dönüş(-3);

}

sinyal.AddFilter(filtre0);

//--- Filtre parametrelerini ayarla

filter0.FastPeriod(Signal_MaCross_FastPeriod);

filter0.FastMethod(Signal_MaCross_FastMethod);

filter0.SlowPeriod(Signal_MaCross_SlowPeriod);

filter0.SlowMethod(Signal_MaCross_SlowMethod);

filter0.Weight(Signal_MaCross_Weight);

//--- İzleyen nesnenin oluşturulması

CTrailingNone *trailing=yeni CTrailingNone;

if(sondaki ==NULL)

{

//--- arızalı

printf(__FUNCTION__+": takip oluşturma hatası");

ExtExpert.Deinit();

dönüş(-4);

}

//--- Uzmana takip ekle (otomatik olarak silinecektir))

if(!ExtExpert.InitTrailing(sondaki))

{

//--- arızalı

printf(__FUNCTION__+": takip başlatılırken hata oluştu");

ExtExpert.Deinit();

dönüş(-5);

}

//--- Sondaki parametreleri ayarla

//--- Para nesnesinin oluşturulması

CMoneyFixedLot *money=new CMoneyFixedLot;

if(para==NULL)

{

//--- arızalı

printf(__FUNCTION__+": para oluşturma hatası");

ExtExpert.Deinit();

dönüş(-6);

}

//--- Uzmana para ekle (otomatik olarak silinecek))

if(!ExtExpert.InitMoney(para))

{

//--- arızalı

printf(__FUNCTION__+": para başlatılırken hata oluştu");

ExtExpert.Deinit();

dönüş(-7);

}

//--- Para parametrelerini ayarla

para.Percent(Money_FixLot_Percent);

money.Lots(Money_FixLot_Lots);

//--- Tüm ticaret nesneleri parametrelerini kontrol edin

if(!ExtExpert.ValidationSettings())

{

//--- arızalı

ExtExpert.Deinit();

dönüş(-8);

}

//--- Gerekli tüm göstergelerin ayarlanması

if(!ExtExpert.InitIndicators())

{

//--- arızalı

printf(__FUNCTION__+": göstergeleri başlatma hatası");

ExtExpert.Deinit();

dönüş(-9);

}

//--- tamam

dönüş(0);

}

//+------------------------------------------- --------------------+

//| Uzmanın başlatmadan arındırma işlevi |

//+------------------------------------------- --------------------+

geçersiz OnDeinit(const int nedeni)

{

ExtExpert.Deinit();

}

//+------------------------------------------- --------------------+

//| "Tick" olay işleyici işlevi |

//+------------------------------------------- --------------------+

geçersiz OnTick()

{

ExtExpert.OnTick();

}

//+------------------------------------------- --------------------+

//| "Ticaret" olay işleyici işlevi |

//+------------------------------------------- --------------------+

geçersiz OnTrade()

{

ExtExpert.OnTrade();

}

//+------------------------------------------- --------------------+

//| "Zamanlayıcı" olay işleyici işlevi |

//+------------------------------------------- --------------------+

geçersiz OnTimer()

{

ExtExpert.OnTimer();

}

//+------------------------------------------- --------------------+

Sorun ne olabilir. İlk nereye bakacağımı bile bilmiyorum.

Şimdiden teşekkürler.

Automated Trading and Strategy Testing
Automated Trading and Strategy Testing
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 
pasha191 :

Merhaba, anlamama yardım et. Bir robot yarattım (ilk robotum). Başlatıldıktan hemen sonra, Uzman robotu başlatma (EURUSD,H1) başarısız mesajıyla kapanır. Daha fazla bilgi bulamıyorum.


Yeterli bilgi yok.

İhtiyaç

 #include <Expert\robot\robot.mqh>

Başlatma parametrelerine (test cihazı/terminal, sunucu, çift, zaman çerçevesi vb.)

PS Kaynağı bir dosya olarak eklemek daha iyidir

 

MQL5 Sihirbazı hakkında sorular:

1) //--- para için girişler
giriş çift Money_FixLot_Percent =10.0; // Yüzde
çift Money_FixLot_Lots girin = 0.1; // sabit hacim
Bu seçenekler ne anlama geliyor? Ve bunlar nasıl ilişkilidir?

2) Bekleyen siparişleri verecek bir Uzman Danışman oluşturmak mümkün müdür? Mümkünse, nasıl?

3) Signal_Expiration değişkeni ne anlama geliyor? Bu nasıl kullanılır?

Мастер MQL5: Создание эксперта без программирования
Мастер MQL5: Создание эксперта без программирования
  • 2010.12.15
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы хотите быстро проверить торговую идею, не тратя времени на программирование? Выберите в "Мастере MQL5" нужный тип торговых сигналов, подключите модули сопровождения позиций и управления капиталом - на этом вся работа закончена. Создайте свои реализации модулей или закажите их через сервис "Работа" - и комбинируйте новые модули с уже существующими.
 
evrika :

MQL5 Sihirbazı hakkında sorular:

1) //--- para için girişler
double Money_FixLot_Percent =10.0 girin; // Yüzde
çift Money_FixLot_Lots girin = 0.1; // sabit hacim
Bu seçenekler ne anlama geliyor? Ve bunlar nasıl ilişkilidir?

2) Bekleyen siparişleri verecek bir Uzman Danışman oluşturmak mümkün müdür? Mümkünse, nasıl?

3) Signal_Expiration değişkeni ne anlama geliyor? Bu nasıl kullanılır?

1) Money_FixLot_Percent parametresi, "zorunlu durdurma" seviyesini ayarlamak için kullanılır. Ona dokunma.

Money_FixLot_Lots parametresi, Uzman Danışmanınızın piyasaya gireceği sabit bir hacim (lot) belirler.

Bu parametreler hiçbir şekilde ilişkili değildir.

2) Kaptan tarafından oluşturulan herhangi bir Uzman Danışman bekleyen emirlerin ticaretini yapabilir. ..._PriceLevel parametresi bu amaç için tasarlanmıştır. Bu parametrenin değerine bağlı olarak, EA'nın davranışı aşağıdaki gibi olacaktır:

0 - piyasaya giriş cari fiyattan gerçekleştirilecektir;

>0 - bekleyen limit emirleri ile piyasaya girilecektir (parametre değeri ile mevcut fiyattan daha iyi);

<0 - piyasaya bekleyen stop emirleri ile girilecektir (parametre değeri ile mevcut fiyattan daha kötü);

3) Signal_Expiration parametresi, bekleyen bir emrin ömrünü ayarlar (geçerli zaman çerçevesinin çubukları olarak).

 

MQL5 Sihirbazında bir EA oluşturulursa, bu tür kaç EA aynı anda sipariş açabilir? Nasıl düzenlenir?

Собери свой торговый советник в Мастере MQL5
Собери свой торговый советник в Мастере MQL5
  • 2011.01.14
  • MetaQuotes Software Corp.
  • www.mql5.com
Знание языков программирования теперь не является обязательным условием для создания торговых роботов. Если раньше это действительно служило непроходимым препятствием для реализации своих торговых стратегий, то появление Мастера MQL5 в корне изменило ситуацию. Начинающие трейдеры могут перестать тревожиться из-за отсутствия опыта программирования - с новым визардом, позволяющим быстро генерировать код советника, он не понадобится.
 
evrika :

MQL5 Sihirbazında bir EA oluşturulursa, bu tür kaç EA aynı anda sipariş açabilir? Nasıl düzenlenir?

1 sipariş. Düzenlenmemiş.

Sihirbaz, stratejileri test etmek için yapılmıştır. Daha fazlasını istiyorsanız, "bir dosya ile işleme" (ellerinizle yazmanız) gerekir.

 
uncleVic :

2) Kaptan tarafından oluşturulan herhangi bir Uzman Danışman bekleyen emirlerin ticaretini yapabilir. ..._PriceLevel parametresi bu amaç için tasarlanmıştır. Bu parametrenin değerine bağlı olarak, EA'nın davranışı aşağıdaki gibi olacaktır:

0 - piyasaya giriş cari fiyattan gerçekleştirilecektir;

>0 - bekleyen limit emirleri ile piyasaya girilecektir (parametre değeri ile mevcut fiyattan daha iyi);

<0 - piyasaya bekleyen stop emirleri ile girilecektir (parametre değeri ile mevcut fiyattan daha kötü);

PriceLevel parametresi hangi birimlerde ölçülür? Puan olarak mı? Onlar. mevcut fiyatın 20 pip üzerinde bekleyen bir stop emri vermek istersem,

bu parametre PriceLevel =-0.0020 olarak ayarlanmalı mı?

Neden: