Hallo jongens,
Ik heb deze code die ik heb geschreven en in mijn gedachten werkt het perfect, maar mijn geest lijkt ongelijk en het weet niet waarom.
Dus heb ik het probleem bij een specifiek onderdeel gevolgd, maar ik heb nog steeds geen idee wat er toe leidt dat het faalt.
Er zijn ook geen fouten van enige betekenis.
Hier is het gedeelte waar het lijkt te falen:
Code ingevoegd als (Trades # 91; 7, RowNumber2 # 93; == 1) {if (Ask lt; = Trades # 91; 2, RowNumber2 # 93; Trades # 91; 6, RowNumber # 93; == 0) { int Ticket = OrderSend (Symbol (), OP_SELL, Lots, Ask, Slippage, Trades # 91; 4, RowNumber2 # 93 ;, 0, NULL, Trades # 91; 1, RowNumber # 93 ;, 0, Blue); Handel # 91; 6, RowNumber # 93; = 1;/Afdrukken (--- MagicNumber =, MagicNumber, ---); ArrayCounter2 = 0; RowNumber2 = 0; }} else {ArrayCounter2 = ArrayCounter2 1; RowNumber2 = RowNumber2 1; }
Hier is de volledige code:
Code ingevoegd/ --------------------------------------------- --------------------- /| FTB.mq4 |/| |/| https://www.mql4.com |/ ----------------------------------------------- ------------------- #eigenschap copyright #eigenschap strict extern int MagicNumber = 10001; externe dubbele lots = 0,1; extern dubbel TrailingStop = 0; extern int Slippage = 3; externe dubbele EntryGap = 0.00500; extern int BrokerDigits = 5; extern int AllowableDrawdown = 25; extern int MaxDrawdown = 610; extern bool MoneyManagement = false; dubbele ingang; dubbele StopLoss; dubbele TakeProfit; dubbele HalfCandleSize; dubbel Midden; dubbele OpenCheck; dubbele CloseCheck; dubbele handel # 91; 8 # 93; # 91; 20 # 93 ;;/ArrayNumber | MagicNumber | Entry | Stoploss | WaitCounter | Vervaltijd Ingevoerd | Bevolkte int SignalTime; int BarsOnChart = Bars; int IsNewCandle; int OrderError = 0; int RowNumber = 0; int RowNumber2 = 0; int ArrayCounter = 0; int ArrayCounter2 = 0;/ ----------------------------------------------- ------------------- /| Expert-initialisatiefunctie |/ ----------------------------------------------- ------------------- int OnInit () {Trades # 91; 0,0 # 93; = 1; Handel # 91, # 93 0,1; = 2; Transacties # 91; 0,2 # 93; = 3; Handel # 91, # 93 0,3; = 4; Handel # 91, # 93 0,4; = 5; Handel # 91, # 93 0,5; = 6; Handel # 91, # 93 0,6; = 7; Handel # 91, # 93 0,7; = 8; Handel # 91, # 93 0,8; = 9; Handel # 91, # 93 0,9; = 10; Handel # 91, # 93, 0,10; = 11; Handel # 91, # 93, 0,11; = 12; Handel # 91, # 93, 0,12; = 13; Handel # 91, # 93, 0,13; = 14; Handel # 91, # 93, 0,14; = 15; Handel # 91, # 93, 0,15; = 16; Handel # 91, # 93, 0,16; = 17; Handel # 91, # 93, 0,17; = 18; Handel # 91, # 93, 0,18; = 19; Handel # 91, # 93, 0,19; = 20; Afdrukken(-----------); Afdrukken (ArrayNumber =, transacties # 91; 0, RowNumber # 93;); Afdrukken (MagicNumber =, transacties # 91; 1, RowNumber # 93;); Print (Entry =, Trades # 91; 2, RowNumber # 93;); Afdrukken (Stoploss =, transacties # 91; 3, RowNumber # 93;); Afdrukken (WaitCounter =, transacties # 91; 4, RowNumber # 93;); Afdrukken (ExpirationTime =, handel # 91; 5, rijnummer # 93;); Afdrukken (ingevoerd =, transacties # 91; 6, rijnummer # 93;); Afdrukken (ingevuld =, transacties # 91; 7, rijnummer # 93;); Afdrukken(-----------); terugkeer (INIT_SUCCEEDED); }/ ---------------------------------------------- -------------------- /| Expert de�nitialisatiefunctie |/ ----------------------------------------------- ------------------- void OnDeinit (const int reason) {}/ ------------------ ------------------------------------------------ /| Expert-tikfunctie |/ ----------------------------------------------- ------------------- void OnTick () {if (BarsOnChart! = Bars)/Controleren op nieuwe geslotenkaarsen {BarsOnChart = Bars; IsNewCandle = 1; } else {IsNewCandle = 0; } if (IsNewCandle == 1)/Controleren of een nieuwe kaars is gesloten {SignalTime = Hour () - 1; if ((SignalTime gt; 8) (SignalTime lt; 14) (Hoog # 91; 1 # 93; gt; Hoog # 91; 2 # 93;))/Controleer of de signaalkaars een hogere waarde heeft dan de kaars ervoor en bevindt zich binnen het tijdsbestek {HalfCandleSize = (Hoog # 91; 1 # 93; - Laag # 91; 1 # 93;)2;/Berekent de helft van de kaarsmaat Midden = Laag # 91; 1 # 93; HalfCandleSize;/Berekent het midden van de kaars OpenCheck = Middle - Open # 91; 1 # 93 ;;/Berekent de afstand tussen open en midden. CloseCheck = Middle - Close # 91; 1 # 93 ;;/Berekent de afstand tussen dicht en midden if (OpenCheck gt; 0 CloseCheck gt; 0)/controleert of de kaars sluit in de onderste helft {Entry = NormalizeDouble (Low # 91; 1 # 93; - 0.0001, 5);/Reden voor OrderSend Fout 130 is dat de Entry Entry te dicht bij Current Market Entry ligt StopLoss = NormalizeDouble (High # 91; 1 # 93; 0.0005, 5); while (ArrayCounter lt; 20) {if (Trades # 91; 7, RowNumber # 93; == 0) {Trades # 91; 1, RowNumber # 93; = MagicNumber; Handel # 91, 2, RowNumber # 93; = Binnenkomst; Handel # 91; 3, RowNumber # 93; = StopLoss; Handel # 91; 4, RowNumber # 93; = 0; Handel # 91; 5, RowNumber # 93; = 0; Handel # 91; 6, RowNumber # 93; = 0; Handel # 91; 7, RowNumber # 93; = 1; MagicNumber = MagicNumber 1; Afdrukken(-----------); Afdrukken (ArrayNumber =, transacties # 91; 0, RowNumber # 93;); Afdrukken (MagicNumber =, transacties # 91; 1, RowNumber # 93;); Print (Entry =, Trades # 91; 2, RowNumber # 93;); Afdrukken (Stoploss =, transacties # 91; 3, RowNumber # 93;); Afdrukken (WaitCounter =, transacties # 91; 4, RowNumber # 93;); Afdrukken (ExpirationTime =, handel # 91; 5, rijnummer # 93;); Afdrukken (ingevoerd =, transacties # 91; 6, rijnummer # 93;); Afdrukken (ingevuld =, transacties # 91; 7, rijnummer # 93;); Afdrukken(-----------); breken; } else {ArrayCounter = ArrayCounter 1; RowNumber = RowNumber 1; }} ArrayCounter = 0; RowNumber = 0; }}} while (ArrayCounter2lt; 20) {if (Trades # 91; 7, RowNumber2 # 93; == 1) {if (Ask lt; = Trades # 91; 2, RowNumber2 # 93; Trades # 91; 6, RowNumber # 93; == 0) {int Ticket = OrderSend (Symbol (), OP_SELL, Lots, Ask, Slippage, Trades # 91; 4, RowNumber2 # 93 ;, 0, NULL, Trades # 91; 1, RowNumber # 93 ;, 0, Blue); Handel # 91; 6, RowNumber # 93; = 1;/Afdrukken (--- MagicNumber =, MagicNumber, ---); ArrayCounter2 = 0; RowNumber2 = 0; }} else {ArrayCounter2 = ArrayCounter2 1; RowNumber2 = RowNumber2 1; }} if (ArrayCounter2 == 20) {ArrayCounter2 = 0; RowNumber2 = 0; }}
Als jullie me je wijsheid zouden kunnen geven, zou dat zeer gewaardeerd worden.
Bedankt!