MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1926

 
Maxim Kuznetsov # :

"Tip-ilerleme, burada ayrıca bir durma kaybı olabilir" seviyelerinin çizimi (tamam, gösteriliyor) genellikle oldukça basittir. Ama NEDEN belli değil.

Müşteriye ne istediğini detaylı olarak sormayı denediniz mi?

PS / ve evet, "yaratıcı bir mola" vermemiz gerekiyor, müşterinin durumu anlayacağını düşünüyorum .. sinirler katkıda bulunmuyor

Bir haftadan fazla düşündü ve karar verdi.

Başlangıçta her şey farklıydı ve bu teslim edildi, ancak bir haftalık aradan sonra yeniliklerin tanıtıldığını duyurdu. Görevi tamamladığımı anlıyorum, ancak bu orijinal TOR'a dahil edilmemiş olsa bile müşteriden ayrılmak bir şekilde doğru değil.

İsteğim geçerli!

 
Vitaly Muzichenko # :

Bir haftadan fazla düşündü ve karar verdi.

Başlangıçta her şey farklıydı ve bu teslim edildi, ancak bir haftalık aradan sonra yeniliklerin tanıtıldığını duyurdu. Görevi tamamladığımı anlıyorum, ancak bu orijinal TOR'a dahil edilmemiş olsa bile müşteriden ayrılmak bir şekilde doğru değil.

İsteğim geçerli!

Sakin ol Vitaly, lütfen ne?

danışmanda değişiklik yapmak? Kod yok ve girilecek hiçbir yer yok. Ve bu konudaki freelance sıralamasını düzenlemek pek doğru değil. Hiç bir tarafta değil.

void OnStopLoss() {

    // some code placed here

}

yardım etmesi pek olası değil.

 
Maxim Kuznetsov # :

Sakin ol Vitaly, lütfen ne?

danışmanda değişiklik yapmak? Kod yok ve girilecek hiçbir yer yok. Ve bu konudaki freelance sıralamasını düzenlemek pek doğru değil. Hiç bir tarafta değil.

void OnStopLoss() {

    // some code placed here

}

yardımcı olması pek olası değil.

Tam bir Uzman Danışman değil, tek bir çizelgeye asılan ve tüm sembolleri izleyen ayrı bir trol.

Kod çok şişirilmiş

 
Vitaly Muzichenko # :

Bir pozisyon var ve bunun için bir durma kaybı var.

Ayarlarda iz 30'dur. İzin çalışacağı seviyede çizgiyi ve dolayısıyla 7 çizginin tamamını göstermek anlamına gelir: 30-60-90-120-150-180-210, bir ilerleme gibi.

30'u geçti ve çizgiye ulaştı, patika durakları açılış fiyatı seviyesine, 60'a ulaştıktan sonra durakları açılış fiyatından +30'a, yani ilk durağın tetiklendiği seviyeye taşır ve böylece üzerinde.

Sanırım grafik çizgileri kontrol etmek istiyor ama bu zaten daha karmaşık, bu yüzden basitleştirilmesi gerekiyor.

Bir seçenek olarak, ayarlardaki seviyeler için 7 parametreyi çıkarın.

Not Uzun cevap için özür dilerim, İnternet kayboldu.

7 parametre bir seçenek değildir) çizeceği ve isimlendireceği parametrelerde 7 adet yatay çizgi adı. Ve onlardan dans et. Ve eğer parametreler, o zaman fiyat hareketinin aralığı ve seviye sayısı. Hesaplayın ve çizin. Peki seviye tetiklendiğinde sl çizgisi çizin ve sl fiyat seviyesi ile örtüşüyorsa rengi değiştirin.
 
Valeriy Yastremskiy # :
7 parametre bir seçenek değildir) 7 tane yatay çizginin ismini çizeceği ve isimlendireceği parametrelerde . Ve onlardan dans et. Ve eğer parametreler, o zaman fiyat hareketinin aralığı ve seviye sayısı. Hesaplayın ve çizin. Peki seviye tetiklendiğinde sl çizgisi çizin ve sl fiyat seviyesi ile örtüşüyorsa rengi değiştirin.

Burada olduğu gibi, hesaplanan fiyatlarla çizgiler çizecek bir algoritmaya ihtiyaç vardır.

Tüm pozisyonlar kapatıldığında, silinmeleri gerekir.

 
Valeriy Yastremskiy # :
7 parametre bir seçenek değildir) çizeceği ve isimlendireceği parametrelerde 7 adet yatay çizgi adı. Ve onlardan dans et. Ve eğer parametreler, o zaman fiyat hareketinin aralığı ve seviye sayısı. Hesaplayın ve çizin. Peki seviye tetiklendiğinde sl çizgisi çizin ve sl fiyat seviyesi ile örtüşüyorsa rengi değiştirin.

Açıklama:

В настройках трал 30 . Значит показать линии на уровнях, где сработают тралы, и так все 7 линий: 30 - 60 - 90 - 120 - 150 - 180 - 210 , типа прогрессии.

Прошли 30 и достигли линии, трал переводит стопы на уровень цены открытия, по достижении 60 , переводит стопы на + 30 от цены открытия, то есть на уровень, где срабатывал первый стоп и тд.

Kodu değiştirin, çizgiler çizin ve başka bir şey yapmayın.


Teşekkür ederim!

 
Tünaydın. Yeni başlayan birine söyle, piyasaya bir uzman yüklemeye çalışıyorum. "Hata! Yanlış dosya türü yüklendi, ..... ex4 - Script.
Ürününüzün kategorisi Uzmanlar, bunun için doğru program türü Uzman" Ama bu bir uzman! Nereye kazmalı? 2 gündür uğraşıyorum!
 
Vycheslav Vyrikov # :
Tünaydın. Yeni başlayan birine söyle, piyasaya bir uzman yüklemeye çalışıyorum. "Hata! Yanlış dosya türü yüklendi, ..... ex4 - Script.
Ürününüzün kategorisi Uzmanlar, bunun için doğru program türü Uzman" Ama bu bir uzman! Nereye kazmalı? 2 gündür uğraşıyorum!

Standart işleyicilere doğru kazın.

Eminim orada start() var, OnStart() değil.

Документация по MQL5: Обработка событий / OnStart
Документация по MQL5: Обработка событий / OnStart
  • www.mql5.com
OnStart - Обработка событий - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vitaly Muzichenko # :

Burada olduğu gibi, hesaplanan fiyatlarla çizgiler çizecek bir algoritmaya ihtiyaç vardır.

Tüm pozisyonlar kapatıldığında, silinmeleri gerekir.

double sumLots[2]=0,weight[2]=0;

for(int pos=OrdersTotal()-1;pos>=0;pos--) {

   if (! OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) continue;

   // тут всякие прочии фильтры

   DrawOrderLevels(); // нарисовать уровни куда может перекатиться стоп-лосс конкретного ордера

   // расчёт общих позиций

   int type=OrderType();

   sumLots[type]+=OrderLots();

   weight[type]+=OrderLots()*OrderOpenPrice();

}

double avg[3]; // общии позиции

if (sumLots[OP_BUY]!=0) avg[OP_BUY]=weight[OP_BUY]/sumLots[OP_BUY]; 

if (sumLots[OP_SELL]!=0) avg[OP_SELL]=weight[OP_SELL]/sumLots[OP_SELL]; 

// совокупная позиция

int posType; // тип

double posPrice; // цена

double posLots; // объём

if (sumLots[OP_BUY]>sumLots[OP_SELL) { posType=OP_BUY; posPrice=avg[OP_BUY]; posLots=sumLots[OP_BUY]-sumLots[OP_SELL]; }

else { posType=OP_SELL; posPrice=avg[OP_SELL]; posLots=sumLots[OP_SELL]-sumLots[OP_BUY]; }

DrawPriceLevels(OP_BUY,avg[OP_BUY]); // нарисовать уровни суммарной позы в BUY

DrawPriceLevels(OP_SELL,avg[OP_SELL]); // нарисовать уровни суммарной позы в SELL

DrawPriceLevels(posType,posPrice); // уровни общей позиции

yatay seviyelerin adlarına bilet numarasını ekleyin. Bazen (gerektiğinde) kontrol etmek için - bilet piyasada değilse, adıyla tüm seviyeleri silin

 
Artyom Trishkin # :

Standart işleyicilere doğru kazın.

Eminim orada start() var, OnStart() değil.

Artyom, zaten yorgunsun ve kendisi yanlışlıklar yapmaya başladı. Vyacheslav'ın yüklemeye çalıştığı Uzman Danışman için olay işleme işlevi şu şekilde olmalıdır: OnTick ()