使用 http 代理解决爬虫 ip 封禁问题一、 ip 封禁当网站检测到频繁请求来自同一 ip 地址时,会封禁该 ip, 导致爬虫无法正常访问网站。解决方案,使用 http 代理, 通过不同的代理 ip 进行请求,以避免被封禁。二、速度限制部分网站对访问速度进行限制,当爬虫请求速度过快时,会返回错误或拒绝连接。解决方案,通过使用 http 代理, 可以设置请求的间隔时间,以使爬虫的请求速度符合网站的限制要求。三、地理位置限制 有些网站只允许特定地理位置的 ip 地址进行访问,如果爬虫的 ip 地址与网站限制的地理位置不符,将无法访问。解决方案,通过使用 http 代理,可以选择与网站所在地 匹配的代理 ip 进行访问,也绕过地理位置限制。四、代理 ip 的稳定性一些免费的公开代理 ip 质量较低,容易出现不稳定或无效的情况,给爬虫的正常运行造成影响。解决方案,使用付费的稳定代理服务, 或者使用专业的代理 ip 持管理工具,能够确保获取到稳定可用的代理 ip。 五、隐私与安全问题使用公开的代理 ip 时,可能会面临隐私泄漏和安全风险。解决方案,选择使用经过验证的可信代理服务商,确保代理 ip 的隐私和安全性。另外, 建议使用带有 https 支持的 http 代理,以加密传输数据,提高安全性。六、代理 ip 质量问题代理 ip 的质量直接影响爬虫的稳定性和效率,一些代理 ip 可能存在 高延迟、低速度、不稳定等问题。解决方案,在选购代理 ip 时,要选择质量较好且经过验证的代理 ip 供应商,也可以通过测试和监测筛选出质量较好的代理 ip。 综上所述,在爬虫过程中, http 代理是解决多个问题的有效工具。通过使用代理 ip, 可以绕过 ip 封禁、速度限制和地理位置限制等问题,提高爬虫的稳定性和效率。然而,选择合适的代理 ip 供应商和质量较好的代理 ip 是关键。此外,隐私与安全也是需要关注的问题, 关键中的关键就是在使用代理 ip 时要选择正规可信的代理服务商。小伙伴们有什么别的好的推荐,欢迎评论区留言呦!
粉丝6获赞14

今天学一下这个网站抓取评论,在评论区可以直接获取到评论,然后左边可以看到请求,请求太多了,点一下叉一叉,这有个 dys 开头的请求,看一下预览啊,这就是评论,一次是二十条,扫一眼请求参数, 然后再次往下滑获取评论,在这可以过滤一下,现在抓到了两页的数据,然后看一下哪些参数是动态生成的。这个 ms token 是固定的,这个叉杠 box 每次都不一样,所以需要找这个参数生成的位置。 这次直接叉叉断点吧,直接在叉叉断点这创建一个康门头,然后在下滑获取评论, 可以看到他代码是混淆的,在这断住了这个位置就生成 参数的位置,所以这里先打个断点,要把这个断点位置点上,把外边的放开,里边是一个大的负尔循环, 从最外围可以看到。至于这个代码用不用解混淆呢?其实关系不大。参数是循环生成的,而且有二十八位,所以这块可以插装获取, 就是当这个参数为二十八位的时候才断注。刷新了一下也可以拿到这个参数。这里往里传了两个参数,点一下单步调试,进到这个生成的函数里,先看一下第一个参数, 这个就是表单里的所有参数,他是通过这些其他的参数去生成最后的那个参数。第二参数是个空,这个瑞特后边的在控制台输出一下,注意要把瑞特删掉, 好了,可以正常输出了,而且每次生成的值都不一样。接下来往下走这个文件就是他所有的算法了,可以通过全抠和补环境把这个算法还原代码直接贴过来,接下来去找那个主生成的函数,点一下,调用对战 点。第二个复制这个函数名在这个 ypad 对象里,也可以说是方法名。把这个方法导出,注意没有括号,然后在上面定一下温度,在下边去调用刚才的那个方法。刚才说了传两个值, 一个是请求参数,还一个是空,我这就直接写个空就完了。最后输出一下,接下来就是补环境,他少什么补什么, 然后可以正常生成了,下边那个警告说八分,这个已经废弃了,用其他方法可以不用管。 然后这个参数获取视频评论,还有些其他接口里有的数据都可以啊,不太难,网上有好多教程了已经。仅供学习啊,仅供学习。

看一下第十个,他就说受保护的一些属性,刚才前面我们已经学习了私有属性,对吧?私有属性还有一些,还有一种情况,什么受保护的? 受保护的是怎么去实现的?在我们盘子当中啊,他是前面加一个下黄线,对吧?加两个下黄线呢,表示该属性的是受什么呢?受私有的加一个呢?是保护,是呢,是受保护的。那我们给大家去演示一下哈,大家去演示一下, 那这里哈还是一样的,那我们在这里边加这个人哈,去银行,银行的他的一个地址哈,他的一个地址我们知道啊,他地址是受保护的,是吧?我们加一个 l, e, f, d, d 下划线, a, d, d, r, e, s, s 等于什么呢? a, d, d, r, e, s, s。 然后这里边就是什么就 a, d, d, r, e, s, s 啊,这里这是一个受保护的哈,这是受保护的, 受保护的属性啊。前面学生完了爱心还有这个银行啊,这个银行的一个经理啊,就大堂经理,嗯,银行的,银行的名字,银行的地址,还有什么?银行的一个 呃,序号哈,银行的一个序号,银行的蓝本哈,叫嗯 b 银行这个蓝本哈,就打因,因为每个银行都有一个编号,对吧?每个银行的都有个编号,叫什么?叫 把 nk 呃,扣的哈,西游第一啊。但这个银行的编号呢,我们一般情况下是不对外的,对吧?是不对外的,所以呢这个编号就达标是幺零零幺,是吧?这样这是银行的一个编号, 可能我们一般情况下,在我们大众当心目当中呢,都知道银行的一个名字,银行的一个弟子,是吧?但是很少知道什么呢?银行的编号对吧? 其实每一个银行都有打击的一个编号哈,银行的编号是吧?是有属性是吧?我们学习。然后这个是受保护的,这个呢是公开的哈。呃,实力白亮。 呃,公开的,这是吧?这三种形式,那默认情况底下是公开的哈,默认情况默认是公开的哈, 公开的是吧?然后再哈这样,这是三种,给大家去分别学习了一下。然后这个受保护的呢?他非常简单哈,是非常简单的,受保护的呢,是在外也是可以更改的哈。 p op d a d 下滑键是吧,他可以知道。然后这个地址呢?在什么?在山东济南啊,这样的情况,济南黄海路哈,黄海路 二二八。好好,这样情况哈,然后呢?我们这这是华夏银行,然后这里边哈,我们去取一下,加个地址,内蒙哈,内蒙地址,好吧, 这样的情况哈,然后呢,我们跑一下对吧?跑一下,你看到没有?在我们这个在里边哈,在输出一下银行的地址。 p 哦, pdiss, 然后这个时候呢,我们跑一下,他是没有什么,没有任何东西啊。那怎么把这句话呢?放下边, 哎,我们就可以得到什么银行的地址。山东济南黄海路二十八号哈,这样情况,那说明什么?说明什么?说明啊?受保护的一些哈,受保护的一些属性呢?是可以被修改和保护的啊,这样的情况,关于这个受保护的一些呃,属性啊,我们将在第二当中 给大家做更多的一个讲解,因为这里边是他的应用的。主要是在什么呢?涉及到一个什么啊?涉及到基层是吧?在基层里边,在基层中,在基层啊,关于 受保护的属性以及私有属性以及公开的属性哈。公开的属性在继承中 中的访问权限以及模块 间的访问权限啊,这一块啊,这这一段呢,先我们在第二当中给大家讲哈,先做一个倍数 啊,下一个知识点呢是关于动态属性绑定哈。动态属性绑定,动态属性绑定是什么意思啊?他是因为他是那是动态语言在创建对象的时候啊,可以动态的绑定属性或者方法。我们呢先看了一个,先来看一个代步哈。 动态绑定属性什么意思啊?对不对?那我们先给大家去演示一下啊,演示一下,那举个例子来说啊,这里边你看到没有?这个银行啊,他里边是什么?还是用这个代码哈,这里边有三个三个属性的吧,一个是内蒙,一个呢是。 呃,银行的地址,还有什么银行的编号对吧?银行编号,但是现在有啊,有一天啊,突然间突然间什么就是说,哎。这个银行的什么这银行的, 呃这个银行的,嗯。银行的。大堂经理是谁对吧?我们知道这个银行大堂经理,但是在这里边店里边我没有被写,对吧?但是呢我这个地方去加一下哈。这个银行里边大堂经理是吧?我们去绑定仲裁绑定一个 动态绑定属性啊,那怎么去实验呢? 怎么实现是吧?然后呢这里边很简单哈,就 p 一 op 第二是吧,那大堂经理是吧,我们给他起个名字叫大堂经理是吧?第大啊堂经理是吧?这样情况大经理什么叫什么名字叫叫张三哈。 这是那是吧?那这个动作就实现了什么?动态属性绑定哈。动态 属性绑定是吧?然后这个时候呢我们再跑一下,好吧?跑一下,然后呢这里哈我们就输出下他的大长进里是吧?大长进里是吧?这里边看到没? 这这上啊,跟我们前面哈,就举个例子,这个地方是不是有个呃,我们前面哈给大家去演示了一个啊?实有属性是吧?实有属性,然后这里面就可取到了,这这种方式啊非常简单,你看到没有?就是动态属性的一个绑定,非常简单的。这里有个波浪线,我们瞧一下波浪线什么意思哈? 呃。撇写错误打弹劲的哈。他这个语法语法撇写哈,那我们举过来就打,好吧。嗯,经 对是吧?呃。跑下打糖精 啊,这是一个辟邪问题啊,我们不管他了哈。啊?那就大堂吧哈。这地方叫大堂经理是吧?我们大堂经理叫张三。然后呢就是动态属性绑定啊,如果说 你看到没有,如果说前面这个地方这个呢?前面没有绑定的情况,直接访问他都会报错的是吧?会报错,会告诉你这个属性是不存在的是吧?这样的情况这是给大家去演示一下动态绑定属性。那还有一种情况,什么就动态绑定方法是吧?动态绑定方法,动态绑定 方法都在绑定方法什么意思啊?就是说我们在这个哈,由于这个你看到没有?在这个里边哈,我们就定了一个故障函数是吧?然后定了一个使用方法,定了一个什么?呃。一个 get 马里是吧?那还有一个情况什么意思?就是说我举个列是吧?我想去什么?我想去 get 到哈。 get 到这个, 我想获取这个银行的获取,想想获取这个银行的什么地址,对吧?但这里边我们没有这个方法是吧?没有这个方法怎么办呢?我们在外面定一个方法对吧?要全局 d f 是吧?呃 get 哎。 一 ss 是吧?这里边传一个纸哈,叫 s e f 啊,不用 s m f 叫 f 二哈。嗯,然后呢?传一个名字吧哈。一个名字名 m 一,然后呢?这哈 叫平安 t 嗯 am 一是吧?这样情况。然后这里定一个方法哈,就是在输出一句话叫 我是另外定义的方法是吧?然后这个时候呢,我们再跑一下哈,没问题。别一下。没问题哈,没问题。这个时候呢,我们想去干什么呢?想去动态绑定方法哈。 然后呢?动态绑定方法有两种形式啊?比两种形式 平台绑定方法有两种形式哈。 呃,先看第一种哈。 第一种绑定形式绑定 第一个绑定行杀,然后怎么绑定呢?用实力化,用 p 哦 p d 是吧?嗯 get a d d i e s s 等于什么呢? get 是吧?这样子这种形式啊,然后呢?这样瘦瘦。那这个时候绑定完我们跑一下啊。 呃 get 是吧?然后呢?这里写一下,然后这里需要揣一个值是吧?揣一个什么?就叫中信银行 中线 更新一行,然后再跑一下哈。是不是你看到没有就输出了哈。呃,我是前面加上一句话, 我是内外 里外放吧。我的名字是吧?看到啊,我们跑呀, 是吧?看到这里啊,就得到一个问题啊,就是什么就通过哈,就是这是实力明,这个是方法,这是给实力内部加一个方法,然后呢?这是绑定方法啊,这个地方一定要记住啊,他只是一个方法明啊,方法明,然后呢?下面我们就可以调动他,是吧?调动他,由于这个方法呢,我们知道啊,他前面需要 加一个参数,是吧?加个参数,那我们就给他这个参数这样情况吧。啊?这是一种情况,那还有一种情况啊,这是第一种通过实力明的方式来去给大家去访问一下,是吧?正在绑定方法 这里啊还有一种情况,还有一种情况,就是说我用这些第一种哈,用绑定鞋子,用实力明的进行方式进行绑定,但这里有个问题,什么就说我现在哈看这个方法当中我没有这个跟这个对类本身没有关系,对吧? 哎,我现在呢,我想一个问题啊,我想思考一个问题,我想把这个对象给传递的这个方法当中怎么传的?对不对啊?我们我想干什么呢? 我想把对象,对象, 对象传递到方法中,是吧?方法中 其实很简单哈,很简单,那我们稍微改进一下啊,改进一下,这里边加一个什么 c f s ex i f 点,是吧?然后呢再加个 cf, 是吧?那这个地方干什么呢?再加一个什么 h i f 啊,然后呢?这个地方怎么办呢?我们加这个全数叫 p o p l 一发,然后跑一下啊,看到没有哈?这里我是另外的一个方法, 是吧?我是另外方法,我的名字呢?是这样的,是吧?这个地址是不是这一圈是什么?是不是这个对象的地址啊?他名字是不是中信银行这样的情况吧?那如果说如果打比方说我这个地方不传对象,我传,随便传一个是吧?随便传一个叫 abc 哈, abc, 然后呢?再跑一下是吧?是不是这个地方也没脾气是吧?然后呢,这个地方酒店上我就要存在什么,就 说山东济南的,山东济南的,济南的中心银行,然后呢跑呀, 是不是?那我的名字呢?是山东济南的一个重庆啊,是不是这样情况?然后呢?哈,这个地方可以什么?就晒乎是吧?我这个地方只是起个晒乎,但是呢,他名字具体是什么我们不管是吧?但还有一种情况,什么意思?举个例子来说哈, 九个,打个比方来说,打个比方来说哈,如果说这个地方他确实确实我需要传递一个对象,我想获取到这个银行的地址,怎么办,对吧?呃,我的地址,我的名字和我的地址是吧?和我的地址是吧?然后这个地方怎么写呢? cf d 是吧?就会到了是吧?然后这个地方呢?就写什么呢?如果你这样写的话,他肯定包错,是不是会包错?那这个地方为什么会这样写呢?说明哈,你这个类这个方法写的不够严谨,因为你这个地方这样 去写了他要的什么?要的大夫必须是一个对象啊,是一个,是一个累对象,所以呢,我们这个地方需要什么?必须穿累对象哈。 如果说大家在写这种方法的时候呢,肯定要做一个验证哈,要做,要,要做什么?各种各样的验证是吧?要去看一下他是不是这样的一个对象,那如果不是,那我们就返回哈,在这里边打个比方说啊,加加一个叫艾斯特斯 s t l f 是吧? 叫 p 一哦。嗯,办卡 dnk 是吧?然后呢,这个地方去吧。 呃,数数一下哈。叫,嗯,不是 b a n k。 对象, 请喝, 准备 atm, 这样情况哈。然后呢,我们这里加一个感叹号, 然后跑一下哈,是吧?这样瞧瞧,瞧瞧瞧瞧。第一种绑定箱子 啊,这个地方他传递的是什么传递的啊?然后呢?他没有,我没有给执行然后呢?这里报错了是吧?报错了什么意思啊?报错了,然后瞧瞧,瞧瞧 他的发挥指使处的 l 杀, 然后这次再跑一下哈, 然后呢?说明哈,看到没有,他自行这里了哈。这这我是另外方法好吧,他进进到这里来了哈,进这里了,那说明什么意思啊?说明 啊,他是不是。然后这个地方应该反了哈,我写反了,写反了情况之下他等于等于那个 led 是吧? 等于防护指,我们前的防护指啊。 嗯,他仿佛的是一个波尔类型的,波尔类型的出货 boss f l s 一啊,这跑下 看到没有哈,这样的就是什么意思?就是说现在哈,就说他,我现在呢,去给他验证一下,我这里边就随便穿那个 是吧?穿这个制服,这山东济南的是吧?然后呢,他就会给我返回一个什么,就说他去验证一下,你当前闯过来这个对象是不是这个对象?对象半个是吧,如果不是他就告诉你什么不是半个对象,请核对是吧?那下面代码就不自行了吧。如果说这个地方我们重新传一下,就传什么?传当前的一个,嗯 bnk 哈。 然后呢,这个时候我们再跑一下,再跑一下哈,看到没有他就会说是什么?比如不是半个对象是吧?不是半个对象什么意思啊?来这个地方还不对,是吧?那我们再写,然后这个这个时候再跑。 哎,看到没有?我是另外方法,我的名字和地址,什么?山东济南黄海路二十八号是吧?中信银行,是不是这样的情况?这是什么?就是说第一种方式啊?通过什么?通过这个 我们把这个什么当前实力给传递过来了,是吧?这是这是用什么用的这个 这种方法。那下面呢?我们用第二种方法来解释一下。第二种方法,嗯?把它给去掉。第二种方法是什么?第二种方法哈,嗯, 第二种方法是吧?那刚才这第一种方法,我们再打开一下,第一种方法是什么意思啊?就是说现在把它删掉, 把这个给删掉,给删掉。然后啊,这里边有一个有这么一个问题啊,给大家去演示一下。有这么一个问题,现在哈,我这是第一个皮包,是吧?第一个实力,然后呢?我再去实力一个是吧?再去实力化一个叫 p n k 一等于什么? b a k。 哇,这个地方叫什么?刚才那个叫中信华夏银行,这个叫什么?叫?嗯? 招商银行啊,招商银行是吧?那这个时候呢?答案比较多,我现在呢去我第一个哈,第一个银行,你看到没有?我去绑定了一个这个盖的方法是吧?这个方法,那如果说我用这个什么比另外一个银行也去调这个方法是吧? get 一下, 哎?滴滴阿姨 ss 是吧?给他一个什么按照这个啊,给他一样的。呃,这样的,给他一样的。然后呢?这里面传递两个三数, 是吧?然后这个时候呢?招招商银行,然后跑一下投汇报错,是吧?投汇报一个错误。为什么报一个错误哈?看到没有?招招商银行这里边是传递几个参数啊? 呃,实力化的时候是还有个内幕了啊?内幕,然后呢?我们瞧瞧 啊?两个参数哈,这里边来 改一下两个参数,然后这时候再跑一下哈,看到没有?他还有一样一旦会报错啊,一旦会报错。所以说什么这个银行没有这个方法啊?没有这个方法,那什么意思啊?就说我是第一种方法,我刚才呢是通过实力当前实力哈通过当前实力。第一种方式呢?通过 当前实力啊,通过当前通过实力, 通过实力绑定方法啊?只能在当前实力上用在当前实力上访问 防护,是吧?这样情况,那如果在其他实际上呢是防不了的,是吧?在其他实际上是防不了的, 在在其他实力上是 访问不了的,是吧?这样情况。但是现在我想去在其他时间去访问一下,怎么办呢?哎,有一个方法哈,我们看第二种方法第二种方法就通过利明哈通过利明访问,通过利明绑定, 通过类明绑定方法,是吧?那这个时候呢改进一下啊,这个地方我们通过什么?皮包钉,是吧?把把这句话给复制过来, 是吧?复制过来,然后呢?我们的类名字叫 b, 是吧?他然后呢?这个时候我们再去反复一下啊,刚才我们这这句话不是反复不了吗?我把它给复制过来,对吧?再复制过来,然后呢?再 烤鸭, 然后就包错了哈,就这里边是盖的这个兔对吧?然后呢?他需要两个位置参数,但是我们给了三个是吧?给三个怎么办呢?第一个就不给了是吧?然后再跑一下, 哎,看到没有?是没?是不是没问题了?是没问题了。那如果说通过这里还有一个问题。什么?如果说通过类名绑定的话,那第一个参数呢?就不需要给了是吧? 啊? 通过类名绑定 绑定方法啊?第一个实力哈第一个实力话第一个 对象开始啊对象,但是就对象他说啊就不需要提供了是吧?这样情况看到没有? 这是通过联名绑定的,然后只需要给传递一个插入就可以了。那如果说啊,打个比方的多,我们再写一个哈再写一个。呃,这是这个,那现在呢?我们用另外一个可不可以防蚊呢?对不对?屏保哈。第二第二个实力, 这个叫实力。什么叫皮哇?然后呢?这个叫什么?叫农业银行? 物业银行啊,然后再跑一下, 然后报错了是吧?报错了,我们瞧这拿来报错了哈。嗯,报错了报错了。然后呢?儿子做 s 皮毛点儿的 get, 儿子做 s 米斯湾内蒙是吧?给他的钻石。这是多少号?这是六十八号, 就这里哈然后呢他这里需要一个,需要一个位置参数内幕,然后我们给他了这个内幕啊给他,然后呢?这里边我们需要处理一下哈,这个地方需要把它给注射掉啊然后呢?这里边也注射掉 啊,然后呢?我们再跑一下,没问题了哈。你看到没有哈?就是说我如果说通过类名绑定的方法,那说明呢?说明哈?说明什么?说明这个方法是所有实力共享的,对吧?是所有实力, 所有实力共享的啊,这样情况,如果说通过类名绑定的方法是拖入实力共享的,如果说通过实力去绑定的,那只能局限于当天实力,这样的一个情况,是吧?给大家去讲讲,重在绑定属性啊, 重在绑定方法,这样情况,下面我们再看一下啊,当然哈,对这个刚才那个属性也是一样的哈,动这个属性的绑定,重在绑定属性的动平台 动态绑定属性,也是两种方法哈,两种方法啊,第一个呢是一个呢,一个是通过实力名 啊,一个呢是通过类名啊,跟这个就这这两种情况啊,就是如果通过实力的话进的他的作用呢?只局限于本实力名,如果是通过类名的,那也是亚大所有实力共享,这样的情况 啊,这里跟这个绑定方法是一样的哈,这具体过程跟绑定方法是一样的,下面我们再瞧一瞧哈啊,通过这个,我们刚才这个 这样我们可以看一下哈,就是说,嗯,这里给大家讲完了哈,嗯,讲完了这个也是没问题的哈, 这里哈还有一种,还有一种试一下方式哈,刚才我们是不是通过这种哈,就是通过这种就是说,呃,绑定方式啊,我们通过这种就是说把这个当前的对象呢给传递过去了,是吧? 我们在这里传的哈,就是说酒店刷,我们看一下这个方法,我们这里是不是做了一个验证啊?是吧?是塞尔福是吧?还有个哈,就是我们这个 在乎的是不是当前的一个半个的一个实力,对吧?我们做了一个验证,那这里哈我们通过这种方式,第一种啊,这是第一种方式给他绑定了是吧?绑定了,那还有一种绑定方式啊,再给大家去演示一下另外一种绑定方式啊,另外一种绑定方式,呃, 演示,演示一下 另外的一种绑定方式是吧?然后这里还需要导入一个模块哈,导入一个模块叫 m 八阵的哈, flm。 嗯, mp 二 t, 然后这里啊,我们去改进一下。怎么去改进呢?我们把 这两个都改,都注册掉哈,这个是通过类名的注册掉, 通过类语访问的,然后呢?注视调,注视调是吧?这是第二种是通过类名,第一种呢是通过实类名,然后下面我们演示一下,就是说通过还是一样的哈。通过先通过什么?通过?实力叫 bnk。 可以一等于什么呢? m 一 m 一,嗯,我瞧瞧啊, a d d a d d d 二一 s s a d d r 一等于什么呢? m 一是吧,然后在里面铲参数。 传什么呢?第一个传什么?传的是对象哈,从那个对象叫 b n k。 第二个呢是实力是吧?方法名啊,方法名 abd 二一二三四。选错了吗?我啊,先去找方法啊, 哎,弟弟二一二三四干了哈。 这个,然后呢,这是一个,第二个是什么?第二个是实力 bmk 是吧?这是啊,呃,绑定方法, 然后啊,这个时候我们调一下 a k 点接他 指引一下哈,你瞧瞧, 这里会报错哈,这是 miss you one 是吧?找一个厕所叫,叫什么呢?叫 中国银行,烤鸭哈,烤鸭啊, 然后呢,我是例外的方法,我的名字和地址是中国银行,然后这里边没有输出哈,没有输出。这个 cf 把塞尔夫的耳朵拽死,哎,塞尔夫的耳朵拽死,他没输错。 嗯,那把对象干出来哈,然后特殊再跑一下, 看到没有哈,这个是这样的一块,然后呢?我们瞧一瞧,哪里有问题?蚌壳啊,这里哈,我们没看到没有哈,这个地方我们需要给他一个地址哈,叫由于蚌壳这个地方啊,你看到没有?这个地方他我们直接哈,你看到没有?我如果说这里我们改一下 是吧?我跑一下看,看到没有地址,没有输出来是吧?没有输出来,为什么?因为我们这个地方绥化的时候蚌可点 k 是吧?这个地方,这个地方地址是空的哈,我们写下地址叫山东呃,泰安哈。嗯,山东,济南,济南黄河路哇, 和路是吧?幺幺号幺幺零哈。这样的话我们在跑样,看到没有啊?就是他就会输出什么呢?哎。我的地址是什么呢?中国银行,我的地址黄河路幺幺零是吧?这个时候他就会输出,说明什么,他就自动的把什么,把当前对象哈,把当前对象, 把大家对战给传递过去了,是吧?这是通过实力名,然后呢?这是第一种情况是吧?第二种情况呢?是通过类名哈,通过类名,但是这种通过实力呢,我们还是一样的啊,看 p o p 第二第二,哎哎 啊,我们通过这个看,可不可以帮我哈, 这个叫什么呢?哎,叫工商银行, 孩子会报错哈。说明什么呢?说明没有这个没有这个方法哈。那这个时候怎么办呢?就是通过实力孩子不可以的哈,还不可以的。然后呢?这个时候我们再去改进一下哈,再去改进一下,这是第一种通过实力,那第二种呢?是通过什么呢?通过哈,通过这个 通过这个通过。通过什么呢?通过这名哈, 同类名,然后这里啊就是一个,这是一个半颗,半颗点一,然后呢我们去类名,类名类的类的 累了, b a k 啊,然后这地方穿 b a k 啊 啊,这个是绑定方法,下面再跑一下,没有错了是吧?没有错了哈,然后呢?这是第一个实力没问题是吧? 那这个时候哈,我们把这个前面给注射掉呃,免得受影响哈,这个情况跑一下没问题哈,没有不处对象, 不是对象啊,不是对象就对了哈,不是对象就对了,因为什么?因为这我们查的是一个什么通过类名去访问的哈,通过类名去绑定的,所以不是对象是正确的哈。那另外一种我们再跑一下,用第二个实力是吧?我们再跑一下, 是不是看到没有?两个哈都跑了是吧?都跑了说明什么呢?哈,说明是没问题的哈。这个地方呃说明是没有问题的。然后这里边我们去验证一下,然后把当前的一个摄像头呢 啊来输出一下哈,看到没有哈?然后四 f 点,哎 啊,因为没有被实力哈,看到没有?这个地方没有被实力,所以呢他是一样的哈,他是仿他是获取不到的哈,看到没有?他是这样的,不是不是半个对象,因为为什么?因为没有被实力化是吧?没有被实力化,但是呢他可以去访问哈,可以去访问。

好,咱们以上这些代码其实可以作为一个基本的呃自动化测试加测试框架,那么你可以去通过去编写一些,就 就是说自己去定一些函数,自己去定一些这个测试用力来去实现这个。呃自动化测试啊,那现在我们做的这些都是一些正常场景的测试,那测试的时候呢,我们就是主要是用这个 py 太测啊,可以去执行,可以去执行执行这些用力啊, 那我们在这边执行的时候呢,也可以直接执行这个目录,比如说我后边跟上这个太子 kiss 这个目录,他呢?啊 pyt 会自动的去读取你这个目录边的所有的文件,如果这个文件呢,比如说以太子下滑线开始,他会自动的把这个太子下滑线这个文件呢当成 是一个测试用力来执行,那我们可以直接去运行。哎,大家可以看一下这边的话,他运行了三个啊,这三个呢都是 都是在这个泰色 top 这个文件里面啊,我们定义了三个测试方法,他可以把它当成三个测试用力。那这边的话就是如果我们以后做回归测试的时候,建议大家可以把每一个文件名都以太子的下划线开始去 命名。运行的时候呢,你只需要运行一个目录,他会把所有的文件里边的所有的文件啊,都会给我们去执行,这个比较方便啊。好,那我们说完这个执行之后呢,其实我们在做项目的时候还要再去做一个 啊测试报告,那现在这个报告呢比较简单,就是给我们打印出哪个成功哪个失败啊,我们最好把它保存到文件 这边,这边的话我们可以用第二个啊,就是用这个 pyts html 这个库,然后这个库呢可以去帮我们去生成报告,那他的使用方式呢?也特别简单,大家可以看一下第一步安装,第二步运行的时候直接跟上这个 ag t m 二这个参数就可以了。好,那现在我们来演示一下,第一步,先安装 p i p 因斯特 p y tistar 杠 h t m 二, 安装好之后啊,咱们再去运行,运行的时候呢,刚才的命令后边直接跟上一个 a tm 二,那 a, 刚刚 a t m 二是表示生成一个 a t m 二格式的报告,后边再跟他一个文件啊, apod 点 a t m 二,那这个的话就是把这个文件呢啊,存到这个文件里边,那 我们可以看到这边运行完之后呢,他会有一个提示,说杰尔瑞特 agtm 文件啊,这个文件路径呢是在我们的电脑这个项目的根部录像啊。好,那现在的话我们来看一下啊,看一下他有没有生成啊?好,现在生成了,因为他生成的时候,嗯,他要写文件稍微 需要慢点,你可以右键在这里边呢,比如说打,用浏览器打开,比如用抠门浏览器打开,那在这边呢可以看到它里边的这个, 呃,执行的这个结果啊,比如说有成功的啊,有失败的啊,这边都可以看到这个详细的信息啊。呃, ok, 那么这个的话就是这个报告文件。

这节课呢,我们去给大家讲一下动态绑定属性和方法,那拍子是一门动态语言,他在创建对象之后可以动态的绑定属性和方法,那这句话什么含义呢?那现在呢,我们去给大家演示一下, 我呢在这的时候去新建一个拍摄文件,叫做 demo 六,然后呢在这个 demo 六当中,我重新去定义一个 class, 也叫 student, 然后去定义一个初始化方法,叫 enit, 那然后他写 name at, 那我在这个当中呢,将我的局部变量的值 去付给我的一个实力变量,叫 cf 点内幕,那下面还有一个叫做 cf 点 a 值,叫 a 值的局部变量值,覆盖 我的实力变量 cerf 点 at。 老师说过,这个 name 和 age 的名字你可以任意的去改变,但是我们习惯上让他们两个相同。那然后我再去定一个方法,叫做 et, 在 et 当中输出一句话叫 cef, 在乎点内幕,就是谁谁谁在吃饭,那这样的话我的一个类就定义完成了,那这个类定义完成之后,我就可以去创建这个类的对象, stu e student 叫做张三,张三今年二十, stu 二 student 叫谁呢?叫李四,李四今年是三十。那这样我的两个学生类的对象就创建完成了。 那你的这两个学生类创建完成之后,我来给你画一个简易的内存图啊,叫 mspant, 画一个简要的一个内存图,那是这样的,首先这个是谁? 这个是我的 student。 累也被称作什么累对象,他是一个 class 的对象,然后在这个累对象当中我们定义什么了?咱们定义了一个 init 的。 net 初始化方法, 那除了这个初始化方法之外,是不是还定义了一个叫做 it, 对吧?叫做 it 这样的一个方法。那这个是我的类对象,然后呢?我创建了两个学生类的对象,一个叫做 stue, 那 stue 是什么? 它是 student 类的实力对象,那 s t u 二呢?它也是我的 student 类的实力对象,那然后呢?这两个 优等的类型的实力对象,然后有一个什么呢?你是不是有一个内幕,有一个 a 值,你的内幕的值是多少啊? 内幕的值叫张三,所以我的内幕就指向张三,然后这个 a 值呢? a 值是二十, 因为在胎森当中一切接对象,这个叫做串对象,这个叫 in int 类型的对象。那在这的时候呢?内幕指向张三, a 指指向二十,这个是不是我的 stue, 然后呢?当然他还有一个什么?他还有一个叫类 指针的东西,他指向了我的 student 类的类对象。那这个我给你写上红色的,这个叫什么?这个是我的一个叫类指针,他指向了他所创建对象的一个 类型,那然后这个是我的 stu 二,它呢也有内幕,也有 age, 它的内幕的值是谁?李四, 所以呢?他的内幕指向的是李四。呃,他的 a 值是多少?他的 a 值是三十, 所以呢?他指向的是三十,是这样一个过程,对吧?他也有一个类对象去指向了我的优等的类啊,这是他的那个类对象,也是给你换一个颜色,他也叫做类 对象。那现在我们的情况就是这样的,那这个情况说明什么呢?这个情况说明了一个问题,就是我的 student 类可以去创建很多个实力对象,每个实力对象的属性值是可以不同的。 你在这写上一个 student 来,可以创建 n 多个 student 类的实力对象,每个实力对象的属性值可以相同,也可以怎么样?不同不同我就直接写不同了。为什么写不同了?因为你的什么 name 是李四, a 值是三十,这个是 name 是张三, a 值是二十,所以他的每个实力对象的属性值不同,对吧?那这个是咱们目前的情况, 现在呢,我的 stu 一与 stu 二这两个对象已经创建完成,因为他在内存当中都已经开了空间, 在这写 ids tu 一,然后 prerunt id stu 二,我的 stu 一与 stu 二已经开了单独的内存空间。 那现在我要做什么?我觉得这个啊,这个 student 二叫李四的这个同学,我想给他添加一个性别 啊,叫做纪念 d 啊,我呢想让他去指向这个谁呢?我想让他去指向这个女,哎,就像这回事,我只想给 stu 添加,不想给 stu 二添加。那这个时候你就可以使用 动态绑定。怎么绑定?直接用他的对象名去添加一个属性并复制就可以了。那你看一下我在这的时候开始叫什么 v s 七幺二, 去动态的绑掉性别属性。那你怎么去绑定的 stu 二?点志愿第一啊,直接给他绑定成女就可以了。那现在呢,我们再去输出 stu 一的 name 逗号 stu 一的 age, 然后你再输出 s t u r 的内幕, s t u r 的 age 以及 s t u r 的一个性别。那现在呢?我们来运行一下,现在我们去运行的时候,你看 s t u e 就是 张三二十, s t u 二就是李四三十女。那我想让 s t u 一也去输出性别,会什么情况呢?那你看程序报错,他会告诉你死纠正他 这个 object student 这个对象 has no, 就是没有真的这个属性。为什么 stu 一没有真的这个属性呢?很简单,因为你是在创建对象之后去为 stur 单独绑定的属性, 当然 stu 一没有了,你看这个内存图也是这样的呀,你为啊,那我这个绑错了哈,我这是为 stu 二绑的。那我为 stu 一绑吧,不然跟那图对不上了啊。 stu 一点真的,不然跟图对不上了, 重新绑一下,那我现在呢,再去运行一下,你看张三是二是女,和这个图是不是就对应上了?那然后我的李四是什么?李四是 李四三十,那如果你要输出这个李四 s t u 二的真的,你是输不出来的, 程序会报错的,因为你只是在在那个创建完对象之后,只为 stu 一动态绑定了性别,但是你却没有为 st 二去绑定,所以程序运行他会报错。那么当我们修改之后,他就和咱们这个图是一样的, stu 一你绑定一个真的,这个真的只隶属于你自己,而 stu 二是不允许使用的, u 二是不允许需使用的。那现在老师问一个问题,什么样的属性是 s t u 一和 s t u 二所共有的呢?谁? name 和 age? name 和 age 是在哪来的?是不在定以。 net 初始化方法的时候 所传入的参数。那我们可以总结出来,在以内的方法当中所传的这个 变量,他是谁呢?是我们的这个死丢的,也就说这个步骤啊,你这个内幕和 age 是谁?是我们的局部变量,他的实力变量是 self name 和 self age, 也就是说你的这一个 self name 和 self 点 age 是 student 类的所有对象所都有的,就这个 self 点内幕, self 点 age。 而在程序创建完 对象之后,你所绑定的这个属性只适用于当前绑定的这个对象,我们可以去绑定属性,还可以去什么?还可以去动态的绑定方法, 那什么叫做动态的绑定方法?那我现在呢,先来给你演示一下我正常的一个情况, 让他先来演示正常的一个情况。正常的情况是什么?我的 stu 一可以去调用 et 方法我的 stu 二是不是也可以去调用 et 方法? 那我们在这运行的时候,这个方法是定义在我们的类对象当中的,所以 s t u 一和 s t 二都可以去使用这个 e 的方法,那现在呢?我们为 s t u 一单 如去绑定一个瘦方法,那这个方法怎么去绑定我呢?在这写个 df 瘦,这是定义在内之外的,定义在内之外的, 而我们的 py 文件里的称为,我们把它称为函数。现在我们就要把你定义的这个函数去绑定在 stu 一这个对象上,所以 stu 一点 show 这事就搞定了。 然后你可以去 stu 一去调用这个瘦方法,那现在我们来运行,看一下定义在类之外的称为函数是不是你 stu 一去调用的,那我在 stu 二也去调用一下这个瘦,看一下会什么情况, 为什么程序报错,因为 stu 二你没有绑定售方法,你在这叫做函数,当你绑定到对象上之后就称为方法了, 那这个呢?就是我们给大家讲到的动态绑定属性和方法,那看一下在本章当中我们给大家讲到了哪些问题? 在本章当中我们给大家讲到了编程的两种思想,叫做面相过程和面相对象,那这两种编程思想他是咱们的 哎,就是互相的,相辅相成的。宏观上,大方向上,咱们使用面相对象确定对象之间的关系,微观细节上使用面相过程逐步去实现。然后我 有没有给大家讲到了累对象,什么叫做累对象?使用 class 去声明的就叫累对象,你 class student, student 就是累对象,你 clus person, person 就是累对象,你 clus pa pa 就是类对象。那么在一个类对象当中,我们可以去定义类属性,什么叫做类属性?是定义在类里方法外的那个变量,就称为类属性。那我们的类方法是使用叫做 clasmizer 的去修饰的, 那么这个类方法会带一个默认的参数叫 cls, 当然这个名字你可以自己解,实力方法他是默认带一个参数叫 cerf, 当然这个 cerf 你也可以去叫别的名字。然后 呢我们给大家讲到了静态方法,它是使用 satike 的去修饰的方法,它的小括号当中没有默认参数。那在我们的这个过程当中,我们的类属性 类方法,静态方法都是使用类名去使用的,就类名打点去调用,而实力方法是使用对象明确打点调用的, 那实力方法除了使用我们的对象名去打点吊用之外,他也可以使用类名去吊用, 就是我们实力方法叫 stue, 我在这写上,这是不是你创建了一个 stue 的对象,对吧?那在这个类当中,你写个 stue 加 et, 是不是我去调用它的 et 方法了,那这个 et 就是我的实力方法,那这个 et 除了有这种调用方 方式,还有这样去调用,使用类名去调用,然后将你的对象传入,所以呢,这两种调用方式都可以,因为你调用 it 的时候,你是不是传赛尔夫了?赛尔夫是谁?不就 student 类的对象, 你当然使用对象名直接调音可以,你传入对象调音也可以。那么由我们又给大家讲到了实力对象,实力对象的创建方式就类名 小括号,然后小括号当中你可以传参数。那么当我们创建完这个实力对象之后,可以去动态绑定属性和动态绑定方法, 但是你动态绑定的这个属性和方法只针对于当前对象起作用,剩下其他对象均不起作用。那关于类和对象的问题,我们今天就给大家讲到这。

经常有人问怎么进行本地预警,实现多层次选股品种动态的删除和后台交易。今天我们就来说说这么一个神奇的功能,只需三个步骤,可是每一步都可能踩坑,怕找不到,先点赞收藏。第一步, 建立合约生成和删除的选股公式。比如说我们这里有一个三十 f 金叉,也就是三十分钟 m a、 c、 d 出现金叉的时候, 把它添加到商品期货股标尺,三十 f 死叉,还有三十分钟出现死叉的时候,从这一个商品期货股标尺删除这个品种,这样就实现了 自定义板块里面的品种动态变化。第二步,建立一个五 f 金叉买入公式,在这个公式中,对 msa 底出现 金叉的品种进行买入操作,出现死叉的品种进行卖出操作。第三步,非常关键的一个设置过程,在交易菜单的后台程序化下,建立三个预警,第一个预警是三十 f 金叉, 这个预警呢,我们需要从连续合员中去监控品种,满足条件的自动添加到商品期货股票值。 第二个预警呢,是三十 f 死叉,他也是从连续合约中去监控这些品种出现死叉,自动把商品激活股票指中的该品种进行删除。第三步呢,是五 f 金叉,这个条件呢,他的这个股票值是动态加载的, 他需要监控的是商品期货股票池,这一个股票池,当这个池中的品种发生变化的时候,他就会进行五分钟 判断是否满足买入条件或者败出条件。整个设置好以后,启动预警, 就可以实现这一个三个层次的商品几乎的自动买卖交易。需要说明的一点,后面第三步的这个交易需要你购买金字塔专业版才能实现,如果没有专业版,那么这一步呢?你可以使用拍子来实现,那么拍子部分呢? 我们在这里面就没有讲到,如果需要了解可以添加我的微信进行交流,我说明白了吗?欢迎评论区留言讨论。

welcome back next up! we're gonna talk about a library called tic token it's put out by open ai and it's a tokenizer library it basically has one goal we give it a piece of text and it will return to us the tokens that would be generated by that piece of text specific to in different encodings so basically we'll say all right we have this big piece of text for gpt4 how many tokens are in it and with a little bit of work it will tell us this will be five hundred tokens or ten thousand tokens and then we can make decisions based off of that we can do things like figure out rough pricing estimates but also there are many queries we could write where we really have to know how close we are to hitting the max token limit and the reason of bringing this up now is in our next project we are going to summarize entire books me find an example a book like this this is peter pan we do it with the great gatsby and peter pan and metamorphosis these are books that are way way too big to fit into a single prompt so we have to write some code that basically takes the correct number of tokens out of this book and passes them through in a single request and then does that like fifty a hundred or thousand times and then takes each individual, summary and stitches them back together and does that process over and over recursively, but the key to being able to determine how much this text to include at once is knowing how many tokens are in each piece of text, so that is where this library comes in called tic token it's put out by open ai you can see it's on their github organization it's called tic token and it's pretty simple to use you need to install it so that's just a pip install tic token i've already done this if you've installed tic token in the past, you may want to upgrade it because gpd4 has since come out and gbt 4 actually uses the same encoding as gbt 3.5 turbo but still if you install this a while ago you'll probably want to upgrade it and then once i have that i will import it import tick token all right so the next thing you have to understand is that there are different encodings different algorithms used to take text and split it into tokens there's three main ones they have names that i can never remember cl100k base, p50k base and r50k base and depending on the model that you're using that changes which encoding algorithm is used so for gpt four three point five turbo it's cl 100k base when we're talking about text da vinci oo3 it's p50k base so you have to know which encoding is used so let's start with p50k base let's say i'm trying to figure out with text da vinci three how many tokens are in a paragraph of text the first step once i've imported tic token is then to get the correct encoding using the get encoding method so i'll do that here tick token get encoding and then i pass through the name of an encoding and this will go and find the encoding with that name okay and then all that i do is call encoding dot encode if i call this variable enc enc dot encode and then i pass a piece of text like hello world and what this will return to me is a list of token ids so you can see there's three numbers in here this means this piece of text was turned into three tokens and if i copy this exactly can i go to the tokenizer on open ai we saw this early on it shows me three tokens and down here i can toggle between the text and then the token ids and we see the same token ids right one five four nine six nine nine five and zero 15496, 995 and zero so it does the same thing the tokenizer in the browser is limited in that it only supports gpt3 so that's a big limitation but more importantly, we have to copy and paste our text into here manually and that would not work if i was trying to write code to summarize this entire book programmatically i need some way of knowing how many tokens are in this piece of text i need to grab let's say 4000 tokens at once i could write a function to do that using tick token where i asked tick token how many tokens are here and i keep adding on until i get to 4000 and then i stop but the tokenizer does the same thing it's the same algorithm behind the scenes it's just a browser tool and it's a good teaching demonstration but tic token is what you would use in the real world to actually figure out how many tokens are in a piece of text so the actual way to figure out the number of tokens would be to wrap it in len right find the length of that list and we see there's three tokens so if i have something else like ah maybe a paragraph or two of text, i'll take i don't know some paragraphs or text from this book it really doesn't matter where but maybe all of this content i'll put this in a variable i'll call this like book text i'll make it a triple quoted string i'll put that in there all right i'll save that or i'll run that cell and then i can figure out how many tokens are in there by rerunning this line and i'll provide my book text variable and it tells me that's two hundred and fifty three tokens now it's important to note that if i change my encoding to be something else like the gpt three point five in coding, which is cl one hundred k base i may get a different number of tokens because it's a different encoding so it does matter you know which algorithm we're using here so we got two fifty three now we get two hundred twenty four tokens when we use this encoding c l one hundred k base which is what gpt three point five turbo and gpt four both use now if you struggle like me to remember the names of these encodings there's also a helper function called encoding four model and this will go and get the corresponding and coding so i actually prefer to use this i'll keep this here but all commented out and i'll use the get encoding what's just called encoding for model? you provide the model name and then it gets the corresponding encoding and we should get the same number 224 so here's a function that we could write just to wrap up you know the functionality that we we just saw it's a function called num tokens from string you provided a piece of text and then a model name and all that it does is it returns uh the number of tokens in that piece of text by first getting the corresponding encoding using the model name with this encoding for model method, i just showed you and then once we have that encoding we turn that piece of text into a list of tokens and then we get the length of that list of tokens and return it so i should just get the same result if i do num tokens from string and then i provide my book text and then gpt 3.5 dash turbo we get 224 if i do the same thing with a different model and like text of inchie oh oh three it's 253 tokens so this was a nice helper function that we could use to figure out how many tokens are in a piece of text given a model and that's it for this video and if you wanted to figure out pricing by the way right you just figure out okay what's this gpt three point five turbo cost? somewhere on here yeah three point five turbo on their pricing page right now is point o o two dollars per one thousand tokens so you know you can take this go to our notebook call this price per token and then divide that by 1000 right and then we could multiply this times the price for token and it would tell us and then we can see that it's point oh oh oh five dollars for this number of tokens for text da vinci three point five turbo although i this was actually using text da vinci three so that's not accurate the price for text da vinci three is different this price for token that i have is for gpt three point five turbo and i'm sure pricing information will change okay there we go it's point oh oh oh four dollars for two hundred and twenty four tokens with gpt three point five turbo okay next we'll talk about some of the lengths we have to go to when it comes to estimating tokens for the messages syntax for the chat apis and that's coming up,

透视有风险,路是需谨慎。大家好,我是 python 量化家的老湾。我们前一期跟大家介绍了几种双脉策略的动态调整。开始之前呢,我们还是先复习一下什么是双脉策略。 双卖策略是同时卖出眷顾齐全跟认购齐全。短时间之内,如果我的标的物 e、 t、 f 或者是股指低,你时间之内波动来回震荡,小幅度的波动呢,我们就可以赚取这个权利。金过 这震动幅度比较大,或者走出单边趋势的时候呢,我们会面临亏损。策略,在静态之下,我们可以做一个静态,我不调整磁场,但是在动态情况之下,因为 etf 或者是起五指会朝一个方向走。在动态的情况之下,我们有两种应对方式,第一个策略呢,是我们比较熟悉的,我就持长不动。第二个策略我动态调整,也就是他如果往下或者往上穿越到另外一个合约价的时候呢,我们换乘到 另外一个新的双脉策略组合创业版 etf 期间当做例子啊,因为创业版它的短期期间之内的波动幅度比较大,所以可以在短期间之内,一个两个礼拜之内看到它穿越到另外一个合约价,所以呢,我们把时间因素把它去剔除掉之后,就可以看到这两个策略的明显差异。有动态调整跟没有动态调整之下淫秽的差异 是二零二三年十一月六号,这天当做我们的建仓日,因为这一天的创业板一天我穿越了一点,就这个合约价,二零二三年十一月二十四号礼拜五呢,创业板在二零二二三年十一月二十二号,也是前两天的穿越一点九零这个合约价,我们今天看一下实际的例子啊,这边建了两个交易策略,一个是在 同时卖出一点九五的认购跟认购,并且持有到十一月二十四号,那这是在十一月六号所建仓的另外一个交易策略呢,是十一月六号建仓之后, 我们在十一月二十二号换仓到一点九的合约价,平仓掉了一点九五这合约价,而建仓了一个是一点九零合约价的双脉策略。首先看一下这些日期一贴服认估跟认购的区间价格,从十一月六号开始,创业板开始的回调趋势, 认估齐全,持续上涨,那认购齐全,持续。总结看一下两个策略的差异。首先我们看一下在十一月六号建厂不做调仓的双脉策略, 三周的调整下来,整体上双脉策略呢,可以获得两百五十六点的收益,这是不调仓的策略之下。 另外呢,我们看一下第二个策略,策略二,双脉策略在十一月二十二号这一天,我们做一个调仓,在十一月二十二号这一天的创业板一天下穿了一点九零这个行权架,因此呢,我们在这一天做了个调仓,我们把一点九五的这个双脉策略组合把它品尝掉。另外在十一月二十二号这 一天,同一天呢,我们建立了另外一个仓位,呃,星权家的中心价是一点九零,那整体的策略组合,我们算一下,在十一月二十四号结算下来盈亏的收益是三百零八点,那比不调张的策略提升了五十二点,也就是百分之二十的收益。 双脉策略不仅仅是为了提升你的获利,同时也会释怀你的风险。我们如果继续假设创业板一天往下穿透了到一点八五,这合约价如果你不调仓的话,那么你面对的风险就是更大的,他单边的风险的亏损任估齐全的 的涨幅会远远大于你认购齐全的叠幅。所以当你的双脉策略如果已经开始变动,你的中心价已经开始变动的时候,这时候编剧调张,一方面是为了你的提升你的获利,而方面是为了降低你的亏损, 那这个是双卖策略的一个风险管理。所以呢,今天的分享先到这边,如果你喜欢我的视频的话,投币点赞加关注,一键三连,下次见喽,拜拜!

数据可视化是现代数据分析中不可或缺的一部分,在派放语言中,有许多工具和库可以帮助我们将数据转化为可视化的图表。 有些情况下,静态图表难以准确有效的展现数据的变化趋势和变化程度,这时动态实施轨迹绘图变成了一种十分有用的可视化方式。 动态实时轨迹绘图的实现一般需要结合派葬的位框架和 javascript 等前端框架共同实现。下面我们以派藏 plus 框架为例,介绍如何实现一个动态实时轨迹绘图的平台。首先我们需要定义数据的结构并存储在一个列表中, 这里 x、 y 和 t 分别代表了数据的 x 坐标、 y 坐标和时间轴。我们可以通过拍葬的探库自定义数据的生成方式和间隔时间 实现动态数据的生成。下面是一个简单的数据生成函数,接下来我们使用 fast 对 h、 t、 t、 p 的请求进行处理,并使用 fast t t 优酷建立起双向通信的 whipsock 连接。 我们在 index h、 t、 m、 l 中实现可视化的页面,并通过 javascript 语言来处理数据和进行绘图,其中使用的是第三 j s 来绘制动态实施轨迹。下面是一个简要的 index、 h、 t、 m、 l 实现代码。 在以上代码中,我们首先定一个空的 data 变量,接着建立 wordshock 连接,并通过四 tto 档案函数监听服务器端发送的数据,并将其添加至 deta 中。最后使用 d 三 js 动态绘制轨迹图表。 动态实施轨迹绘图的应用场景一,物流追踪企业需要实时了解货物在仓库和运输途中的变化情况, 进而能够快速的发现运输问题并及时处理。二、网站访问量追踪定期的访问量统计可以帮助企业更好的了解用户的访问习惯和需求,进而对网站内容和服务进行优化或改进。动态实施轨迹可以实时反映网站的访问情况, 同时展示各个用户的访问路径和数据变化情况。三、人员跟踪动态实时轨迹可以通过 gps 等定位设备来实时追踪人员的位置和活动趋势。对于企业、政府和警察等部门来说, 这一工具能够帮助他们更好地了解人员的行踪,进而开展各种应对措施。 关注我们,每天了解新知识!

这节继续讲解继承,想要详细的文字版教程的可以看我主页多肽动态绑定一、什么是多肽动态绑定?在继承的背景下使用时,有时也称为多肽性。 答案,多态性是指在不考虑实力类型的情况下使用实力。在面相对象方法中一般是这样表述,多态性, 向不同的对象发送同一条消息。 ob 点 fonk 是调用了 up 的方法。 fonk 又称为像 up, 发送了一条消息 fonk。 不同的对象在接收时会产生不同的行为。 急方法,也就是说每个对象可以用自己的方式去响应共同的消息。所谓消息就是调用函数,不同的行为就是指不同的实现及执行不同的函数。比如老 老师下课铃响了,学生下课铃响了,老师执行的是下班操作,学生执行的是放学操作。虽然二者接受到的消息一样,但是执行的效果不同。 多肽性类似鸭子类型,拍丧崇尚鸭子类型,即如果看起来像叫声相,而且走起路来像鸭子,那么他就是鸭子 拍送。程序员通常根据这种行为来编写程序。例如,如果想编写现有对象的自定义版本,可以继承该对象,也可以创建一个外观和行为象但与他无任何关系的全新对象。后者通常用于保存程序组建的松偶合度。 利一,利用标准库中定义的各种与文件类似的对象,尽管这些对象的工作方式像文件,但他们 没有继承内置文件对象的方法。立二、序列类型有多种形态,字符串、列表、原组,但他们之间没有直接的继承关系。例子,关注我,下节继续更新。