Skip to content
This repository has been archived by the owner on Nov 4, 2023. It is now read-only.

Commit

Permalink
update prompt
Browse files Browse the repository at this point in the history
  • Loading branch information
adminailab committed Jul 31, 2023
1 parent e03bbb2 commit 7942244
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions scripts/ai_helper_concept.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import asyncio
import yaml
import os
import requests

import openai
import requests
import yaml

from hummingbot.logger import HummingbotLogger
from hummingbot.strategy.script_strategy_base import ScriptStrategyBase
Expand Down Expand Up @@ -131,7 +132,7 @@ def get_ai_model(fast_mode=False):
{"role": "system", "content": "Yes, I understand. When generating a strategy file, I will limit comments to one line each. In the `get_signal` method, I will include a one-line comment for each condition or logic branch to help verify that the code matches the intended logic."},
{"role": "user", "content": "below are the updated usage of technical analysis library in python (ta name -> python function name (arguments))\nawesome oscillator -> ao(high, low, fast=None, slow=None, offset=None, **kwargs)\nAbsolute Price Oscillator -> apo(close, fast=None, slow=None, mamode=None, talib=None, offset=None, **kwargs)\nDirectional Movement -> dm(high, low, length=None, mamode=None, talib=None, drift=None, offset=None, **kwargs)\nMoving Average Convergence Divergence -> macd(close, fast=None, slow=None, signal=None, talib=None, offset=None, **kwargs) return index are MACDh_<fast>_<slow>_<signal> and MACD_<fast>_<slow>_<signal>\nMomentum -> mom(close, length=None, talib=None, offset=None, **kwargs)\nRelative Strength Index -> rsi(close, length=None, scalar=None, talib=None, drift=None, offset=None, **kwargs)\nRelative Strength Xtra -> rsx(close, length=None, drift=None, offset=None, **kwargs)\nStochastic Oscillator -> stoch(high, low, close, k=None, d=None, smooth_k=None, mamode=None, offset=None, **kwargs)\nStochastic RSI -> stochrsi(close, length=None, rsi_length=None, k=None, d=None, mamode=None, offset=None, **kwargs)\nTrue strength index -> tsi(close, fast=None, slow=None, signal=None, scalar=None, mamode=None, drift=None, offset=None, **kwargs)\nUltimate Oscillator -> uo(high, low, close, fast=None, medium=None, slow=None, fast_w=None, medium_w=None, slow_w=None, talib=None, drift=None, offset=None, **kwargs)\nDouble Exponential Moving Average -> dema(close, length=None, talib=None, offset=None, **kwargs)\nExponential Moving Average -> ema(close, length=None, talib=None, offset=None, **kwargs)\nFibonacci's Weighted Moving Average -> fwma(close, length=None, asc=None, offset=None, **kwargs)\nIchimoku -> ichimoku(high, low, close, tenkan=None, kijun=None, senkou=None, include_chikou=True, offset=None, **kwargs) returns pd.DataFrame: Two DataFrames. For the visible period: spanA, spanB, tenkan_sen, kijun_sen, and chikou_span columns. For the forward looking period: spanA and spanB columns.\nMidpoint -> midpoint(close, length=None, talib=None, offset=None, **kwargs):\nMidprice -> midprice(high, low, length=None, talib=None, offset=None, **kwargs)\nSimple Moving Average -> sma(close, length=None, talib=None, offset=None, **kwargs)\nT3 Moving Average -> t3(close, length=None, a=None, talib=None, offset=None, **kwargs)\nTriple Exponential Moving Average -> trima(close, length=None, talib=None, offset=None, **kwargs)\nVolume Weighted Average Price -> vwap(high, low, close, volume, anchor=None, offset=None, **kwargs)\nVolume Weighted Moving Average -> vwma(close, volume, length=None, offset=None, **kwargs)\nWeighted Closing Price -> wma(close, length=None, asc=None, talib=None, offset=None, **kwargs)\nWeighted Moving Average -> wma(close, length=None, asc=None, talib=None, offset=None, **kwargs)\nEntropy -> entropy(close, length=None, base=None, offset=None, **kwargs)\nKurtosis -> kurtosis(close, length=None, offset=None, **kwargs)\nMean Absolute Deviation -> mad(close, length=None, offset=None, **kwargs)\nMedian -> median(close, length=None, offset=None, **kwargs)\nQuantile -> quantile(close, length=None, q=None, offset=None, **kwargs)\nSkew ->skew(close, length=None, offset=None, **kwargs)\nStandard Deviation -> stdev(close, length=None, ddof=None, talib=None, offset=None, **kwargs)\nVariance -> variance(close, length=None, ddof=None, talib=None, offset=None, **kwargs)\nZ Score -> zscore(close, length=None, std=None, offset=None, **kwargs)\nAverage Directional Movement Index -> adx(high, low, close, length=None, lensig=None, scalar=None, mamode=None, drift=None, offset=None, **kwargs) returns pd.DataFrame: adx, dmp, dmn columns\nArcher Moving Averages Trends -> amat(close=None, fast=None, slow=None, lookback=None, mamode=None, offset=None, **kwargs)\nAroon & Aroon Oscillator -> aroon(high, low, length=None, scalar=None, talib=None, offset=None, **kwargs) returns pd.DataFrame: aroon_up, aroon_down, aroon_osc columns\nChoppiness Index -> chop(high, low, close, length=None, atr_length=None, ln=None, scalar=None, drift=None, offset=None, **kwargs)\nChande Kroll Stop -> cksp(high, low, close, p=None, x=None, q=None, tvmode=None, offset=None, **kwargs)\nDetrended Price Oscillator -> dpo(close, length=None, centered=True, offset=None, **kwargs)\nParabolic Stop and Reverse -> psar(high, low, close=None, af0=None, af=None, max_af=None, offset=None, **kwargs)\nAberration -> aberration(high, low, close, length=None, atr_length=None, offset=None, **kwargs)\natr(high, low, close, length=None, mamode=None, talib=None, drift=None, offset=None, **kwargs)\nBollinger Bands -> bbands(close, length=None, std=None, ddof=0, mamode=None, talib=None, offset=None, **kwargs) its index is BBP_<length>_2.0\nDonchian Channel -> donchian(high, low, lower_length=None, upper_length=None, offset=None, **kwargs)\nMass Index -> massi(high, low, fast=None, slow=None, offset=None, **kwargs)\nNormalized Average True Range -> natr(high, low, close, length=None, scalar=None, mamode=None, talib=None, drift=None, offset=None, **kwargs)\nPrice Distance -> pdist(open_, high, low, close, drift=None, offset=None, **kwargs)\nRelative Volatility Index -> rvi(close, high=None, low=None, length=None, scalar=None, refined=None, thirds=None, mamode=None, drift=None, offset=None, **kwargs)\nElder's Thermometer -> thermo(high, low, length=None, long=None, short=None, mamode=None, drift=None, offset=None, **kwargs)\nTrue Range -> true_range(high, low, close, talib=None, drift=None, offset=None, **kwargs)\nAccumulation/Distribution Index -> ad(high, low, close, volume, open_=None, talib=None, offset=None, **kwargs)\nAccumulation/Distribution Oscillator -> adosc(high, low, close, volume, open_=None, fast=None, slow=None, talib=None, offset=None, **kwargs)\nArcher On-Balance Volume -> aobv(close, volume, fast=None, slow=None, max_lookback=None, min_lookback=None, mamode=None, offset=None, **kwargs)\nChaikin Money Flow -> cmf(high, low, close, volume, open_=None, length=None, offset=None, **kwargs)\nElder's Force Index -> efi(close, volume, length=None, mamode=None, drift=None, offset=None, **kwargs)\neom(high, low, close, volume, length=None, divisor=None, drift=None, offset=None, **kwargs)\nKlinger Volume Oscillator -> kvo(high, low, close, volume, fast=None, slow=None, signal=None, mamode=None, drift=None, offset=None, **kwargs)\nMoney Flow Index -> mfi(high, low, close, volume, length=None, talib=None, drift=None, offset=None, **kwargs)\nNegative Volume Index -> nvi(close, volume, length=None, initial=None, offset=None, **kwargs)\nOn-Balance Volume -> obv(close, volume, talib=None, offset=None, **kwargs)\nPositive Volume Index -> pvi(close, volume, length=None, initial=None, offset=None, **kwargs)\nPrice-Volume -> pvol(close, volume, offset=None, **kwargs)\nPrice Volume Rank -> pvr(close, volume)\nPrice Volume Trend -> pvt(close, volume, drift=None, offset=None, **kwargs)\nVolume Profile -> vp(close, volume, width=None, **kwargs)\n\nto access these functions, simple use candles_df.ta, example candles_df.ta.rsi(length=7, append=True)"},
{"role": "system", "content": "Yes, I understand. The technical analysis library (ta) in Python provides a variety of functions for calculating different technical indicators. These functions can be accessed via `candles_df.ta.<function_name>`. Each function takes specific arguments relevant to the calculation of that particular technical indicator. The `append=True` argument is used to append the calculated indicator values to the existing DataFrame. The resulting DataFrame can then be used in the trading strategy logic."},
{"role": "user", "content": "also if binance is selected, always use binance_paper_trade as the exchange but the connector remains as binance. do you understand?"},
{"role": "user", "content": "also if binance is selected, always use binance_paper_trade as the exchange but the connector remains as binance. when retrieving the last candle, retrieve it first like this 'last_candle = candles_df.iloc[-1]' then extract the candle via index like this 'macd = last_candle[\"MACD_21_42_9\"]'. also finally always return with a python block. do you understand?"},
{"role": "system", "content": "Yes, I understand. "},
{"role": "user", "content": "START"},
]
Expand Down Expand Up @@ -171,7 +172,7 @@ async def generate_strategy(config):
prompt_to_process.append({"role": "user", "content": config})
chat_completion = openai.ChatCompletion.create(model=AiHelperConcept.get_ai_model(False),
messages=prompt_to_process,
temperature=0.2,
temperature=0.4,
max_tokens=1300)
ai_response = chat_completion.choices[0].message.content
strat_name = AiHelperConcept.get_strategy_name_from_string(config)
Expand Down

0 comments on commit 7942244

Please sign in to comment.