مرحبا،
أريد أن أكتب برنامج نصي لشراء أو بيع بأقصى سرعة ممكنة. كتبت هذا الرمز ، لكنه يعمل فقط باعتباره EA ، وليس كبرنامج نصي. وكـ EA ، لديّ نافذة التأكيد ، التي ستضيّع الوقت.
هل يمكن لأي شخص جعل هذه الشفرة تعمل كبرنامج نصي؟
أو إذا كان لديك ملكك الخاص ، يرجى إرساله إليّ.
هنا قيمي:
المخاطر = 1٪ من AccountBalance
SL = 50 نقطة
TP = 100 نقطة
تم حساب الكثير مع الأخذ في الاعتبار SL و pipvalue
هنا هو الرمز الخاص بي لأمر الشراء:
void start ()
{
ضعف مزدوج = 0.00؛* إذا كنت ترغب في استخدام قيمة قطع ثابتة ، قم بتغيير هذه القيمة! *
مضاعفة المخاطر = 1.0؛
int StopLoss = 50؛/Number in Pips أي: 50 لـ 50 نقطة.
int ProfitTarget = 100؛/Number in Pips أي: 50 لـ 50 نقطة.
SL مزدوج = 10 * StopLoss.
double TP = 10 * ProfitTarget؛
double PipValue = MarketInfo (الرمز () ، MODE_TICKVALUE) ؛
Lots = (AccountBalance () * Risk)(SL * PipValue * 100)؛
تعليق (PipValue = ، PipValue ، \ n ، Lots = ، (AccountEquity () * Risk)(SL * PipValue * 100) ، \ n)؛
تعليق (IBFX - QuickBuy | وضع أمر طويل ، يرجى الانتظار ...) ؛
إذا (! IsTradeAllowed ())
{
طباعة (السياق التجاري مشغول! انتظر حتى يتم تحريره ...)؛
//حلقة لا نهائية
احيانا صحيح)
{
//إذا أصبح سياق التجارة حرًا ، فعليك إنهاء الحلقة وبدء التداول
إذا (IsTradeAllowed ())
{
طباعة (أصبح سياق التجارة حرًا!) ؛
استراحة؛
}
//إذا لم يتم استيفاء شرط كسر الحلقة ، فانتظر 0.1 ثانية
//وإعادة فحص
النوم (100)؛
Print (Início de Ordem de compra)؛
int ticketBD = -1؛
int t = 0؛
طباعة (TO = ، هدف الربح ، SELL = ، وقف الخسارة) ؛
طباعة (اسأل - SL * point =، Ask - SL، Ask TP * point =، Ask TP)؛
بينما (تذكرةبطاقة lt؛ 0)
{
RefreshRates ()؛
ticketBD = OrderSend (Symbol ()، OP_BUY، Lots، Ask، 3، Ask - SL، Ask TP،، 13052011، 0، NULL)؛
T ؛
إذا (ticketBDlt؛ 0)
{
طباعة (فشل OrderSend مع الخطأ # ، GetLastError ())؛
}
إذا كسر (Tgt؛ 9)؛
}
Print (Fim de ordem de compra)؛
}
}
//فيم كومبرا
تعليق()؛
إرجاع؛
}
// ----------------------------------------------- --------------------------------
شكرا لمساعدتك،