Nasıl kodlanır? - sayfa 47

 

Teşekkürler MrPip

Çoğunlukla nereden geldiğini anlıyorum, daha önce vereceğim ve sıkışırsam tekrar soracağım.

şerefe

 
MrPip:
Aşağıdaki kırmızı düzeltmeler. Robert

Teşekkürler Robert.. yardımcı oldun..

 

MTF göstergeleri ile bar geri sayımı

MTF = çoklu zaman dilimi göstergeleri

çift BarCountDownInSec()

{

çift g;

g=Zaman[0]+Period()*60-TimeCurrent();

dönüş(g);

}

Yukarıdaki fonksiyon , mevcut tablodaki çubuklar için ikinci geri sayımı verir. Bu nedenle, 5 dakikalık bir grafiğe yerleştirilirse, her 5 dakikalık çubuk için ikinci geri sayımı gösterecektir.

S: 5 dakikalık bir grafikteyken, 15 dakikalık bir çubuk (yani 3x 5 dakikalık çubuklar) için nasıl saniye geri sayımı yapabilirim, yani 6.00'dan 6.15'e kadar 15 dakikalık bir geri sayım. sonra 6.15'ten 6.30'a, ben 5 dakikalık bir grafikteyken ???

 

Programlamamla ilgili sorun (HATA)

Merhaba,

Birisi benim için hatayı temizlemeye yardımcı olabilir. Kodu tekrar toplamadığım sürece çizim histogramının görünmemesi için neredeyse oradaydım.

Lütfen yardım et!!! Lütfen lütfen lütfen

Saygılarımızla

Dosyalar:
 

özel sorun

Bir EA'nın iCustom parçası için kullanmam gereken bu indi'nin dize adı nedir?

denedim

MT4-LevelStop-Ters-vBO-4

MT4-LevelStop-Ters-

MT4-LevelStop-Ters

vBO-4

vB0.4

vtsbh2483-

MT4-LevelStop-Ters-" + INDICATOR_VERSION + "(

Bu yüzden bundan sonra ne yapacağım hakkında hiçbir fikrim yok.

veya ATRMode, Manuel Mod vb. Dize Adlarını girmem gerekiyor mu?

Herhangi bir yardım harika olurdu

 

Hatayı görebilen var mı? Bu koddaki hatanın nerede olduğunu göremiyorum. almaya devam ediyorum. Bunu belirtmek için herhangi bir yardım harika olurdu. teşekkürler

LongSig Değişken tanımlanmadı

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

//| Açık pozisyonları hesaplayın |

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

int CalculateCurrentOrders() {

satın alır = 0; satıyor = 0;

string sembolü=Sembol();

//----

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) devam;

if(OrderSymbol()==Symbol() && OrderMagicNumber()==expertId)

{

if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP) satın alır++;

if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP) satıyor++;

}

}

//---- iade sipariş hacmi

if(satın alır>0) iade(satın alır);

başka iade(-satış);

}

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

//| Açık sipariş koşullarını kontrol edin |

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

geçersiz CheckForSignals() {

buysig=yanlış;

satış=yanlış;

yakın satın alma=yanlış;

satış=yanlış;

double MOM = iCustom (NULL,0,"Momentum-ZL",MOMPperiod,0,shift);

double SRL = iCustom (NULL,0,"MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPperiod, ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,233);

double SRS = iCustom (NULL,0,"MT4-LevelStop-Reverse-vBO-4",UseATRMode,NonATRStopPips,ATRPperiod, ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,234);

double QQE_RsiMa = iCustom(NULL,0,"QQE",0,shift);

double QQE_TrLevelSlow = iCustom(NULL,0,"QQE", 1, shift);

double QQE_RsiMaPrev = iCustom(NULL,0,"QQE",0,shift + 1);

double QQE_TrLevelSlowPrev = iCustom(NULL,0,"QQE", 1, shift + 1);

double Pivot = iCustom (NULL,0,"Pivot Points Multitimeframe",midpivots,Fhr,günlük,haftalık,aylık,1,vardiya)

bool LongSig = QQE_RsiMaPrev QQE_TrLevelSlow >50.0;

bool ShortSig = QQE_RsiMaPrev > QQE_TrLevelSlowPrev && QQE_RsiMa < QQE_TrLevelSlow<50.0;

bool LongSig2 = ANNE>0.0;

bool ShortSig2 = ANNE<0.0;

bool LongSig3 = SRL>Pivot;

bool ShortSig3 = SRS<Pivot;

buysig = LongSig && LongSig2 && LongSig3;

sellsig = ShortSig && ShortSig2 && ShortSig3;

yakın satın alma=satış;

closesell=satın alma;

}

geçersiz CheckForOpen() {

if (last==Zaman[0]) dönüşü;

int res,ord;

çift giriş, durdurma, kar;

ord=CurrentOrders();

if (ord!=0) CheckForClose();

ord=CurrentOrders();

//---- satın alma koşulları

if (satın alır<ArdışıkTicaretler && satın alır) {

res=OpenAtMarket(OP_SATIN AL,Çok Sayıda);

if (res<0) Print("SATIN AL emri açılırken hata oluştu : ",ErrorDescription(GetLastError()));

başka son=Zaman[0];

}

//---- satış koşulları

if (-sells<ArdışıkTrades && sellsig) {

res=OpenAtMarket(OP_SELL,Çok);

if (res<=0) Print(" SAT emri açarken hata oluştu : ",ErrorDescription(GetLastError()));

başka son=Zaman[0];

}

}

int OpenAtMarket(int modu, çift lot) {

int res,tr,col;

çift açık fiyat,sl,tp;

dener=0;

while (res<=0 && try<SiparişNumarası) {

tr=0; while (tr<5 && !IsTradeAllowed()) { tr++; Uyku(2000); }

Yenileme Oranları();

if (mod==OP_SEL) {

openprice=Teklif;

sütun=Kırmızı;

} başka {

//openprice=nd(Sor);

openprice=Sor;

sütun=Mavi;

}

res=OrderSend(Symbol(),mode,lot,openprice,slippage,sl,tp,EAName+expertId,expertId,0,col);

çalışır++;

}

dönüş(ler);

}

Onu düzeltti

 

Listenizdeki ilkini vB0-4 için O harfi yerine sıfır 0 rakamıyla deneyin.

Robert

Beno:
Bir EA'nın iCustom parçası için kullanmam gereken bu indi'nin dize adı nedir?

denedim

MT4-LevelStop-Ters-vBO-4

MT4-LevelStop-Ters-

MT4-LevelStop-Ters

vBO-4

vB0.4

vtsbh2483-

MT4-LevelStop-Ters-" + INDICATOR_VERSION + "(

Bu yüzden bundan sonra ne yapacağım hakkında hiçbir fikrim yok.

veya ATRMode, Manuel Mod vb. Dize Adlarını girmem gerekiyor mu?

Herhangi bir yardım harika olurdu
 

Teşekkürler Bay Pips

sıraladı

 
MrPip:
Aşağıdaki kırmızı düzeltmeler. Robert

bunu denedim ama işe yaramıyor gibi görünüyor.. günde sadece bir işlem istiyorum..

for(int a=0;a<OrdersTotal();a++)

{

if (OrderSelect(a,SELECT_BY_POS,MODE_TRADES) == doğru)

{

if (OrderSymbol()== Symbol() && OrderMagicNumber()== Magic_Number)

{

if (TimeDay(OrderOpenTime()) >= TimeDay(TimeCurrent())) İşlem = false;

if (TimeDay(OrderOpenTime()) < TimeDay(TimeCurrent())) İşlem = true;

}

}

}
 
antone:
bunu denedim ama işe yaramıyor gibi görünüyor.. günde sadece bir işlem istiyorum..

Bunu diğer EA'larda kullandım ve doğru çalışıyor.

Bugün açık yerine bugün kapanan ticareti kontrol ediyorum.

Başlangıçta kullanım

if (LastTradeClosedToday()) return(0);

// yeni işlemler açmak için burayı kodlayın

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

//| SonTicaretBugün Kapandı |

//| Son işlemin bugün kapanıp kapanmadığını görmek için Geçmişi Kontrol Edin |

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

bool LastTradeClosedToday()

{

int cnt, toplam;

bool Kapalı;

toplam = GeçmişToplam();

için (cnt = toplam - 1; cnt >= 0; cnt--)

{

OrderSelect (cnt, SELECT_BY_POS, MODE_HISTORY);

if(OrderSymbol()!=Symbol()) devam ediyor;

(OrderMagicNumber() != MagicNumber) devam ederse;

Kapalı = yanlış;

if (OrderType() == OP_BUY)

{

if (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent()))

{

Kapalı = doğru;

}

cnt = 0;

}

if (OrderType() == OP_SEL)

{

if (TimeDay(OrderCloseTime()) == TimeDay(TimeCurrent()))

{

Kapalı = doğru;

}

cnt = 0;

}

}

dönüş (Kapalı);

}