Diğer bazı EA'lardan ve indis'ten gelen kod yardımıyla kendi stratejime dayalı bir EA kodlamaya çalışıyorum. ama şimdi bir şeye takıldım.
<kaldırıldı>
Lütfen kodu göndermek için SRC düğmesini kullanın. . .
extern string LotsProgression="0.1;0.1;0.2; 0.3 ... double lots []; // [0]=0.1 [1]=0.1 [2]=0.2 [3]= 0.3 [34]=661.1 int plen; // 35 int init(){ ... }
Bahsettiğin şey tamam. sorun kodun geri kalanında. İki hata alıyorum (yalnızca yeni meta düzenleyicide).
'init' - function can be declared only in the global scope and 'init' - function already defined and has body
evet anladım ve düzelttim Şimdi zaman çerçevesi kodunda hata alıyorum.
//--- EA PARAMETERS extern int EA_TF= 240 ; extern bool Forced_TF= True ; bool TF; if (Forced_TF != True ) TF = EA_TF; //These two lines i think, have error. else TF = Period (); //New metaeditor is not accepting "TF = EA_TF;" from above line.
Forced_TF doğruysa, EA ticaret yapmalı ve aktif grafik (EA'yı yerleştirdiğim) farklı bir zaman diliminde açılmış olsa bile, yalnızca belirtilen zaman diliminden sinyal almalıdır. Değer false ise, herhangi bir zaman diliminde çalışması gerekir.
evet anladım ve düzelttim Şimdi zaman çerçevesi kodunda hata alıyorum.
Forced_TF doğruysa, EA ticaret yapmalı ve aktif grafik (EA'yı yerleştirdiğim) farklı bir zaman diliminde açılmış olsa bile, yalnızca belirtilen zaman diliminden sinyal almalıdır. Değer false ise, herhangi bir zaman diliminde çalışması gerekir.
Bir bool olarak TF'niz var. .. ama onu bir int olarak ayarlamaya çalışıyorsunuz. . . bunu dene . . .
//--- EA PARAMETERS extern int EA_TF= 240 ; extern bool Forced_TF= True ; int TF; if (!Forced_TF) TF = EA_TF; //These two lines i think, have error. else TF = Period (); //New metaeditor is not accepting "TF = EA_TF;" from above line.
@RaptorUK seni yakaladım. ve yine eski editörde her şey yolunda, ancak yeni editör hala bir uyarı veriyor, hata satırından sonra kodda alıntı yapıyor,
//+------------------------------------------------------------------+ //| 01Multi_EA.mq4 | //| Copyright © 2004, MetaQuotes Software Corp. | //| http://www.metaquotes.net/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2004, MetaQuotes Software Corp." #property link "http://www.metaquotes.net/" #property version "1.00" #property strict //--- input parameters input int EA_TF= 60 ; input bool Forced_TF= True ; input int MagicNumber= 12345 ; input int FastMA_Period= 5 ; input int FastMA_Shift= 0 ; input int FastMA_Method= 1 ; input int FastMA_Price= 0 ; input int SlowMA_Period= 34 ; input int SlowMA_Shift= 0 ; input int SlowMA_Method= 1 ; input int SlowMA_Price= 0 ; input string LotsProgression="0.01;0.02;0.03;0.04;0.05;0.06;0.07;0.08;0.09;0.10;0.11;0.12;0.13;0.14;0.15;0.16;0.17;0.18;0.19;0.20"; input bool NewCycle= True ; input int Limit_TP= 50 ; input bool Use_TP= False ; input int Limit_SL= 50 ; input bool Use_SL= False ; input int MaxSlippage= 3 ; input int OrderTries= 10 ; int TF, Plen; double TP, SL, pips2dbl, pips2point, pipValue, Slippage, Lots[]; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit () { //---- if (Forced_TF != True ) TF = EA_TF; else TF = Period (); int i,j,k; string ls; while ( true ) { j= StringFind (LotsProgression, ";" ,i); if (j> 0 ) { ls= StringSubstr (LotsProgression,i,j-i); // <<<<<"possible use of uninitialized variable 'i' 01Multi_EA.mq4 46 38">>>>> i=j+ 1 ; k++; ArrayResize (Lots,k); Lots[k- 1 ]= StrToDouble (ls); } else { ls= StringSubstr (LotsProgression,i); k++; ArrayResize (Lots,k); Lots[k- 1 ]= StrToDouble (ls); break ; } } Comment ( "Copyright © 2004, MetaQuotes Software Corp." ); if ( Digits == 5 || Digits == 3 ) { pips2dbl = Point * 10 ; pips2point = 10 ; pipValue = ( MarketInfo ( Symbol (), MODE_TICKVALUE ))* 10 ; } else { pips2dbl = Point ; pips2point = 1 ; pipValue = ( MarketInfo ( Symbol (), MODE_TICKVALUE ))* 1 ; } Slippage = pips2dbl*MaxSlippage; TP = pips2dbl*Limit_TP; SL = pips2dbl*Limit_SL; //---- return ( INIT_SUCCEEDED ); }
@WHRoeder Kodun tamamını yapıştırdı.
@RaptorUK seni yakaladım. ve yine eski editörde her şey yolunda, ancak yeni editör hala bir uyarı veriyor, hata satırından sonra kodda alıntı yapıyor,
@WHRoeder Kodun tamamını yapıştırdı.
Bu bir hata değil, bir uyarıdır. . . uyarıdan kurtulmak için değişkeni sadece bildirmek yerine ilklendirin. mql4'te bir değişken bildirdiğinizde o da başlatıldı, şimdi mql4.5 ile isterseniz değişkeni açıkça başlatmanız gerekiyor. . .
int i = 0 , j, k; // i initialised to 0
pipValue = ( MarketInfo ( Symbol (), MODE_TICKVALUE ))* 10 ;Onay değerini tek başına kullanmayın https://www.mql5.com/en/forum/133792/page3#512466
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Diğer bazı EA'lardan ve indis'ten gelen kod yardımıyla kendi stratejime dayalı bir EA kodlamaya çalışıyorum. ama şimdi bir şeye takıldım.
Bu mantığı ya da gerçekte ne olduğunu anlayamıyorum.
Not: Bir arkadaşım stratejimi beğendi ve bu EA'yı yarattı. Ama ikisini de kaybettim (EA ve kodlayıcı arkadaşımın irtibatı) bu yüzden şimdi çok temel kodlama bilgimi test etmeye çalışıyorum, çünkü bu Stratejinin tekrar kodlanmasını gerçekten istiyorum.