Dus als ik probeer te handelen tussen 23:00 en 01:00 of een andere tijdsperiode die middernacht overschrijdt, gebruik ik de OR-functie in plaats van de AND-functie om te vergelijken, toch? (TimeCurrent() gt;= StartTime || TimeCurrent() lt; StopTime)
Dus als ik probeer te handelen tussen 23:00 en 01:00 of een andere tijdsperiode die middernacht overschrijdt, gebruik ik de OR-functie in plaats van de AND-functie om te vergelijken, toch? (TimeCurrent() gt;= StartTime || TimeCurrent() lt; StopTime)
Dit is waar het over het algemeen een beter idee is om de tijdlogica te doorbreken. Ingevoegde code datetime StartTime = StrToTime(23:00); datetime StopTime = StrToTime(01:00); string TimeCheck = Buiten handelstijden; if(StartTime lt; StopTime TimeCurrent() gt;= StartTime TimeCurrent lt; StopTime) TimeCheck = Inside Trading Times; if(StartTime gt; StopTime (TimeCurrent() gt;= StartTime || TimeCurrent lt; StopTime) TimeCheck = Inside Trading Times; if(TimeCheck == Inside Trading Times) Order = OP_BUY;
Wat is dan de code om alleen te handelen als de tijd elke dag tussen 23:00 en 01:00 uur is?
Nee. Je lijkt het punt te missen. Voor de EA gebeuren 01:00 en 23:00 op dezelfde dag. De EA negeert effectief middernacht. Om dit te compenseren, moet u met StrToTime controleren of Stop Time voor of na Start Time komt en de logica dienovereenkomstig aanpassen.
Zou de code ongeacht de dag nog steeds werken? Dat betekent dat het elke keer wordt verhandeld tussen 23:00 en 01:00 uur?
23:00 en 01:00 zou dezelfde dag zijn (laten we zeggen 1 januari) in plaats van 1 januari, 23:00 en 2 januari, 01:00
Welk probleem kan ik tegenkomen met middernacht? Zou ik in de problemen komen als ik een tijdsperiode tussen 23:00 en 01:00 zou proberen op te geven? Soortgelijk? datetime TimeCheck1 = StrToTime(23:00); datetime TimeCheck2 = StrToTime(01:00); if (TimeCurrent() gt; TimeCheck1 TimeCurrent() lt; TimeCheck2 Buy1 gt; Buy2 Buy3 lt; Buy4) { Order = SIGNAL_BUY; }
Ja. Zodra u zoiets doet, moet u ervoor zorgen dat de opgegeven tijd op de juiste dag valt. Je moet ervoor zorgen dat je middernacht goed afhandelt.
Dus als ik een kooporder wil openen onder de voorwaarde dat de tijd tussen 19:00 en 19:30 uur is, moet ik de volgende code gebruiken, klopt dat? datetime TimeCheck1 = StrToTime(19:00); datetime TimeCheck2 = StrToTime(19:30); if (TimeCurrent() gt; TimeCheck1 TimeCurrent() lt; TimeCheck2 Buy1 gt; Buy2 Buy3 lt; Buy4) { Order = SIGNAL_BUY; }
dit is waar u misschien wilt beginnen met het gebruik van tekenreeksconversies. datetime TimeCheck = StrToTime(12:34); de vergelijk TimeCheck met TimeCurrent()