由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Stock版 - Pyramiding, position sizing and money management
相关主题
村长机器人源代码泄露back testing result of my swing trading system
总结一下day trade的经验阿forex trading大家用哪家broker,
阐述为什么要做High Frequency Trading请教一下,怎么看futures以及通过它预测第二天的股市情况?
紫荆,我把你beat了今天一个trade都没有做,晚上没饭吃!
TNA TZA day trade系统免费试用目标$200/day天然气的生产商开始动了。 我对它的基本面的分析
Beginner should stop day trade today如何看一个操作策略是不是跳大神
[ES Trading] 集中讨论帖建议lucan再写个我是怎么hold-on WNR的。
好累啊One graph that makes perfect sense
相关话题的讨论汇总
话题: point话题: sell话题: op话题: mystoploss话题: ticket
进入Stock版参与讨论
1 (共1页)
m********0
发帖数: 2717
1
小青蛙一只,轻拍。
最近比较focus on money management,尤其是position sizing。
这里绝大部分都是跟我一样的beginner,基本上很看重入点,什么时候买最好。我转到
期货和外汇以后在这上面下了挺大的功夫,并没有达到原先预想的效果(包括SVM,
Linear,Non-Linear,Wavelets,HONN, Kalman Filter,这些可能以后会有一定的突
破,但现有的概念和理论,实践起来的效果并不会提高多少,甚至没有提高,所以投入
产出比不佳),加上我一年多几千次浅显的交易经验给我的感觉是,入点远没有想象的
重要。50%的正确率够不够?我感觉远大于盈利的需求。
下面的blog有介绍expectancy的重要性,前两天我也引用了他的Risk Adjusted Profit
的概念,把纯profit 算作profit realized - stop loss level(the risk you took,
in fact,
should be more than stop level as it's dangerous to use stp limit order)。
http://www.tradermike.net/2004/05/trading_101_expectancy/
一两句话稍微解释一下,你每次盈利1000块就止赢,亏损2000块才止损(或者从不止损
或者被动止损),那66%的胜率也不能保证你盈利。反之,每次2000块止赢,1000块止
损,大于33%的胜率就可以盈利了。
我也假设过,即便是纯粹的random walk,合适的exit plan也是能够盈利的(这时候
entry plan就完全没有意义了,因为只有50%的chance)。所以最近没有投入在尝试比
较好的可以量化的高概率的模式识别,而把精力都放在money management。
在俱乐部转发了一个投票,不过没有人投。
http://www.earnforex.com/blog/2011/10/what-is-best-forex-positi
从这个网站的小样本统计看,大部分人还是投了
Risk-based position sizing (42%, 8 Votes)
这说明这种每天设置整个Equity和每笔交易的损失上限的主意还很流行。这是最基本的
常识,如果你想在市场里生存得久一点。
第二是
Fixed position size (26%, 5 Votes)
比较死板,但是最直接的想法。
突然发现我的概念也有点模糊了,sizing和money management也有点区别。对于fixed
size的这种办法,我以前看过一些grid trading的方法,无非就是手动trailing,每笔
交易,不加仓不减仓,止损如果为D,价格每上升D,手动改变止损也上升D,这有点
discrete trailing的意思。和continuous trailing order比较哪个更好,我没有想法
。不过这种手动grid trailing我试过,盈利和止损显得无比清晰,整数比,在哪个区
间很清晰明了。而且压力大大减少。
原始的Grid就是一笔止“损”了就清掉所有size。我在这个基础上试了很多别的优化办
法,例如盈利到2倍止损相同的量,假设为2d,就把一半的仓位止赢,剩下的到4d的利
润再出一半,最后1/4 “free run”或者trailing。
用EUR/USD Backtest了一下非常简单的momentum indicator,稍微tune一下一个月大概
最多能到300%的盈利。但是out of sample效果不好。如何优化每次止赢的比例,和止
损大小。很容易在range market的时候被来回止损。不过这是意料之中的,困难的是每
次的range period的幅度不一样。filter out一些会无法filter out另外一些。(ATR
? 我觉得true range这种东西也没有预测的价值)。
在另外一些论坛上也看到别人说grid method开始用的很好,很喜人,时间久了总会爆
几次仓。其实及时止损,让盈利奔跑说的轻松,仔细想想是两难的事情。如果谁能同时
做到缩紧止损还加大盈利目标,那我要好好膜拜一下。
Anyway,最近还看到一些人称做Antigrid的方法,这就是Pyramiding的范例,浮盈加仓
,而不是止赢,损了就损了,而不是加仓。我就不多介绍了,7zip的主页上有
https://sites.google.com/site/prof7bit/snowball
这个有点reverse martingale的意思。在trending market应该比较有前途。这个人自
己写了一个半自动交易的脚本,有点辅助的意思,就是手动下单以后,自动止损止赢,
加仓(也有手动的功能)。不是很好backtest,但是作者自己有个认证的live account
,好像一个月是翻了一翻
http://prof7bit.mt4stats.com/analyses
我以这个主意,写了一个全自动的脚本。有兴趣可以自己试试。全部是trailing stop
to enter,第一单filled了以后,grid 加仓,grid stop level up。如果tryLong没有
filled出现tryShort信号,会删除tryLong的pending order,反向尝试。美国的forex
broker被规定了不能再有hedge了,不能有双向的pending order了。
TryLong和TryShort函数根据自己的需求改,我只是随便填了一个。
//+------------------------------------------------------------------+
//| Antigrid.mq4 |
//| Copyright ?2020, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
//extern double TakeProfit = 0.0;
extern double Lots = 1.0;
extern double TrailingStop = 0.0;
extern double StopLoss = 100.0;
extern double StopSpread = 50.0;
//extern double StopLoss2 = 70.0;
extern double ErgLongLevel=-50;
extern double ErgShortLevel=50;
double MATrendPeriod=20;
double Slippage = 3;
//extern int ErgPeriod = 8;
//extern double first_t = 2.0;
//extern double second_t = 4.0;
//extern double SetBreakEven = 5.0;
extern double LeastErgMom = 0.0;
extern double ErgThreshold = 20.0;
extern bool ecnBroker = true;
int total = 0;
//bool noMaFilter = True;
//bool FirstTarget = False;
//bool SecondTarget = False;
//bool SetBreakEven = False;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
/*
int LongOneUnit(double StopLevel){
int ticket;
double myPrice = MarketInfo(Symbol(), MODE_ASK);
double myStopLoss = 0;
if (StopLoss > 0) myStopLoss = myPrice - StopLoss * Point ;
//if (myStopLoss != 0) ValidStopLoss(OP_SELL, myStopLoss);
//double myTakeProfit = myPrice + TakeProfit * Point;
// Normalize all price / stoploss / takeprofit to the proper # of
digits.
double digits = MarketInfo(Symbol(), MODE_DIGITS);
if (digits > 0)
{
myPrice = NormalizeDouble(myPrice, digits);
myStopLoss = NormalizeDouble(myStopLoss, digits);
//myTakeProfit = NormalizeDouble(myTakeProfit, digits);
//myTakeProfit = 0.0;
StopLevel = NormalizeDouble(StopLevel, digits);
}

if (ecnBroker)
{
ticket = OrderSend(Symbol(), OP_BUY, Lots, myPrice, Slippage, 0, 0,
"Erg Sell", 16384, 0, Red);
if(ticket > 0)
{
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
{
OrderModify(ticket,OrderOpenPrice(),StopLevel, 0.0,0,CLR_NONE
);
Print("Sell order opened : " , OrderOpenPrice());
}
}
else Print("Error opening Sell order : ", GetLastError());
}
else
{
ticket = OrderSend(Symbol(), OP_BUY, Lots, myPrice, Slippage,
StopLevel, 0.0, "Erg Sell", 16384, 0, Red);
if(ticket > 0)
{
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
{
Print("Sell order opened : " , OrderOpenPrice());
}
}
else Print("Error opening Sell order : ", GetLastError());
}
return(0);
}
int ShortOneUnit(double StopLevel)
{
int ticket;
double myPrice = MarketInfo(Symbol(), MODE_BID);
double myStopLoss = 0;
if (StopLoss > 0 ) myStopLoss = myPrice + StopLoss * Point ;
//if (myStopLoss != 0) ValidStopLoss(OP_SELL, myStopLoss);
//double myTakeProfit = myPrice - TakeProfit * Point;

// Normalize all price / stoploss / takeprofit to the proper # of digits.
double digits = MarketInfo(Symbol(), MODE_DIGITS);
if (digits > 0)
{
myPrice = NormalizeDouble(myPrice, digits);
myStopLoss = NormalizeDouble(myStopLoss, digits);
StopLevel = NormalizeDouble(StopLevel, digits);
//myTakeProfit = NormalizeDouble(myTakeProfit, digits);
//myTakeProfit = 0.0;
}

if (ecnBroker)
{
ticket = OrderSend(Symbol(), OP_SELL, Lots, myPrice, Slippage, 0
, 0, "Erg Sell", 16384, 0, Red);
if(ticket > 0)
{
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
{
OrderModify(ticket,OrderOpenPrice(),StopLevel, 0.0,0,CLR_
NONE);
Print("Sell order opened : " , OrderOpenPrice());
}
}
else Print("Error opening Sell order : ", GetLastError());
}
else
{
ticket = OrderSend(Symbol(), OP_SELL, Lots, myPrice, Slippage,
StopLevel, 0.0, "Erg Sell", 16384, 0, Red);
if(ticket > 0)
{
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
{
Print("Sell order opened : " , OrderOpenPrice());
}
}
else Print("Error opening Sell order : ", GetLastError());
}
return(0);
}
*/
int StopLongOneUnit(double StoptoEnterLevel){
int ticket;
double myStopLoss = 0;
if (StopLoss > 0) myStopLoss = StoptoEnterLevel-StopLoss*Point ;
//if (myStopLoss != 0) ValidStopLoss(OP_SELL, myStopLoss);
//double myTakeProfit = myPrice + TakeProfit * Point;
// Normalize all price / stoploss / takeprofit to the proper # of
digits.
double digits = MarketInfo(Symbol(), MODE_DIGITS);
if (digits > 0)
{
StoptoEnterLevel = NormalizeDouble(StoptoEnterLevel, digits);
myStopLoss = NormalizeDouble(myStopLoss, digits);
//myTakeProfit = NormalizeDouble(myTakeProfit, digits);
//myTakeProfit = 0.0;
}

if (ecnBroker)
{
//ticket = OrderSend(Symbol(), OP_BUYSTOP, Lots, myStoptoEnter,
Slippage, 0, 0, "Erg Sell", 16384, CurTime()+5*60, Red);
ticket = OrderSend(Symbol(), OP_BUYSTOP, Lots, StoptoEnterLevel,
Slippage, 0.0, 0.0, "Erg Sell", 16384, 0, Red);
if(ticket > 0)
{
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
{
OrderModify(ticket,OrderOpenPrice(),myStopLoss, 0.0,0,CLR_
NONE);
Print("Buy order opened : " , OrderOpenPrice());
}
}
else Print("Error opening Buy order with ECN broker : ",
GetLastError());
}
else
{
//ticket = OrderSend(Symbol(), OP_BUYSTOP, Lots, myStoptoEnter,
Slippage, myStopLoss, 0.0, "Erg Sell", 16384, CurTime()+5*60, Red);
ticket = OrderSend(Symbol(), OP_BUYSTOP, Lots, StoptoEnterLevel,
Slippage, myStopLoss, 0.0, "Erg Sell", 16384, 0, Red);
if(ticket > 0)
{
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
{
Print("Buy order opened : " , OrderOpenPrice());
}
}
else Print("Error opening Buy order : ", GetLastError());
}
return(0);
}
int StopShortOneUnit(double StoptoEnterLevel)
{
int ticket;
double myStopLoss = 0;
if (StopLoss > 0 ) myStopLoss = StoptoEnterLevel + StopLoss*Point ;
//if (myStopLoss != 0) ValidStopLoss(OP_SELL, myStopLoss);
//double myTakeProfit = myPrice - TakeProfit * Point;

// Normalize all price / stoploss / takeprofit to the proper # of digits.
double digits = MarketInfo(Symbol(), MODE_DIGITS);
if (digits > 0)
{
StoptoEnterLevel = NormalizeDouble(StoptoEnterLevel, digits);
myStopLoss = NormalizeDouble(myStopLoss, digits);
//myTakeProfit = NormalizeDouble(myTakeProfit, digits);
//myTakeProfit = 0.0;
}

if (ecnBroker)
{
//ticket = OrderSend(Symbol(), OP_SELLSTOP, Lots, myStoptoEnter,
Slippage, 0, 0, "Erg Sell", 16384, CurTime()+5*60, Red);
ticket = OrderSend(Symbol(), OP_SELLSTOP, Lots, StoptoEnterLevel
, Slippage, 0, 0, "Erg Sell", 16384, 0, Red);
if(ticket > 0)
{
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
{
OrderModify(ticket,OrderOpenPrice(),myStopLoss, 0.0,0,CLR_
NONE);
Print("Sell order opened : " , OrderOpenPrice());
}
}
else Print("Error opening Sell order with ECN broker : ",
GetLastError());
}
else
{
//ticket = OrderSend(Symbol(), OP_SELLSTOP, Lots, myStoptoEnter,
Slippage, myStopLoss, 0.0, "Erg Sell", 16384, CurTime()+5*60, Red);
ticket = OrderSend(Symbol(), OP_SELLSTOP, Lots, StoptoEnterLevel
, Slippage, myStopLoss, 0.0, "Erg Sell", 16384, 0, Red);
if(ticket > 0)
{
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
{
Print("Sell order opened : " , OrderOpenPrice());
}
}
else Print("Error opening Sell order : ", GetLastError());
}
return(0);
}
int hour = 0;
int closeAllOrders(){
for(int cnt=OrdersTotal()-1; cnt>=0 ; cnt--){
//RefreshRates();
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_SELL){
if(!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage+MarketInfo
(Symbol(),MODE_SPREAD), Black)){
Print("Sell order close error");
}
}

if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_BUY){
if(OrderClose(OrderTicket(), OrderLots(), Ask, Slippage+MarketInfo(
Symbol(),MODE_SPREAD), Black)){
Print("Buy order close error");
}
}

if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES) && (OrderType()==OP_
BUYSTOP || OrderType()==OP_SELLSTOP)){
if(OrderDelete(OrderTicket(), CLR_NONE)){
Print("Pending order delete error");
}
}

Print("Strange case");
}
return(0);
}
bool noTradeTime(){
return (DayOfWeek()==5 && Hour()>=16);
}
bool tryLong(){
return(High[0] > High[1] && Low[0] >= Low[1] && Close[0] > Open[0]);
}
bool tryShort(){
return(High[0] <= High[1] && Low[0] < Low[1] && Close[0] < Open[0]);
}
int start()
{
double ErgCurrent, ErgPrevious, SigCurrent, SigPrevious;
double MaCurrent, MaPrevious;
//double DTISigFilter;
double myStopLoss = 0, myTakeProfit = 0, myPrice = 0;
double CurrentPrice = 0.0;
int cnt, ticket, digits;

//cancel all pending orders if some orders exited, there should be only
one order left at this time
//close all orders on friday 16:00 pm
if(noTradeTime() && OrdersTotal()>0){
Print("Attempted to close all orders");
closeAllOrders();
return(0);
}

if(!noTradeTime()){
if(total > OrdersTotal() && OrdersTotal()==1){
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
OrderDelete(OrderTicket(), CLR_NONE);
}

total=OrdersTotal();
if(total<1){
if(AccountFreeMargin()<(1*Lots))
{
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
// check for long position (BUY) possibility
//if(ErgCurrent>SigCurrent && ErgPrevious<=SigPrevious){
if(tryLong()){
StopLongOneUnit(Ask+Point*StopSpread);
return (0);
}

// check for short position (SELL) possibility
if(tryShort()){
//if(true){
StopShortOneUnit(Bid-Point*StopSpread);
return(0);
}

}
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
// can only have one side open, if there is long order pending, it won
't open any short order
// have open orders
// have only one order pending
if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP){
if(OrderType()==OP_BUYSTOP){
CurrentPrice = Bid;
if(OrderOpenPrice()-CurrentPrice>StopSpread*Point && OrderSymbol
()==Symbol()){
OrderModify(OrderTicket(),CurrentPrice+StopSpread*Point,
CurrentPrice+StopSpread*Point-StopLoss*Point,0.0,0,Green);
}
//still pending and signal reversed
if(tryShort()){
OrderDelete(OrderTicket(), CLR_NONE);
}
}

if(OrderType()==OP_SELLSTOP){
CurrentPrice = Ask;
if(CurrentPrice-OrderOpenPrice()>StopSpread*Point && OrderSymbol
()==Symbol()){
OrderModify(OrderTicket(),CurrentPrice-StopSpread*Point,
CurrentPrice-StopSpread*Point+StopLoss*Point,0.0,0,Green);
}
//still pending and signal reversed
if(tryLong()){
OrderDelete(OrderTicket(), CLR_NONE);
}
}
return(0);
}

// at least one order get filled
//order select is sorted by order ticket number which will increment
only
//OrderSelect(total-1, SELECT_BY_POS, MODE_TRADES);
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
// can only have one side open, if there is long order pending, it won
't open any short order
// have open orders
// have only one order pending
if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP){
if(OrderType()==OP_BUYSTOP){
CurrentPrice = Bid;
if(OrderOpenPrice()-CurrentPrice>StopSpread*Point && OrderSymbol
()==Symbol()){
OrderModify(OrderTicket(),CurrentPrice+StopSpread*Point,
CurrentPrice+StopSpread*Point-StopLoss*Point,0.0,0,Green);
}
}

if(OrderType()==OP_SELLSTOP){
CurrentPrice = Ask;
if(CurrentPrice-OrderOpenPrice()>StopSpread*Point && OrderSymbol
()==Symbol()){
OrderModify(OrderTicket(),CurrentPrice-StopSpread*Point,
CurrentPrice-StopSpread*Point+StopLoss*Point,0.0,0,Green);
}
}
return(0);
}
//open one more pending order the moment last one in the series gets
filled
OrderSelect(total-1, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY){
StopLongOneUnit(OrderOpenPrice()+StopLoss*Point);
return(0);
}
if(OrderType()==OP_SELL){
StopShortOneUnit(OrderOpenPrice()-StopLoss*Point);
return(0);
}
// can only have one side open, if there is long order pending, it won
't open any short order
// have open orders
// have only one order pending
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY){
CurrentPrice = Bid;
if(CurrentPrice-OrderStopLoss()>StopLoss*Point && OrderSymbol()==
Symbol()){
for(cnt=0;cnt OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY){
//OrderModify(OrderTicket(), CurrentPrice+StopSpread*Point
, CurrentPrice+StopSpread*Point-StopLoss*Point ,0.0, 0, Green);
//}
OrderModify(OrderTicket(), OrderOpenPrice(), CurrentPrice-
StopLoss*Point ,0.0, 0, Green);
}
}
}
}

if(OrderType()==OP_SELL){
CurrentPrice = Ask;
if(OrderStopLoss()-CurrentPrice>StopLoss*Point && OrderSymbol()==
Symbol()){
for(cnt=0;cnt OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL){
//OrderModify(OrderTicket(),CurrentPrice-StopSpread*Point,
CurrentPrice-StopSpread*Point+StopLoss*Point,0.0,0,Green);
//}
OrderModify(OrderTicket(), OrderOpenPrice(), CurrentPrice+
StopLoss*Point ,0.0, 0, Green);
}
}
}
}
}
return(0);
}
暂时停止对出点的尝试,思想有点枯竭了。适合这种position sizing的入点也重要,
作为青蛙,只能孜孜不倦了。
m********0
发帖数: 2717
2
类似于图上那样,但不是完全一致(图上的跟我想的不一样,有bug,已经修改了)。
理想的情况是没有那么多whipsaw trades,只有图上中间的那部分。
线性止损和线性止赢,变成了线性止损,quadratic止赢。问题是等距离的grid,
好像要trigger第四次加仓以后才能超过grid trading,体现优势。

Profit
took,

【在 m********0 的大作中提到】
: 小青蛙一只,轻拍。
: 最近比较focus on money management,尤其是position sizing。
: 这里绝大部分都是跟我一样的beginner,基本上很看重入点,什么时候买最好。我转到
: 期货和外汇以后在这上面下了挺大的功夫,并没有达到原先预想的效果(包括SVM,
: Linear,Non-Linear,Wavelets,HONN, Kalman Filter,这些可能以后会有一定的突
: 破,但现有的概念和理论,实践起来的效果并不会提高多少,甚至没有提高,所以投入
: 产出比不佳),加上我一年多几千次浅显的交易经验给我的感觉是,入点远没有想象的
: 重要。50%的正确率够不够?我感觉远大于盈利的需求。
: 下面的blog有介绍expectancy的重要性,前两天我也引用了他的Risk Adjusted Profit
: 的概念,把纯profit 算作profit realized - stop loss level(the risk you took,

P*B
发帖数: 2876
3
膜拜一下
z********r
发帖数: 179
4
觉得很有道理!
t***2
发帖数: 209
5
顶一下。从蝌蚪到青蛙的进化过程中,最重要的一个转变是,认识到money management
, psychological effect比知道什么时候买股票重要多了。
另外,楼主发贴可不可以不要paste那么多code呀,没有人会去看那些code的

Profit
took,

【在 m********0 的大作中提到】
: 小青蛙一只,轻拍。
: 最近比较focus on money management,尤其是position sizing。
: 这里绝大部分都是跟我一样的beginner,基本上很看重入点,什么时候买最好。我转到
: 期货和外汇以后在这上面下了挺大的功夫,并没有达到原先预想的效果(包括SVM,
: Linear,Non-Linear,Wavelets,HONN, Kalman Filter,这些可能以后会有一定的突
: 破,但现有的概念和理论,实践起来的效果并不会提高多少,甚至没有提高,所以投入
: 产出比不佳),加上我一年多几千次浅显的交易经验给我的感觉是,入点远没有想象的
: 重要。50%的正确率够不够?我感觉远大于盈利的需求。
: 下面的blog有介绍expectancy的重要性,前两天我也引用了他的Risk Adjusted Profit
: 的概念,把纯profit 算作profit realized - stop loss level(the risk you took,

G*******m
发帖数: 16326
6
太复杂了。
G*******m
发帖数: 16326
7
一招就可以了。
trending day,中午有一跌,收盘之前有一跌。
抓住了也是不少哦。
j*****h
发帖数: 3292
8
大姐, 你看懂了么有啊?

【在 G*******m 的大作中提到】
: 一招就可以了。
: trending day,中午有一跌,收盘之前有一跌。
: 抓住了也是不少哦。

j****0
发帖数: 799
9
可惜这个实用期货和汇率。。。
股票不适合
j****0
发帖数: 799
10
查了一下 股指好用但是需要改一下代码~
相关主题
Beginner should stop day trade todayback testing result of my swing trading system
[ES Trading] 集中讨论帖forex trading大家用哪家broker,
好累啊请教一下,怎么看futures以及通过它预测第二天的股市情况?
进入Stock版参与讨论
o**y
发帖数: 3065
11
楼主啊,我以前就发觉你是外汇高手,进来拜一下!
G*******m
发帖数: 16326
12
知道英语,但是确实没有看明白。

【在 j*****h 的大作中提到】
: 大姐, 你看懂了么有啊?
G*******m
发帖数: 16326
13
这句话我懂:《入点远没有想象的重要。》
S********t
发帖数: 1600
14
擦。。。。
这种帖应该永久加精
顶楼主!
j*****h
发帖数: 3292
15
顶,一通不通的蝌蚪来顶
记得有个大牛说过(不是股版的),多数人觉得何时买要比买什么重要的多 (从股版的验
证就是不管什么烂股,见反弹就跳)
楼主的意思是:怎么买比何时买还要重要
可能大家的time frame 不同吧,你是从微观到宏观了
理解了, 楼主应该完全是trader's approach
又理解了,楼主做FX,理论上就是random walk,不用太多想买什么了
G*******m
发帖数: 16326
16
这些话我一直在说,而且说了无数遍了。
难道你们都没有印象?
对牛弹琴了,都?

【在 j*****h 的大作中提到】
: 顶,一通不通的蝌蚪来顶
: 记得有个大牛说过(不是股版的),多数人觉得何时买要比买什么重要的多 (从股版的验
: 证就是不管什么烂股,见反弹就跳)
: 楼主的意思是:怎么买比何时买还要重要
: 可能大家的time frame 不同吧,你是从微观到宏观了
: 理解了, 楼主应该完全是trader's approach
: 又理解了,楼主做FX,理论上就是random walk,不用太多想买什么了

j*****h
发帖数: 3292
17
真得没注意过,可能大姐平时精华太多,一时漏了
罪过罪过

【在 G*******m 的大作中提到】
: 这些话我一直在说,而且说了无数遍了。
: 难道你们都没有印象?
: 对牛弹琴了,都?

b******u
发帖数: 3215
18
forex单向收手续费,用这种方法有可能赚钱,
做股票我觉得够呛,手续费会吃掉90%以上都不止。
b******u
发帖数: 3215
19
逻辑非常混乱,
一两句话稍微解释一下,你每次盈利1000块就止赢,亏损2000块才止损(或者从不止损
或者被动止损),那66%的胜率也不能保证你盈利。反之,每次2000块止赢,1000块止
损,大于33%的胜率就可以盈利了。
这句称述内部逻辑太混乱了。打个比方,在一个下降的趋势中,你止赢执行的可能行为
0。也就是说你suppose市场完全是随机的,事实上并不是这样的。
j*****h
发帖数: 3292
20
大牛:未冕大牛有没有给你发悄悄话?

【在 b******u 的大作中提到】
: 逻辑非常混乱,
: 一两句话稍微解释一下,你每次盈利1000块就止赢,亏损2000块才止损(或者从不止损
: 或者被动止损),那66%的胜率也不能保证你盈利。反之,每次2000块止赢,1000块止
: 损,大于33%的胜率就可以盈利了。
: 这句称述内部逻辑太混乱了。打个比方,在一个下降的趋势中,你止赢执行的可能行为
: 0。也就是说你suppose市场完全是随机的,事实上并不是这样的。

相关主题
今天一个trade都没有做,晚上没饭吃!建议lucan再写个我是怎么hold-on WNR的。
天然气的生产商开始动了。 我对它的基本面的分析One graph that makes perfect sense
如何看一个操作策略是不是跳大神compare options with stocks
进入Stock版参与讨论
t**e
发帖数: 2379
21
顶。有见地。

Profit
took,

【在 m********0 的大作中提到】
: 小青蛙一只,轻拍。
: 最近比较focus on money management,尤其是position sizing。
: 这里绝大部分都是跟我一样的beginner,基本上很看重入点,什么时候买最好。我转到
: 期货和外汇以后在这上面下了挺大的功夫,并没有达到原先预想的效果(包括SVM,
: Linear,Non-Linear,Wavelets,HONN, Kalman Filter,这些可能以后会有一定的突
: 破,但现有的概念和理论,实践起来的效果并不会提高多少,甚至没有提高,所以投入
: 产出比不佳),加上我一年多几千次浅显的交易经验给我的感觉是,入点远没有想象的
: 重要。50%的正确率够不够?我感觉远大于盈利的需求。
: 下面的blog有介绍expectancy的重要性,前两天我也引用了他的Risk Adjusted Profit
: 的概念,把纯profit 算作profit realized - stop loss level(the risk you took,

b******u
发帖数: 3215
22
未冕股神不屑理我等蝌蚪

【在 j*****h 的大作中提到】
: 大牛:未冕大牛有没有给你发悄悄话?
v*****k
发帖数: 7798
23
re.最牛的走势:拉起横盘等两点lol

【在 G*******m 的大作中提到】
: 一招就可以了。
: trending day,中午有一跌,收盘之前有一跌。
: 抓住了也是不少哦。

j*****h
发帖数: 3292
24
哦,他肯定在找砖头,要不自已在撞墙

【在 b******u 的大作中提到】
: 未冕股神不屑理我等蝌蚪
g*****u
发帖数: 14294
25
内容很丰富。鼓掌!
以我一己的经验,操作中遇到自己难以驾驭的杠杆,便会开始关注到money management
/position sizing。降低了杠杆,时间框架变了,入点自然就开始变得不那么重要了。

Profit
took,

【在 m********0 的大作中提到】
: 小青蛙一只,轻拍。
: 最近比较focus on money management,尤其是position sizing。
: 这里绝大部分都是跟我一样的beginner,基本上很看重入点,什么时候买最好。我转到
: 期货和外汇以后在这上面下了挺大的功夫,并没有达到原先预想的效果(包括SVM,
: Linear,Non-Linear,Wavelets,HONN, Kalman Filter,这些可能以后会有一定的突
: 破,但现有的概念和理论,实践起来的效果并不会提高多少,甚至没有提高,所以投入
: 产出比不佳),加上我一年多几千次浅显的交易经验给我的感觉是,入点远没有想象的
: 重要。50%的正确率够不够?我感觉远大于盈利的需求。
: 下面的blog有介绍expectancy的重要性,前两天我也引用了他的Risk Adjusted Profit
: 的概念,把纯profit 算作profit realized - stop loss level(the risk you took,

u********e
发帖数: 4950
26
好贴
实际上, 你没说出的是"在入点风险都是一样的情况下"如何position sizing.
低风险投资和高风险投资本身是两个截然不同的概念,不能放在一起来比较的.
在"在入点风险都是一样的情况下"肯定是fixed size
至于"profit taking" versus "stop loss", 这已经不是"position sizing" 的issue
了.
呵呵

Profit
took,

【在 m********0 的大作中提到】
: 小青蛙一只,轻拍。
: 最近比较focus on money management,尤其是position sizing。
: 这里绝大部分都是跟我一样的beginner,基本上很看重入点,什么时候买最好。我转到
: 期货和外汇以后在这上面下了挺大的功夫,并没有达到原先预想的效果(包括SVM,
: Linear,Non-Linear,Wavelets,HONN, Kalman Filter,这些可能以后会有一定的突
: 破,但现有的概念和理论,实践起来的效果并不会提高多少,甚至没有提高,所以投入
: 产出比不佳),加上我一年多几千次浅显的交易经验给我的感觉是,入点远没有想象的
: 重要。50%的正确率够不够?我感觉远大于盈利的需求。
: 下面的blog有介绍expectancy的重要性,前两天我也引用了他的Risk Adjusted Profit
: 的概念,把纯profit 算作profit realized - stop loss level(the risk you took,

g********5
发帖数: 10335
27
哈哈 学习

Profit
took,

【在 m********0 的大作中提到】
: 小青蛙一只,轻拍。
: 最近比较focus on money management,尤其是position sizing。
: 这里绝大部分都是跟我一样的beginner,基本上很看重入点,什么时候买最好。我转到
: 期货和外汇以后在这上面下了挺大的功夫,并没有达到原先预想的效果(包括SVM,
: Linear,Non-Linear,Wavelets,HONN, Kalman Filter,这些可能以后会有一定的突
: 破,但现有的概念和理论,实践起来的效果并不会提高多少,甚至没有提高,所以投入
: 产出比不佳),加上我一年多几千次浅显的交易经验给我的感觉是,入点远没有想象的
: 重要。50%的正确率够不够?我感觉远大于盈利的需求。
: 下面的blog有介绍expectancy的重要性,前两天我也引用了他的Risk Adjusted Profit
: 的概念,把纯profit 算作profit realized - stop loss level(the risk you took,

m********0
发帖数: 2717
28
partially disagree.
I don't think fixed size is optimal when entry risk is the same.
I am not even very clear what you meant by "entry risk is the same"
of course, different position sizing methods fit different strategies and
instruments. but tp/sl ratio is close related to your choice.But which one
is optimal is instrument dependent.
these concepts are closely related and I did jump between them.
Just some random thoughts, you expect concrete logic and structure
like a textbook which is too much for me.

issue

【在 u********e 的大作中提到】
: 好贴
: 实际上, 你没说出的是"在入点风险都是一样的情况下"如何position sizing.
: 低风险投资和高风险投资本身是两个截然不同的概念,不能放在一起来比较的.
: 在"在入点风险都是一样的情况下"肯定是fixed size
: 至于"profit taking" versus "stop loss", 这已经不是"position sizing" 的issue
: 了.
: 呵呵
:
: Profit
: took,

1 (共1页)
进入Stock版参与讨论
相关主题
One graph that makes perfect senseTNA TZA day trade系统免费试用目标$200/day
compare options with stocksBeginner should stop day trade today
Backtesting 的软件哪个比较好?[ES Trading] 集中讨论帖
坐shit桶呀,坐shit桶,真呀真happy!好累啊
村长机器人源代码泄露back testing result of my swing trading system
总结一下day trade的经验阿forex trading大家用哪家broker,
阐述为什么要做High Frequency Trading请教一下,怎么看futures以及通过它预测第二天的股市情况?
紫荆,我把你beat了今天一个trade都没有做,晚上没饭吃!
相关话题的讨论汇总
话题: point话题: sell话题: op话题: mystoploss话题: ticket