jarshi:
当然可以做。这个你可以花钱找开发者实现。
请问论坛的各位大大,
我是新人,做日内波段交易,我对24小时盯盘感到痛苦!
请问是否可以做一个EA我输入价格范围(这个价格跟当前价格差点在100点以内),然后让它自己等待价格 符合设定范围后,自己执行“立即买入”来交易?
做波段来说好的进场位置非常重要,求高手告诉我MT4的接口是否能做到我提的这些要求。
一般来说是在当前200点以外不能挂单,但我这个方法理论上可以行的同,我只是想要一个好的进场位置,麻烦高人赐教!
这个要求很简单
简单么,我要求实际是在当前价格很近的点差内(不能挂单)设置价格,等到价格到了这个范围,执行“立即买入”或者“立即卖出”,哪位大大能给一点思路呢?
我没有找到立即买入的函数!
普通的ordersend就行了
立即买入功能用哪个函数调呢?MQL4里?
各位谁能指点下?
我写了一段,但他根本就不执行啊,大家谁能给看下那有问题?
//+------------------------------------------------------------------+ //| OrderIntime.mq4 | //| Copyright 2014, Jarshi`s | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, Jarshi`sQQ:89588391" #property link "http://www.mql5.com" #property version "1.00" #property strict //--- input parameters extern int waiting_time=15; extern double lot_vol=0.1; extern double price_wanted; extern int acting_mode; //0卖,1是买 extern int magic=405215; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- DrawLabel("will1","www.zhinngiaoi.com,QQ:2756892070",2,13,"宋体",9,Aqua,0); //--- return(INIT_SUCCEEDED); } int start() { int if_doit=0; while(if_doit==0) { if(instantDoit(lot_vol,acting_mode,price_wanted, TimeLocal()+waiting_time*60)>0) { if_doit=1; } Sleep(100); } return(0); } //执行立即买入 int instantDoit(double lots,int mode ,double priceat,datetime exptime) { int ticket=0; if(mode==1) { if(priceat<=Bid) { ticket=OrderSend(Symbol( ) ,OP_BUY,lots,priceat,0,0,0,Symbol()+"buy",magic,exptime,White); } } else { if(priceat>=Ask) { ticket=OrderSend(Symbol( ) ,OP_SELL,lots,priceat,0,0,0,Symbol()+"sell",magic,exptime,White); } } if(ticket<0) { Print("OrderSend failed with error #",GetLastError()); } else Print("OrderSend placed successfully"); return(ticket); } void DrawLabel(string name,string text,int X,int Y,string FontName,int FontSize,color FontColor,int zhongxin) { if(ObjectFind(name)!=0) { ObjectDelete(name); ObjectCreate(name,OBJ_LABEL,0,0,0); ObjectSet(name,OBJPROP_CORNER,zhongxin); ObjectSet(name,OBJPROP_XDISTANCE,X); ObjectSet(name,OBJPROP_YDISTANCE,Y); } ObjectSetText(name,text,FontSize,FontName,FontColor); WindowRedraw(); }
不是几句话说得清。
把你的开仓函数instantDoit中的OP_BUY 改成 OP_BUYLIMIT,把OP_SELL改成OP_SELLLIMIT。
几个问题:
(1)主函数里面的循环会导致重复一致下单,你应该效验当前订单数量,如果达到你的期望,则不要再开仓了。
(2)你要下市价单,那么下单函数里面的价格OP_BUY 应该对应Ask,OP_Sell应该对应Bid,市价单没有有效期之说,可去掉。
(3)ticket<=0 打印报错,而不是ticket<0。
加强基础编程工作能力 。
请问论坛的各位大大,
我是新人,做日内波段交易,我对24小时盯盘感到痛苦!
请问是否可以做一个EA我输入价格范围(这个价格跟当前价格差点在100点以内),然后让它自己等待价格 符合设定范围后,自己执行“立即买入”来交易?
做波段来说好的进场位置非常重要,求高手告诉我MT4的接口是否能做到我提的这些要求。
一般来说是在当前200点以外不能挂单,但我这个方法理论上可以行的同,我只是想要一个好的进场位置,麻烦高人赐教!