Alligator Long-Term Trend Following Trading Strategy Alligator اشارے کی تعمیر کے لئے مختلف ادوار کے ساتھ تین چلتے ہوئے اوسط استعمال کرتا ہے، یعنی:
جب ایلیگیٹر اشارے کا منہ اوپر کی طرف کھلتا ہے ، یعنی جب جبڑے کی لکیر نیچے ہے ، دانتوں کی لکیر وسط میں ہے ، اور ہونٹوں کی لکیر اوپر ہے ، اور قیمت ایلیگیٹر اشارے سے اوپر ہے تو ، حکمت عملی ایک طویل پوزیشن کھولے گی۔ یہ صورتحال اس بات کی نشاندہی کرتی ہے کہ اوپر کی رجحان کی لہر کی تصدیق ہوگئی ہے ، اور ہم رجحان ختم ہونے تک پوزیشن کو برقرار رکھنا چاہتے ہیں۔
جب قیمت جبڑے کی لائن سے نیچے ہوتی ہے تو، حکمت عملی طویل پوزیشن کو بند کر دے گی۔ اس سے یہ یقینی بنتا ہے کہ ہم ریچھ کی مارکیٹ میں پوزیشنوں کو برقرار نہیں رکھیں گے۔
/*backtest start: 2023-05-11 00:00:00 end: 2024-05-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //_______ <licence> // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Skyrex //_______ <version> //@version=5 //_______ <declaration_statement> strategy(title = "Alligator Long Term Trend Following Strategy [Skyrex.io]", shorttitle = "Alligator Strategy [Skyrex.io]", overlay = true, format = format.inherit, pyramiding = 1, calc_on_order_fills = false, calc_on_every_tick = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000, currency = currency.NONE, commission_type = strategy.commission.percent, commission_value = 0.1, slippage = 5) //_______ <constant_declarations> var color skyrexGreen = color.new(#2ECD99, 0) var color skyrexGray = color.new(#F2F2F2, 0) var color skyrexWhite = color.new(#FFFFFF, 0) var color barcolor = na //_______ <inputs> // Trading bot settings sourceUuid = input.string(title = "sourceUuid:", defval = "yourBotSourceUuid", group = "Trading Bot Settings") secretToken = input.string(title = "secretToken:", defval = "yourBotSecretToken", group = "Trading Bot Settings") // Trading Period Settings lookBackPeriodStart = input(title = "Trade Start Date/Time", defval = timestamp('2023-01-01T00:00:00'), group = "Trading Period Settings") lookBackPeriodStop = input(title = "Trade Stop Date/Time", defval = timestamp('2025-01-01T00:00:00'), group = "Trading Period Settings") //_______ <function_declarations> //@function Used to calculate Simple moving average for Alligator //@param src Sourse for smma Calculations //@param length Number of bars to calculate smma //@returns The calculated smma value smma(src, length) => smma = 0.0 smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length smma //@function Used to decide if current candle above the Alligator //@param jaw Jaw line of an Alligator //@param teeth Teeth line of an Alligator //@param lips Lips line of an Alligator //@returns Bool value is_LowAboveAlligator(jaw, teeth, lips) => result = low > jaw and low > lips and low > teeth result //@function Used to decide if current candle below the Alligator //@param jaw Jaw line of an Alligator //@param teeth Teeth line of an Alligator //@param lips Lips line of an Alligator //@returns Bool value is_HighBelowAlligator(jaw, teeth, lips) => result = high < jaw and high < lips and high < teeth result //@function Used to decide if Alligator's mouth is open //@param jaw Jaw line of an Alligator //@param teeth Teeth line of an Alligator //@param lips Lips line of an Alligator //@returns Bool value is_AlligatorHungry(jaw, teeth, lips) => result = lips > jaw[5] and lips > teeth[2] and teeth > jaw[3] result //_______ <calculations> jaw = smma(hl2, 13)[8] teeth = smma(hl2, 8)[5] lips = smma(hl2, 5)[3] jaw_o = smma(hl2, 13) teeth_o = smma(hl2, 8) lips_o = smma(hl2, 5) //_______ <strategy_calls> longCondition = is_LowAboveAlligator(jaw, teeth, lips) and is_AlligatorHungry(jaw_o, teeth_o, lips_o) if (longCondition) strategy.entry(id = "entry1", direction = strategy.long, alert_message = '{\n"base": "' + syminfo.basecurrency + '",\n"quote": "' + syminfo.currency + '",\n"position": "entry1",\n"price": "' + str.tostring(close) + '",\n"sourceUuid": "' + sourceUuid + '",\n"secretToken": "' + secretToken + '",\n"timestamp": "' + str.tostring(timenow) + '"\n}') if close < jaw strategy.close(id = "entry1", alert_message = '{\n"base": "' + syminfo.basecurrency + '",\n"quote": "' + syminfo.currency + '",\n"position": "close",\n"price": "' + str.tostring(close) + '",\n"sourceUuid": "' + sourceUuid + '",\n"secretToken": "' + secretToken + '",\n"timestamp": "' + str.tostring(timenow) + '"\n}') //_______ <visuals> if strategy.opentrades > 0 barcolor := skyrexGreen else barcolor := skyrexGray barcolor(barcolor) //_______ <alerts>