Lütfen bana koda neyin eklenmesi gerektiğini (ve mümkünse nereye ekleneceğini) söyleyin, böylece danışman, önceki işlem kârsızsa, önceki lotun 2 ile çarpıldığı bir pozisyon açar.
Sevgili programcılar. Lütfen bana koda neyin eklenmesi gerektiğini (ve mümkünse nereye ekleneceğini) söyleyin, böylece danışman, önceki işlem kârsızsa, önceki lotun 2 ile çarpıldığı bir pozisyon açar. Şimdiden teşekkürler. Boris.
Boris, hiç de zor değil, işte martingale ilkesini uygulayan basit bir işlev:
//+------------------------------------------------------------------+double getMartinLot( double lot, double x){ //ФУНКЦИЯ УПРАВЛЕНИЯ ОБъЕМОМ ТОРГОВ ПО СИСТЕМЕ МАРТИНГЕЙЛАstaticdouble balance_before, balance_after; //ДЛЯ ХРАНЕНИЯ СОСТОЯНИЯ БАЛАНСА ДО И ПОСЛЕ СДЕЛОКstaticdouble save_Lot;
balance_after = AccountBalance(); //СОХРАНЕНИЕ ТЕКУЩЕГО СОСТОЯНИЯ БАЛАНСАif (balance_after >= balance_before){ //ПРОВЕРКА ИЗМЕНЕНИЯ БАЛАНСА
save_Lot = lot; //ЕСЛИ ОН НЕ ИЗМЕНИЛСЯ ИЛИ СТАЛ БОЛЬШЕ, ТО СБРАСЫВАЕМ ЛОТ ДО БАЗОВОГО
} else {
save_Lot *= x; //ЕСЛИ СТАЛ МЕНЬШЕ ТО УВЕЛИЧИВАЕМ ЛОТ НА Х РАЗ
}
balance_before = balance_after; //СОХРАНЯЕМ СОСТОЯНИЕ БАЛАНСА ПОСЛЕ РАБОТЫreturn (save_Lot);
}
//+------------------------------------------------------------------+
İlk hacmi ( çift lot) ve adımı ( çift x) parametre olarak iletin. Yöntemi, volume parametresi yerine doğrudan OrderSend'e yapıştırın.
itum :
Bu sorun nasıl çözülür? Ha
İşlem koşullarını çubuğun başında yalnızca bir kez yapın.
Ayrıca, bir seçenek olarak, sipariş verildiyse ayarlanan ve koşullar önemli ölçüde değiştiğinde sıfıra sıfırlanan bir bayrak ayarlayın.
Уважаемые програмисты.
Lütfen bana koda neyin eklenmesi gerektiğini (ve mümkünse nereye ekleneceğini) söyleyin, böylece danışman, önceki işlem kârsızsa, önceki lotun 2 ile çarpıldığı bir pozisyon açar.
Şimdiden teşekkürler.
Boris.
Roger :
Ищите советники с кодовым названием Мартингейл.
Aradım ama ilanlar bana uymuyor.
Biri, önceki işlem kârsızsa, partinin iki katına çıkması gerektiğini buldu, ancak bir şey için çalışmak istemiyor
Bu muhtemelen, burada size bir kod sunulursa, yine de bunu Expert Advisor'a kendiniz ekleyemeyeceğiniz anlamına gelir, değil mi?
hayır, bu danışmanın çalışmadığı anlamına geliyor ve ihtiyacım olan kod parçasıyla çalışan bir tane bulamıyorum.
Buraya bakın, https://www.mql5.com/en/forum/104481
hayır, bu danışmanın çalışmadığı anlamına geliyor ve ihtiyacım olan kod parçasıyla çalışan bir tane bulamıyorum.
Global değişkenlerde partinin başlangıç değerini ayarlayın:
Aynı yerde lot değerini pozisyon açma fonksiyonuna aktaracak bir değişkene bu değeri atıyoruz:
double Lots_New = Lot;Pozisyonu kapattıktan sonra kar/zarar için kontrol edin:Eh, işlevin kendisi, Igor Kim sayesinde ...
cyclik33 :
Sevgili programcılar.Lütfen bana koda neyin eklenmesi gerektiğini (ve mümkünse nereye ekleneceğini) söyleyin, böylece danışman, önceki işlem kârsızsa, önceki lotun 2 ile çarpıldığı bir pozisyon açar.
Şimdiden teşekkürler.
Boris.
Boris, hiç de zor değil, işte martingale ilkesini uygulayan basit bir işlev:
İlk hacmi ( çift lot) ve adımı ( çift x) parametre olarak iletin.
Yöntemi, volume parametresi yerine doğrudan OrderSend'e yapıştırın.
İşlev çağrısı örneği: