: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

MultiCharts编程-PowerLanguage-Strategy Orders策略委托

MultiCharts编程-PowerLanguage-Strategy Orders策略委托

22 Strategy Orders策略委托

一句完整的策略委托语句,要指定买卖、时间、价格类别、委托数量信息,策略委托的类别信息已在PowerLanguage概述中介绍,本章主要对各个关键字的使用做解说。

策略委托是写在信号中,经编译成功后,插入到图表上,进行买卖交易。



此外,对内置的止盈止损Set系列的出场函数也一一给出案例说明。这些函数可以在Bar内满足条件时,即时发出委托单,无需等到Bar完成时才执行。

Set系列函数包括:SetBreakeven(损益两平出场)、SetDollarTrailing(跟踪止损出场)、SetPercentTrailing(跟踪止盈或固定比例回撤出场)、SetProfitTarget(停利止盈出场)和SetStopLoss(停损出场);另外一个是SexExitOnClose(收盘时出场),只能用于回测。

Set系列函数在触发价(满足条件的价位)和执行价的计算结果会受策略属性中所设定的手续费和滑价影响。触发价只计算进场单边的交易成本。执行价会计算进场和出场的双边的交易成本。

  

Set系列出场函数

  
  

价格计算公式

  
  

SetBreakeven

  
  

1)多头持仓的出场:

  

触发价=进场价-(获利金额+手续费+滑价)/整点价值

  

停损价=进场价+(手续费*2+滑价*2)/整点价值

  

2)空头持仓的出场:

  

触发价=进场价+(获利金额+手续费+滑价)/整点价值

  

停损价=进场价-(手续费*2+滑价*2)/整点价值

  
  

SetDollarTrailing

  
  

停利价=多单进场后的最高价-(获利回吐金额-手续费-滑价)/整点价值

  

停利价=空单进场后的最低价+(获利回吐金额-手续费-滑价)/整点价值

  
  

SetPercentTrailing

  
  

1)多头持仓的出场:

  

触发价=进场价+(获利金额+手续费+滑价)/整点价值

  

停利价=触发价-(获利金额*停利百分比-手续费-滑价)/整点价值

  

2)空头持仓的出场:

  

触发价=进场价-(获利金额+手续费+滑价)/整点价值

  

停利价=触发价+(获利金额*停利百分比-手续费-滑价)/整点价值

  
  

SetProfitTarget

  
  

停利价=多头进场价+(获利金额+(手续费+滑价)*2)/整点价值

  

停利价=空头进场价-(获利金额+(手续费+滑价)*2)/整点价值

  
  

SetStopLoss

  
  

停损价=多头进场价-(停损金额-(手续费+滑价)*2)/整点价值

  

停损价=空头进场价+(停损金额-(手续费+滑价)*2)/整点价值

  


  ALL  
  

说明

  
  

用在策略出场语句中,在SharesContracs前面出现,来表示所有的合约包含没有明确指明实际仓位的合约。

  
  

语法

  
  

All Contracts All Shares

  
  

范例

  
  

在下根Bar开始时以市价单卖出平仓所有的仓位:

  

Sell All Shares Next  Bar At Market;

  

Sell  All Contracts Next Bar At  Market;

  


  Buy  
  

说明

  
  

建立一个多头仓位。

  

进场的点位会在图表上以箭头和价位标示。箭头表示进场时间,价位表示进场价格。在多头进场箭头的下方,有标签显示进场名称和仓位数量。

  

委托会在参数指定的点位执行,若委托在指定的Bar内无法成交,该笔委托将被取消。

  

当一个Buy指令成交时,其他持有的空头仓位,将会被平仓。

  
  

语法

  
  

Buy [(“EntryLabel”)]  [TradeSize] EntryType;

  

中括号([])内的参数是任选的。

  
  

参数

  
  

EntryLabel——可选用参数,字符串表达式;给予当次进场的信号一个专属名称。信号名称会显示在进场箭头下方,出场信号可以因此指定搭配有专属名称的进场信号,更多信息请看Sell

  

EntryLabel未指定,则会依进场语句的先后顺序依序命名为”Buy””Buy#1””Buy#2”……

  

TradeSize——可选用参数,数值表达式;指定买进的数量,必须搭配ShareSharesContractContracts任一个使用。

  

TradeSize0或负值,并不会建立任何多头仓位,但现有的空头仓位会被平仓。

  

TradeSize未指定,交易数量将会是使用者在策略属性的属性中设定的委托数量。

  

EntryType——必需参数;指定进场的时间和价位,一共有四种类型:

  

1)This Bar [On] Close

  

其中:On是跳跃字,可省略

  

即在当根Bar的收盘价Close多头进场,并标记Buy的箭头。

  

2) Next Bar [At] Open   Next Bar [At] Market

  

其中:关键字”Open””Market”可以互换

  

       At是跳跃字,可省略

  

即在下根Bar的开盘价Open多头进场,并标记Buy的箭头。

  

3) Next Bar [At] Price  Limit

  

其中:Price是数值表达式,指定限价进场价格

  

       At是跳跃字,可省略

  

若下根Bar的第一笔价格小于或等于Price,则在下根Bar多头进场,并标记Buy的箭头;若下根Bar内并无价格满足条件,则委托会被取消。

  

4) Next Bar [At] Price  Stop

  

其中:Price是数值表达式,指定停止价进场价格

  

       At是跳跃字,可省略

  

若下根Bar的第一笔价格大于或等于Price,则在下根Bar多头进场,并标记Buy的箭头;若下根Bar内并无价格满足条件,则委托会被取消。

  
  

范例

  
  

在当根Bar结束时,以市价建立使用者指定数量的多头仓位:

  

Buy This Bar On Close;

  

在下根Bar开始时,以市价建立一手多头仓位,并标记进场名为”Entry”

  

Buy (“Entry”) 1 Share Next Bar  At Open;

  

在下根Bar开始时,以市价建立一手多头仓位,并标记进场名为”Entry”

  

Buy (“Entry”) 1 Contract Next Bar  At Market;

  

在下根Bar开始时,以小于等于100的价格建立2手多头仓位:

  

Buy 2 Shares Next Bar At 100 Limit;

  

在下根Bar开始的价格大于等于50时,以市价建立10手多头仓位:

  

Buy 10 Contracts Next Bar At 50 Stop;

  


  BuyToCover  
  

说明

  
  

全部或部分平仓特定或全部的空头仓位。

  

当一个Buy指令成交时,其他持有的空头仓位,将会被平仓。

  

出场的点位会在图表上以箭头和价位标示。箭头表示出场时间,价位表示出场价格。在空头出场箭头的下方,有标签显示出场名称和仓位数量。

  

委托会在参数指定的点位执行,若委托在指定的Bar内无法成交,该笔委托将被取消。

  
  

语法

  
  

BuyToCover [(“ExitLabel”)] [From Entry(“EntryLabel”)] [ TradeSize[Total]]  Exit;

  

或:

  

Buy To Cover [(“ExitLabel”)] [From Entry(“EntryLabel”)] [ TradeSize[Total]]  Exit;

  
  

参数

  
  

ExitLabel——可选用参数,字符串表达式;予当次出场信号一个专属名称。信号名称会显示在出场箭头下方。

  

ExitLabel未指定,则会依出场信号语句的先后顺序依序命名为”Cover””Cover#1””Cover#2”……

  

EntryLabel——可选用参数,字符串表达式;表示出场信号是针对特定EntryLabel名称的进场信号;进场信号名称须紧连在From Entry之后,From是跳跃字,可省略。

  

一个出场信号仅能指定一个名称进场信号。更多信息请看SellShort

  

EntryLabel未指定进场信号名称,则所有的空头仓位都将会被平仓。

  

TradeSize——可选用参数,数值表达式;指定买平的数量,必须搭配ShareSharesContractContracts任一个使用。

  

默认(未加Total)TradeSize参数指定的数量会平掉每一个空头进场语句的仓位。

  

如果TradeSize后加上Total,只会平仓TradeSize参数指定的数量,忽略空头进场数量。指定数量超过空头持仓,则全部平仓。在依进场信号的顺序平仓,即先进先出。

  

TradeSize未指定,将会平仓全部的空头进场。

  

Exit——必需参数;指定出场的时间和价位,一共有四种类型:

  

1)This Bar [On] Close

  

其中:On是跳跃字,可省略

  

即在当根Bar的收盘价Close买平出场,并标记Cover的箭头。

  

2) Next Bar [At] Open   Next Bar [At] Market

  

其中:关键字”Open””Market”可以互换

  

       At是跳跃字,可省略

  

即在下根Bar的开盘价Open买平出场,并标记Cover的箭头。

  

3) Next Bar [At] Price  Limit

  

其中:Price是数值表达式,指定限价出场价格

  

       At是跳跃字,可省略

  

若下根Bar的第一笔价格小于或等于Price,则在下根Bar买平出场,并标记Cover的箭头;若下根Bar内并无价格满足条件,则委托会被取消。

  

4) Next Bar [At] Price  Stop

  

其中:Price是数值表达式,指定停止价出场价格

  

       At是跳跃字,可省略

  

若下根Bar的第一笔价格大于或等于Price,则在下根Bar买平出场,并标记Cover的箭头;若下根Bar内并无价格满足条件,则委托会被取消。

  
  

范例

  
  

在当根Bar结束时,以市价平仓所有的空头仓位,并标识出场为”Complete Exit”

  

BuyToCover (”Complete Exit”) This  Bar On Close;

  

在下根Bar开始时,以市价平仓所有以”Original Entry” 命名的空头进场仓位:

  

BuyToCover From Entry (“Original Entry”) Next Bar At Market;

  

在下根Bar开始时,以市价平仓10手以” Entry” 命名的空头进场仓位:

  

BuyToCover Entry (“Entry”)
10 Contracts  Next Bar At Market;

  

在下根Bar开始时,对每个空头进场仓位以市价平仓5手:

  

BuyToCover 5 Contracts Next Bar At Market;

  

无论有多少空头进场仓位,在下根Bar开始时,以小于或等于100的价位,平仓1手:

  

BuyToCover 1 Share Total Next Bar At 100  Limit;

  

在下根Bar开始时,以大于或等于50的价位,平掉所有空头仓位:

  

BuyToCover Next Bar At 50 Stop;

  


  Contracts/Contract/Shares/Share  
  

说明

  
  

在策略进场或出场的语句指定委托的数量。

  
  

语法

  
  

TradeSize Contracts

  
  

参数

  
  

TradeSize——数值表达式,指定委托的数量

  
  

范例

  
  

下根Bar开盘时以市价买进2手:

  

Buy 2 Contracts Next Bar At  Market;

  


  Cover  
  

说明

  
  

Buy To 一起用;同BuyToCover

  
  

语法

  
  

Buy To Cover [(“ExitLabel”)] [From Entry(“EntryLabel”)] [ TradeSize[Total]]  Exit;

  


  Enrty  
  

说明

  
  

使用在策略的出场语句中,指定进场信号名称EntryLabel。一个出场信号仅能搭配一个进场信号;更多请看BuySellshort

  
  

语法

  
  

From Entry(“EntryLabel”)

  
  

参数

  
  

EntryLabel——字符串表达式;指定要平仓的进场信号名称

  

From——跳跃字,可省略

  
  

范例

  
  

在下根Bar开始时,以市价平仓所有以”Original Entry” 命名的多头仓位:

  

Sell From Entry (“Original Entry”) Next Bar At Open;

  


  Higher  
  

说明

  
  

使用在策略的进场或出场指令中,指定一个进场或出场的价格范围,前面必须要跟Or

  
  

语法

  
  

At Price Or Higher

  
  

参数

  
  

Price——数值表达式,指定的基准价

  

At——跳跃字,可省略

  
  

注意

  
  

At Price Or Higher

  

*当和SellSellShort一起用时相当于Limit

  

*当和BuyBuyToCover一起用时则相当于Stop

  
  

范例

  
  

在下根Bar开始时,以大于或等于100的价格买进一手:

  

Buy 1 Contract Next  Bar At 100  Or Higher;

  

在下根Bar开始时,以大于或等于50的价格卖出一手:

  

SellShort 1 Contract Next Bar At 50 Or  Higher;

  


  Limit  
  

说明

  
  

在策略进场或出场的语句使用限价单委托。

  

限价单会在指定的价格或更优的价格成交。限价单的买单成交不会高于使用者指定的价格,卖单成交价不会低于使用者指定的价格。

  
  

语法

  
  

At Price Limit

  
  

参数

  
  

Price——数值表达式,指定委托的限价单价格

  

At——跳跃字,可省略

  
  

范例

  
  

在下根Bar开始时,以小于或等于100的价格买进:

  

Buy Next Bar At 100 Limit;

  

在下根Bar开始时,以大于或等于50的价格卖出:

  

SellShort Next Bar At 50  Limit;

  


  Lower  
  

说明

  
  

使用在策略的进场或出场指令中,指定一个进场或出场的价格范围,前面必须要跟Or

  
  

语法

  
  

At Price Or Lower

  
  

参数

  
  

Price——数值表达式,指定的基准价

  

At——跳跃字,可省略

  
  

注意

  
  

At Price Or Lower

  

当和BuyBuyToCover一起用时相当于Limit

  

当和SellSellShort一起用时则相当于Stop

  
  

范例

  
  

在下根Bar开始时,以小于或等于100的价格买进:

  

Buy Next Bar At 100 Or  Lower;

  

在下根Bar开始时,以小于或等于50的价格卖出:

  

SellShort Next Bar At 50 Or Lower;

  


  Market  
  

说明

  
  

在策略进场或出场的语句指定市价单委托。

  

买进市价单会在市场的委托价或更高的价格成交。卖出市价单会在市场的委托价或更低的成交。

  
  

语法

  
  

At Market

  
  

参数

  
  

At——跳跃字,可省略

  
  

范例

  
  

在下根Bar开始时,以市价建立使用者指定数量的多头仓位:

  

Buy Next Bar At Market;

  


  Sell  
  

说明

  
  

全部或部分平仓特定或全部的多头仓位。

  

出场的价位会在图表上以箭头和价位表示,箭头表示出场时间,价位表示出场价格。在多头出场箭头的上方,有标签显示出场名称及仓位数量。

  

委托会在参数指定的点位执行,若委托在指定的Bar内无法成交,该笔委托将被取消。

  
  

语法

  
  

Sell [(“ExitLabel”)] [From Entry(“EntryLabel”)] [  TradeSize[Total]] Exit;

  

中括号[]内的参数为可选用参数

  
  

参数

  
  

ExitLabel——可选用参数,字符串表达式;予当次出场信号一个专属名称。信号名称会显示在出场箭头上方。

  

ExitLabel未指定,则会依出场信号语句的先后顺序依序命名为
Sell”” Sell#1”” Sell#2”……

  

EntryLabel——可选用参数,字符串表达式;表示出场信号是针对特定EntryLabel名称的进场信号;进场信号名称须紧连在From Entry之后,From是跳跃字,可省略。

  

一个出场信号仅能指定一个进场信号。更多信息请看Buy

  

EntryLabel未指定进场信号名称,则所有的多头仓位都将会被平仓。

  

TradeSize——可选用参数,数值表达式;指定买平的数量,必须搭配ShareSharesContractContracts任一个使用。

  

默认(未加Total)TradeSize参数指定的数量会平掉每一个多头进场语句的仓位。

  

如果TradeSize后加上Total,只会平仓TradeSize参数指定的数量,忽略多头进场数量。指定数量超过多头持仓,则全部平仓。在依进场信号的顺序平仓,即先进先出。

  

TradeSize未指定,将会平仓全部的多头进场。

  

Exit——指定出场的时间和价位,一共有四种类型:

  

1)This Bar [On] Close

  

其中:On是跳跃字,可省略

  

即在当根Bar的收盘价Close卖平出场,并标记Sell的箭头。

  

2) Next Bar [At] Open Next Bar [At] Market

  

其中:关键字”Open””Market”可以互换

  

      At是跳跃字,可省略

  

即在下根Bar的开盘价Open卖平出场,并标记Sell的箭头。

  

3) Next Bar [At] Price Limit

  

其中:Price是数值表达式,指定限价出场价格

  

      At是跳跃字,可省略

  

若下根Bar的第一笔价格大于或等于Price,则在下根Bar卖平出场,并标记Sell的箭头;若下根Bar内并无价格满足条件,则委托会被取消。

  

4) Next Bar [At] Price Stop

  

其中:Price是数值表达式,指定停止价出场价格

  

      At是跳跃字,可省略

  

若下根Bar的第一笔价格小于或等于Price,则在下根Bar卖平出场,并标记Sell的箭头;若下根Bar内并无价格满足条件,则委托会被取消。

  
  

范例

  
  

在当根Bar结束时,以市价平仓所有的多头仓位,并标识出场为”Complete Exit”

  

Sell (”Complete Exit”) This Bar On Close;

  

在下根Bar开始时,以市价平仓所有以”Original Entry” 命名的多头进场仓位:

  

Sell From Entry (“Original  Entry”) Next Bar At Market;

  

在下根Bar开始时,以市价平仓10手以” Entry” 命名的多头进场仓位:

  

Sell Entry (“Entry”)
10 Contracts Next Bar At Market;

  

在下根Bar开始时,对每个多头进场仓位以市价平仓5手:

  

Sell 5 Contracts Next Bar At Market;

  

无论有多少多头进场仓位,在下根Bar开始时,以大于或等于100的价位,平仓1手:

  

Sell 1 Share Total Next  Bar At 100  Limit;

  

在下根Bar开始时,以小于或等于50的价位,平掉所有多头仓位:

  

Sell Next Bar At 50 Stop;

  


  SellShort  
  

说明

  
  

建立一个空头仓位。

  

进场的点位会在图表上以箭头和价位标示。箭头表示进场时间,价格表示进场价格。在空头进场箭头的上方,有标签显示进场名称和仓位数量。

  

委托会在参数指定的点位执行,若委托在指定的Bar内无法成交,该笔委托将被取消。

  

当一个SellShort指令成交时,其他持有的多头仓位,将被会被平仓。

  
  

语法

  
  

SellShort [(“EntryLabel”)] [TradeSize] Entry;

  

中括号([])内的参数是任选的。

  
  

参数

  
  

EntryLabel——可选用参数,字符串表达式;给予当次进场的信号一个专属名称。信号名称会显示在进场箭头上方,出场信号可以因此指定搭配有专属名称的进场信号,更多信息请看BuyToCover

  

EntryLabel未指定,则会依进场语句的先后顺序依序命名为”Short”” Short#1”” Short#2”……

  

TradeSize——可选用参数,数值表达式;指定买进的数量,必须搭配ShareSharesContractContracts任一个使用。

  

TradeSize0或负值,并不会建立任何空头仓位,但现有的空头仓位会被平仓。

  

TradeSize未指定,交易数量将会是使用者在策略属性的属性中设定的委托数量。

  

Entry——必需参数;指定进场的时间和价位,一共有四种类型:

  

1)This  Bar [On] Close

  

其中:On是跳跃字,可省略

  

即在当根Bar的收盘价Close空头进场,并标记Short的箭头。

  

2) Next Bar [At] Open Next Bar [At] Market

  

其中:关键字”Open””Market”可以互换

  

      At是跳跃字,可省略

  

即在下根Bar的开盘价Open空头进场,并标记Short的箭头。

  

3) Next Bar [At] Price Limit

  

其中:Price是数值表达式,指定限价进场价格

  

      At是跳跃字,可省略

  

若下根Bar的第一笔价格大于或等于Price,则在下根Bar空头进场,并标记Short的箭头;若下根Bar内并无价格满足条件,则委托会被取消。

  

4) Next Bar [At] Price Stop

  

其中:Price是数值表达式,指定停止价进场价格

  

      At是跳跃字,可省略

  

若下根Bar的第一笔价格小于或等于Price,则在下根Bar空头进场,并标记Short的箭头;若下根Bar内并无价格满足条件,则委托会被取消。

  
  

范例

  
  

在当根Bar结束时,以市价建立使用者指定数量的空头仓位:

  

SellShort This Bar On  Close;

  

在下根Bar开始时,以市价建立一手空头仓位,并标记进场名为”Entry”

  

SellShort (“Entry”) 1 Share  Next Bar At  Open;

  

在下根Bar开始时,以市价建立一手空头仓位,并标记进场名为”Entry”

  

SellShort (“Entry”) 1 Contract  Next Bar At  Market;

  

在下根Bar开始时,以大于等于100的价格建立2手空头仓位:

  

SellShort 2 Shares Next  Bar At 100  Limit;

  

在下根Bar开始的价格小于等于50时,以市价建立10手空头仓位:

  

SellShort 10 Contracts Next  Bar At 50  Stop;

  


  SetBreakEven  
  

说明

  
  

当从指定的最大获利拉回至损益两平点时,平仓部分或所有仓位。依仓位的多空不同使用对应的停止单进行委托。

  

SetStopPositionSetStopContractSetStopShare
决定停损是所有仓位合并计算或个别仓位分开计算;默认是所有仓位合并计算。

  

SetBreakEven指令在Bar内就会即时触发,而不是仅仅在Bar结束时才执行,所以可以在进场的当根Bar马上出场。

  
  

语法

  
  

SetBreakEven(Profit)

  
  

参数

  
  

Profit——数值表达式,停损前必须先达到的获利金额

  
  

注意

  
  

*此函数只能在信号中使用。

  

*触发停利条件的价位仅考虑进场手续费及滑价成本。

  

*实际委托价格会考虑进场及出场的手续费和滑价成本。

  
  

范例

  
  

当所有仓位的最大获利达到50元之后,若再拉回到损益两平点,执行平仓所有仓位的委托:

  

SetStopPosition;

  

SetBreakEven(50);

  

当个别仓位的最大获利达到10元之后,若再拉回至损益两平点,产生平仓该进场仓位的委托:

  

SetStopContract;

  

SetBreakEven(10);

  


  SetDollarTrailing  
  

说明

  
  

当从仓位进场后的最大获利拉回到指定金额后,平仓部分或所有仓位。依仓位的多空不同,使用对应的停止单进行委托。

  

例如:若指定的金额为50元,而仓位曾出现的最大获利金额为120元;一旦获利回吐剩下70元时会平仓仓位。

  

SetStopPositionSetStopContractSetStopShare决定停损是所有仓位合并计算或是个别仓位分开计算;默认是有仓位合并计算。

  

SetDollarTrailing
指令是在Bar内就会即时触发,而不是仅仅在Bar结束时才执行,所以可以在进场的当根Bar马上出场。

  
  

语法

  
  

SetDollarTrailing  (Amount)

  
  

参数

  
  

Amount——数值表达式,自最大获利高点拉回要停利的金额,即获利回吐金额

  
  

注意

  
  

*此函数只能在信号中使用。

  

*实际委托价格会考虑进场手续费及滑价成本。

  
  

范例

  
  

当整体仓位的最大获利回吐50元之后,产生平仓所有仓位的委托:

  

SetStopPosition;

  

SetDollarTrailing  (50);

  

当个别仓位的自最大获利回吐10元之后产生平仓该进场仓位的委托:

  

SetStopContract;

  

SetDollarTrailing  (10);

  


  SetExitOnClose  
  

说明

  
  

在当日图表中,于交易时段最后一根Bar的收盘价tick,结束目前仓位,会依仓位的多空不同时用对应的市价单进行委托。

  

SetExitOnClose指令是使用QuoteManager中设定的交易结束时段资讯。

  
  

语法

  
  

SetExitOnClose

  
  

注意

  
  

MC中要等到下一根Bar的第一笔tick到来,才会判断本根Bar的结束,若5分钟内等不到,也认为本根Bar结束;那么对应15:0015:15等当日收盘的Bar来说,5分钟内是不会有下一笔tick,所以若使用函数SetExitOnClose,无法在当日平仓,而会在收盘后5分钟发委托因非交易时段而被拒绝。

  

*交易不建议使用此函数。只可回测使用。

  


  SetPercentTrailing  
  

说明

  
  

当从指定的最大获利拉回特定的百分比后,平仓部分或所有仓位。依仓位的多空不同使用对应的停止单进行委托。

  

例如:若指定的百分比为25%,则若最大获利为120元,当获利回吐剩下90元时会平仓仓位。

  

SetStopPositionSetStopContractSetStopShare决定停损是所有仓位合并结算或是个别仓位分开计算;默认是所有仓位合并计算。

  

SetPercentTrailing指令是在当根Bar内就会即时触发,而不是仅仅在Bar结束时才执行,所以可以在进场的当根Bar马上出场

  
  

语法

  
  

SetPercentTrailing (Profit,Percentage)

  
  

参数

  
  

Profit——数值表达式,停利前必须先满足的获利金额。

  

Percentage——数值表达式,自最大获利高点拉回要停利的百分比,即停利百分比

  
  

注意

  
  

*触发停利价位仅考虑进场的手续费及滑价成本。

  

*实际委托价格会考虑进场及出场的手续费和滑价成本。

  
  

范例

  
  

当整体仓位的最大获利达到25元之后,拉回50%,产生平仓所有仓位的委托:

  

SetStopPosition;

  

SetPercentTrailing (25,50);

  

当个别仓位的最大获利达到5元之后,拉回25%,产生平仓该进场仓位的委托:

  

SetStopContract;

  

SetPercentTrailing (5,25);

  


  SetProfitTarget  
  

说明

  
  

当从仓位进场后的最大获利达到特定金额时,平仓部分或所有仓位。依仓位的多空不同使用对应的限价单进行委托。

  

SetStopPositionSetStopContractSetStopShare决定停损是所有仓位合并计算或是个别仓位分开计算;默认是所有仓位合并计算。

  

SetProfitTarget指令是在Bar内就会即时触发,而不是仅仅在Bar结束时才执行,所以可以在进场的当根Bar马上出场。

  
  

语法

  
  

SetProfitTarget (Amount)

  
  

参数

  
  

Amount——数值表达式,要停利的获利金额

  
  

注意

  
  

实际委托价格会考虑进场及出场的手续费和滑价成本。

  
  

范例

  
  

当整体仓位的最大获利达到100元时,产生平仓所有仓位的委托:

  

SetStopPosition;

  

SetProfitTarget (100);

  

当个别仓位的最大获利达到10元时,产生平仓该进场仓位的委托:

  

SetStopContract;

  

SetProfitTarget (10);

  


  SetStopContract/SetStopShare  
  

说明

  
  

指定策略出场函数SetBreakevenSetDollarTrailingSetPercentTralingSetProfitTargetSetStopLoss是个别仓位分开计算。

  
  

语法

  
  

SetStopContract

  
  

参数

  
  

SetStopPositionSetStopContractSetStopShare未被声明,默认出场函数,是所有仓位合并计算。

  

SetStopPositionSetStopContractSetStopShare被多次声明,或是在同一个图表上的不同信号分别声明,会以最后一次的声明状态为最后状态。

  
  

范例

  
  

指定SetStopLoss策略出场函数是个别仓位分开计算,当个别仓位损失达10元时,产生平仓委托:

  

SetStopContract;

  

SetStopLoss (10);

  


  SetStopLoss  
  

说明

  
  

当损失达到指定金额时,平仓部分或全部的仓位;会依仓位的多空产生对应的停止单。

  

SetStopPositionSetStopContract、或SetStopShare决定停损是所有仓位合并计算或是个别仓位分开计算;默认是所有仓位合并计算。

  

SetStopLoss指令是在Bar内就会即时触发,而不是仅仅在Bar结束时才执行,所有可以在进场的当根Bar马上出场。

  
  

语法

  
  

SetStopLoss(Amount)

  
  

参数

  
  

Amount——数值表达式,指定停损的金额

  
  

注意

  
  

实际委托价格会考虑及出场的手续费和滑价成本。

  
  

范例

  
  

当整体仓位损失达100元时,平仓所有仓位:

  

SetStopPosition;

  

SetStopLoss (100);

  

当个别仓位损失达10元时,平仓出场:

  

SetStopContract;

  

SetStopLoss (10);

  


  SetStopPosition  
  

说明

  
  

指定策略出场函数SetBreakevenSetDollarTrailingSetPercentTralingSetProfitTargetSetStopLoss是所有仓位合并计算。

  
  

语法

  
  

SetStopPosition

  
  

注意

  
  

*SetStopPositionSetStopContractSetStopShare未被声明,默认出场函数,是所有仓位合并计算。

  

*SetStopPositionSetStopContractSetStopShare被多次声明,或是在同一个图表上的不同信号分别声明,会以最后一次的声明状态为最后状态。

  
  

范例

  
  

指定SetStopLoss策略出场函数是所有仓位合并计算,当所有仓位总损失达到10元时,产生出场委托:

  

SetStopPosition;

  

SetStopLoss(10);

  


  Short  
  

说明

  
  

Sell一起使用;同SellShort

  
  

语法

  
  

Sell Short [(“EntryLabel”)] [TradeSize] Entry;

  


  Stop  
  

说明

  
  

在策略进场或出场的语句指定使用停止单委托。

  

停止单会在指定的价格或更差的价格(滑价)成交。滑价会导致买在更高的价格或是卖在更低的价格。

  
  

语法

  
  

At Price Stop

  
  

参数

  
  

Price——数值表达式,指定委托的停止单价格

  

At——跳跃字,可省略

  
  

范例

  
  

在下根Bar开始时,以小于或等于100的价格卖出:

  

Sell Next Bar At 100 Stop;

  

在下根Bar开始时,以大于或等于50的价格买进:

  

BuyToCover Next Bar At 50  Stop;

  



  Total  
  

说明

  
  

用在策略出场陈述式中,指定要平仓的总手数。若有多笔进场仓位,依先进先出的顺序平仓。

  

若未使用Total时,则每笔进场仓位都会平仓相同手数的仓位。

  
  

语法

  
  

TradeSize Shares Total

  
  

参数

  
  

TradeSize——数值表达式,指定委托的数量

  
  

范例

  
  

若有三笔多头进场仓位,依序为一手,一手,三手,语句为:

  

Sell 3 Shares Total  Next Bar At  Market;

  

则:剩余仓位分别为0手,0手,两手,共平仓3手。

  

若有三笔多头进场仓位,依序为一手,一手,三手,语句为:

  

Sell 3 Shares Next  Bar At Market;

  

则:剩余仓位为0手,0手,0手,共平仓5手。

  

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表