期货入门基础知识,818期货学习网

通知公告
期货短线交易技巧图文资料个股期权基础知识券商类超级大公司开户,手续费加1分钱期权大爆发,仿真账号申请通道期货最新手续费期货最新保证金一手期货多少钱一手50ETF期权多少钱

第十四课 开盘具有关键意义:以“Camarilla和时区突破交易法”为(10)

2014-08-09 20:54 来源:818期货学习网



//+---------------------------------------------+

//| Hans123MV22 |

//| Copyright?2009,Dina |

//|

//+---------------------------------------------+

#property copyright“Copyright?2009,Dina”

//----input parameters

extern int Start1=10; //begin of the first session;adjust by your broker

extern int Start2=14;//begin of the second session

extern int EOD=24;//for closing orders at end of day

extern int FridayClosing=23;//broker friday closing time

extern bool FirstSessionOnly=0;//if it equals 1,it trades the first range only(for testing)

extern int Length=4;//length of range for determining high/low

extern int Pips=5;//trigger above/bellow range

extern int StopLoss=50;

extern int BreakEven=30;

extern int TrailingStop=0;//if equals 0,it uses breakeven

extern int TakeProfit=80;

extern double Lots=1;

//+---------------------------------------------+

//| expert start function

//+------------------------------~------------~-+

int start()

{

//----

int i,Ticket,MN;

//Normalize limes

if(EOD==24) EOD=0;

if(FridayClosing==0) FridayClosing=24;

//Setup comment

string Text=“Hans123”+Symbol();

//Setup orders

if(Hour()==Start1&&Minute()<10){

MN=1;

SetOrders(Text,MN);

}

if(Hour()==Start2&&Minute()<10 && FirstSessionOnly==O){

MN=2;

SetOrders(Text,MN);

}

//Manage opened orders

for(i=0;i<OrdersTotal();i++){

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderComment()==Text){

//close open positions at EOD

if(Hour()==EOD||(DayOfWeek()>=5 && Hour()==FridayClosing-1 && Minute()>=50)){

switch(OrderType()){

case OP_BUY:

OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);

break;

case OP_SELL:

OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);

break;

default:OrderDelete(OrderTicket());

break;

}

Sleep(10000);

}

else{

//move al BE if profit>BE

if(TrailingStop==0){

if (OrderType()==OP_BUY){

if(High[0]-OrderOpenPrice()>=BreakEven*Point && OrderStoplρss()>OrderOpenPrice()){

OrderModify(OrderTicket(),OrderOpenPrice (),OrderOpenPrice(),OrderTakeProfit(),0,Green);

Sleep(10000);

}

}

if(OrderType()==OP_SELL){

if(OrderOpenPrice()-Low[0]>=BreakEven*Point && OrderStopLoss()>OrderOpenPrice()){

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);

Sleep(10000);

}

}

}

//use trailing stop

else{

if(OrderType()== OP_BUY){

if(High[0]-OrderStopLoss()>TrailingStop*Point){

OrderModify(OrderTicket(),OrderOpenPrice(),High[0]-TrailingStop*Point,OrderTakeProfit(),0,Green);

Sleep(10000);

}

}

if(OrderType()==OP_SELL){

if(OrderStopLoss()-Low[0]>TrailingStop*Point){

OrderModify(OrderTicket(),OrderOpenPrice(),Low[0]+TrailingStop*Point,OrderTakeProfit(),0,Green);

Sleep(10000);

}

}

}

}

}

}

}

return(0);

}

//+---------------------------------------------+

void SetOrders(string Text,int MN){

int i,Ticket,Bought,Sold;

double EntryLong,EntryShort,SLLong,SLShort,TPLong,TPShot;

//Detennine range

EntryLong

=iHigh(NULL,60,Highest(NULL,60,MODE_HIGH,Length,1))+(Pips/*+MarketInfo(Symbol(),MODE_SPREAD)*/)*Point;

EntryShort=iLow(NULL,60,Lowest(NULL,60,MODE_LOW,Length,1))-Pips*Point;

SLLong=MathMax(EntryLong-StopLoss*Point,EntryShort);

SLShort=MathMin(EntryShort+StopLoss*Point,EntrγLong);

TPLong=EntryLong+TakeProfit*Point;

TPShort=EntrShort-TakeProfit*Point;

//Send orders

for(i=0;i<OrdersTotal();i++){

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderComment()==Text && OrderMagicNumber()==MN){

if(OrderType()==OP_BUYSTOP || OrderType()==0P_BUY)Bought++;

if(OrderType()==OP_SELLSTOP || OrderType()==OP_SELL)Sold++;

}

}

if(Bought==O){ //no buy order

Ticket=OrderSend(Symbol(),0P_BUYSTOP,Lots,EntryLong,3,SLLong,TPLong,Text,MN,0,Blue);

if(Ticket<0 high="" 0="">=EntryLong)

Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SLLong,TPLong,Text,MN,0,Blue);

Sleep(10000);

}

if(Sold==0){//no sell order

Ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,EntryShort,3,SLShort,TPShort,Text,MN,0,Magenta);

if(Ticket<0 && Low[0]<=EntryShort)

Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SLShort,TPShort,Text,MN,0,Magenta);

Sleep(10000);

}

//Check orders

for(i=0;i<OrdersTotal();i++){

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderComment()==Text && OrderMagicNumber()==MN {

if(OrderType()==OP_BUYSTOP && (MathAbs (OrderOpenPrice()-EntryLong)>Point || MathAbs(OrderStopLoss()-SLLong)>Point || MathAbs (OrderTakeProfit()-TPLong)>Point))OrderModify (OrderTicket(),EntryLong,SLLong,TPLong,0,Blue);

if(OrderType()==OP_SELLSTOP &&(MathAbs(OrderOpenPrice()-EntryShort)>Point || MathAbs(OrderStopLoss()-SLShort)> Point || MathAbs(OrderTakeProfit()-TPShort)>Point))

OrderModify(OrderTicket(),EntryShort,SLShort,TPShort,0,Magenta);

}

}

}

声明:
如本站内容不慎侵犯了您的权益,请联系邮箱:1317369179@qq.com 我们将迅速删除。
本文来自网络,不代表【818期货学习网】立场,转载请注明出处:http://www.818qihuo.com/waihui/24tang/5084.html
期货手续费【与交易所同步更新】
期货保证金【与交易所同步更新】
上一篇:第十三课 让形态在你的大脑烙印:从实际走势中熟悉形态 下一篇:第十五课 以局部成交量确定最佳平仓点:以1分钟图交易为例

联系我们|投稿中心|广告合作|网站地图|免责声明

浙公网安备 33011002014220号