[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 617

 
Son kapatılan pozisyonun lotunu nasıl öğreneceğimi söyler misiniz? Örneğin: son pozisyon bir alımla kapatıldı ve bir sonraki pozisyonun lotunu artırmak istiyoruz.
 
Vadimkin :
Expert Advisor'da başka bir gösterge (örneğin, RSI'da MA) üzerine bindirilmiş bir göstergeyi nasıl ilan edeceğimi söyler misiniz?
sadece açıkça hesaplayın, örneğin iMAOnArray() kullanarak veya kendi algoritmanızı kullanarak.
 
david2 :
Lütfen bana son kapatılan pozisyonun çoğunu nasıl öğreneceğimi söyler misiniz? Örneğin: son pozisyon bir alımla kapatıldı ve bir sonraki pozisyonun lotunu artırmak istiyoruz.
 int oht = OrdersHistoryTotal ();
double last_lot;
OrderSelect (oht- 1 ,SELECT_BY_POS,MODE_HISTORY);
if ( NormalizeDouble ( OrderClosePrice ()- OrderTakeProfit (), Digits )== 0 ) //ордер закрыт по тейкпрофиту
{
   last_lot = OrderLots ();
   // ура
}
 
alsu :

Çok teşekkür ederim, ancak neden oht-1 parantezinde oht değil de açık değil.
 
david2 :
Çok teşekkür ederim, ancak neden oht-1 parantezinde oht değil de açık değil.

dizinin ilk elemanı 0 numaraya sahiptir, son boyut 1'dir.
 
alsu :

dizinin ilk elemanı 0 numaraya sahiptir, son boyut 1'dir.
Apaçık.
 
alsu :
sadece açıkça hesaplayın, örneğin iMAOnArray() kullanarak veya kendi algoritmanızı kullanarak.

Teşekkürler, deneyeceğim.

Diğer taraftan yaklaşmaya çalıştım. RSI'dan basit bir özel MA göstergesi oluşturuldu. Şimdi Uzman Danışman'ın üzerinde pozisyon açması için koşulları formüle etmemiz gerekiyor.

Örneğin:

if (RedLine1>BlueLine1&&RedLine2<BluLine2) OP_BUY

if (RedLine1<BlueLine1&&RedLine2>BlueLine2) OP_SELL

Ama onları nasıl ilan edeceğimi bilmiyorum. yani:

double RedLine1 = iCustom(Symbol(), 0, "MARSI", ?, ?, ......, 1);

Bir bakabilir misin? Ya da biri lütfen baksın.

Dosyalar:
marsi.mq4  2 kb
 
Vinin :


iHigh(NULL, PERIOD_D1,1) - dünün yükseği

iLow(NULL, PERIOD_D1,1) - dünün en düşük seviyesi

iOpen(NULL, PERIOD_D1,1) - dünkü açılış

iClose(NULL, PERIOD_D1,1) - dünün kapanışı

Gösterge ayarlarında hızlı bir şekilde değiştirilebilen belirli bir tarihte ihigh, ilow, iopen ve iclose ayarı yapılabilir mi?

harici int verisi = 08/03/2011

iOpen(NULL, 08/03/2011,1) - böyle bir açılış mı?

 
Vadimkin :

Teşekkürler, deneyeceğim.

Diğer taraftan yaklaşmaya çalıştım. RSI'dan basit bir özel MA göstergesi oluşturuldu. Şimdi Uzman Danışman'ın üzerinde pozisyon açması için koşulları formüle etmemiz gerekiyor.

Örneğin:

if (RedLine1>BlueLine1&&RedLine2<BluLine2) OP_BUY

if (RedLine1<BlueLine1&&RedLine2>BlueLine2) OP_SELL

Ama onları nasıl ilan edeceğimi bilmiyorum. yani:

double RedLine1 = iCustom(Symbol(), 0, "MARSI", ?, ?, ......, 1);

Bir bakabilir misin? Ya da biri lütfen baksın.


Sizin durumunuzda harici parametre yoktur, bu nedenle sorular yerine herhangi bir şey yazmanıza gerek yoktur:

double RedLine1 = iCustom(0, 0, "MARSI", satır dizini, çubuk numarası);

Daha spesifik olarak,

double RedLine1 = iCustom(0, 0, "MARSI", 0, 1); - 1 çubukta kırmızı

double RedLine2 = iCustom(0, 0, "MARSI", 0, 2); - 2. çubukta kırmızı

double BlueLine1 = iCustom(0, 0, "MARSI", 1, 1); - 1 çubukta mavi

double BlueLine2 = iCustom(0, 0, "MARSI", 1, 2); - 2 çubukta mavi
 
alsu :

Sizin durumunuzda harici parametre yoktur, bu nedenle sorular yerine herhangi bir şey yazmanıza gerek yoktur:

double RedLine1 = iCustom(0, 0, "MARSI", satır dizini, çubuk numarası);

Daha spesifik olarak,

double RedLine1 = iCustom(0, 0, "MARSI", 0, 1); - 1 çubukta kırmızı

double RedLine2 = iCustom(0, 0, "MARSI", 0, 2); - 2. çubukta kırmızı

double BlueLine1 = iCustom(0, 0, "MARSI", 1, 1); - 1 çubukta mavi

double BlueLine2 = iCustom(0, 0, "MARSI", 1, 2); - 2 çubukta mavi


Çok teşekkürler.