سلام ، من با نام تجاری جدید در MQL4 جدید هستم ، که از TradeStation به دست آمده ام ، و من به یک مشکل رسیده ام ، یعنی اینکه چگونه می توانم موقعیت طولانی یا کوتاه باز داشته باشم. در Tradestation می توانیم از "اگر MarketPosition = 1" استفاده کنیم. "برای مدت طولانی و-1 برای شورت. بدیهی است که این در MQL4 کمی چالش برانگیز است. من نتوانسته ام یک راه حل آنلاین پیدا کنم ، بنابراین امیدوارم کسی ممکن است مرا در مسیر درست راهنمایی کند؟شاید من مجبور باشم از طریق "blotter" خود حلقه کنم تا ببینم آیا چیزی با شماره جادوی من مطابقت دارد تا بگوید آیا EA فعلی موقعیت فعال دارد؟
من کد مرجع را ضمیمه می کنم - هرگونه کمک بسیار قدردانی می شود ، تشویق و تشکر می کنم.
فایل ها:
_simplema_dmy. mq4 4 kb
- چگونه می توانم یک موقعیت تجاری را باز کنم
- سوال در مورد کد
- مدیریت موقعیت های چند برابر EA
[حذف شده] 2016. 06. 02 16:55 #1
//+------------------------------------------------------------------+ // |_simplema_dmy. mq4 | // |tsferro | //| | //+------------------------------------------------------------------+ #ویژگی کپی رایت "Tsferro" #ویژگی ارتباط دادن "" #ویژگی نسخه "1. 00" #ویژگی سخت گیرانه #تعريف كردنsignal_none0 #تعريف كردنsignal_buy1 #تعريف كردنsignal_sell2 #تعريف كردنclosebuy signal_closebuy3 #تعريف كردنclosesell4 // --- پارامترهای ورودی بیرونی در نظر گرفتنmaper =150; بیرونی در نظر گرفتنbbper =20; بیرونی دو برابرBBSDS =2.0; بیرونی دو برابرSTPPCT =0. 015; بیرونی دو برابرتعداد زیادی =1.0; بیرونی در نظر گرفتنلغزش =3; بیرونی در نظر گرفتنMagicNumber =10101; در نظر گرفتنP =1; در نظر گرفتنسفارش = سیگنال_نه ؛در نظر گرفتنکل ، بلیط ، بلیط 2 ؛دو برابرStopLossLevel ، TakeProfitLevel ، Stoplevel ؛دو برابرآخرین klose = iClose (خالی,0,1); دو برابرpriorClose = iClose (خالی,0,2); بولmaxcrossup = false ؛بولmaxcrossdn = false ؛//+------------------------------------------------------------------+ // |عملکرد اولیه سازی متخصص | //+------------------------------------------------------------------+ در نظر گرفتن در عین حال() <//--- //--- برگشت(init_sucted);> //+------------------------------------------------------------------+ // |عملکرد deinitialization متخصص | //+------------------------------------------------------------------+ خالی ابدیت(محاصره کردن در نظر گرفتندلیل)<//---> //+------------------------------------------------------------------+ // |عملکرد تیک متخصص | //+------------------------------------------------------------------+ خالی مکتب() <//--- دو برابرmyma =IMA(خالی,0، Maper ،0, MODE_SMA, close قیمت,1); MAxCrossUp = LatestClose> IMA(خالی,0، Maper ،0, MODE_SMA, close قیمت,1) && PriorClose<IMA(خالی,0، Maper ،0, MODE_SMA, close قیمت,2) ؛maxcrossdn = esteclose<IMA(خالی,0، Maper ،0, MODE_SMA, close قیمت,1) && PriorClose> IMA(خالی,0، Maper ،0, MODE_SMA, close قیمت,2); //+------------------------------------------------------------------+ // |منطق خروج | //+------------------------------------------------------------------+ // در اینجا جایی است که من سعی می کنم تشخیص دهم که آیا موقعیتی را باز کرده ام. اگر چنین است و پس از آن اگر MA صلیب است ، پس از آن خارج شوید. if(maxcrossup) سفارش = signal_closebuy ؛// قانون برای خروج از تجارت طولانی if.//+------------------------------------------------------------------+ if(maxcrossdn) سفارش = signal_closesell ؛// قانون برای خروج از یک تجارت کوتاه if.//+------------------------------------------------------------------+ // |منطق ورود | //+------------------------------------------------------------------+ if(آخرین کارif (LatestClose> PriorClose && LatestClose>myma) سفارش = signal_sell ؛if(سیگنال_بوی)سفارش دادن(سمبل() ، op_buy ، تعداد زیادی ، سؤال کردن ، لغزش ،0,0,"خرید"، MagicNumber ،0، DodgerBlue) ؛if(SIGNAL_SELL)سفارش دادن(سمبل() ، op_sell ، تعداد زیادی ، پیشنهاد ، لغزش ،0,0,"کوتاه"، MagicNumber ،0,DodgerBlue);> //+------------------------------------------------------------------+
[حذف شده] 2016. 06. 02 17:19 #2
در نظر گرفتنTotalopenbuys ()<در نظر گرفتنکل =0; برای(در نظر گرفتنمن =حاد()-1; i>= 0؛من--)<if(انتخاب کردن(من ، select_by_pos ، mode_trades))<if(OrderMagicNumber () == MagicNumber)<if(OrderType() == OP_BUY) total++;>> دیگر چاپ("انتخاب سفارش انجام نشد",گلیستور());> برگشت total;> در نظر گرفتنTotalopensells ()<در نظر گرفتنکل =0; برای(در نظر گرفتنمن =حاد()-1; i>= 0؛من--)<if(انتخاب کردن(من ، select_by_pos ، mode_trades))<if(OrderMagicNumber () == MagicNumber)<if(OrderType() == OP_SELL) total++;>> دیگر چاپ("انتخاب سفارش انجام نشد",گلیستور());> برگشت total;> تجارت گزینه های دودویی در ایران...
ما را در سایت تجارت گزینه های دودویی در ایران دنبال می کنید
برچسب :
نویسنده : زینالعابدین مراغهای
بازدید : <-PostHit->
تاريخ : دوشنبه
2 مرداد
1402 ساعت: 22:19