Note 1: for the "aura" conditions, the text will say "TARGET", even though auras typically refer to buffs on yourself. Don't worry about that, if you do an "aura" condition and choose Solar Eclipse, it will work just fine. Note also that the "aura" conditions work for buffs on yourself OR debuffs on your target. Thus the slight funkiness in wording. (The latest version that I have not posted changes this language to say "PLAYER", which I think will make more sense in most cases.)
If I'm reading your condition correctly, in english, you want:
Cast moonfire if:
- the moonfire DoT is not already up
- solar eclipse isn't up or if it is, it has less than 7 seconds left
- lunar eclipse isn't up or if it is, it has more than 3 seconds left
Your full condition would become:
ONLY EXECUTE MOONFIRE IF:
NOT (TARGET HAS [MOONFIRE DOT])
AND
PLAYER MISSING [ECLIPSE SOLAR] OR LESS THAN 7 SEC REMAINS)
AND
(
NOT (PLAYER MISSING [ECLIPSE LUNAR] OR LESS THAN 3 SEC REMAINS)
OR
NOT (HAVE >= 1 STACKS OF [ECLIPSE LUNAR])
)