📘 مرجع رسمی · نسخه 1.0

مرجع جامع زبان GMO Strategy

یک زبان ساده، خوانا و قدرتمند برای تعریف استراتژی‌های معاملاتی طلا. بدون نیاز به دانش برنامه‌نویسی، قوانین معاملاتی خود را بنویسید و به سیستم بسپارید تا در هر سیگنال، بر اساس قوانین شما تصمیم بگیرد.

مقدمه

زبان GMO Strategy یک زبان دامنه‌محور (DSL) است که به‌طور اختصاصی برای سیستم تصمیم‌یار هوشمند خرید و فروش طلا طراحی شده است. این زبان به شما اجازه می‌دهد بدون نوشتن کد پیچیده، استراتژی معاملاتی خود را به زبان ساده بیان کنید.

ℹ️
فلسفه طراحی

سیستم GoldAI سیگنال‌ها را تولید می‌کند، اما تصمیم نهایی باید بر اساس استراتژی شما گرفته شود. GMO Strategy Language پل ارتباطی بین سیگنال‌های خام و تصمیم‌های معاملاتی شماست.

چرا استراتژی مهم است؟

سیگنال به‌تنهایی فقط یک هشدار است. اگر استراتژی نداشته باشید، در لحظه‌ی دریافت سیگنال دچار تردید یا تصمیم احساسی می‌شوید. با نوشتن استراتژی:

  • تصمیم‌های احساسی حذف می‌شوند
  • واکنش شما به سیگنال‌ها سریع و یکنواخت می‌شود
  • می‌توانید استراتژی خود را در شبیه‌ساز تست کنید
  • با گذشت زمان، استراتژی خود را بهینه‌سازی می‌کنید

انواع سیگنال در GMO

سیستم GoldAI چهار نوع سیگنال تولید می‌کند که هر کدام رنگ مخصوص به خود را دارند:

GREEN
سیگنال خرید قوی — اعتماد بالاتر از شاخص عملکرد
RED
سیگنال فروش قوی — اعتماد بالاتر از شاخص عملکرد
BLUE
سیگنال خرید ضعیف — اعتماد پایین‌تر از شاخص عملکرد
YELLOW
سیگنال فروش ضعیف — اعتماد پایین‌تر از شاخص عملکرد

ساختار کلی استراتژی

هر استراتژی در GMO از چهار بخش اصلی تشکیل شده است. این ساختار به شما کمک می‌کند استراتژی خود را منظم و خوانا بنویسید.

STRATEGY
نام استراتژی شما
VERSION
نسخه استراتژی
PARAMETERS
متغیرهای قابل استفاده در قوانین
RULES
قوانین: اگر سیگنال X آمد، Y کار را بکن

قالب پایه

GMO Strategy
STRATEGY MyStrategy
VERSION 1.0
DESCRIPTION: توضیح اختیاری استراتژی

PARAMETERS:
  SIGNAL     = FIELD(0)
  CONFIDENCE = FIELD(1)
  PRICE      = FIELD(5)

RULES:
  SIGNAL = GREEN -> BUY(1G)
  SIGNAL = RED   -> SELL(1G)
END

بخش PARAMETERS

در این بخش، متغیرهایی تعریف می‌کنید که در قوانین استفاده خواهند شد. هر متغیر یک نام (با حروف بزرگ) و یک مقدار دارد. مقدار می‌تواند از توابع FIELD() یا یک عدد ثابت باشد.

مثال توضیح
SIGNAL = FIELD(0) نام سیگنال را از فیلد صفرم رکورد سیگنال می‌خواند
CONFIDENCE = FIELD(1) درصد اعتماد را از فیلد اول می‌خواند
MAX_PRICE = 6000000 یک عدد ثابت که در قوانین قابل استفاده است

بخش RULES

در این بخش، قوانین استراتژی خود را می‌نویسید. هر قانون از سه بخش تشکیل شده است:

ساختار یک قانون
SIGNAL = GREEN -> BUY(1G) IF CONFIDENCE > 70
          ↑        ↑   ↑              ↑
        شروط         مقدار  عمل    سیگنال
  1. سیگنال ورودی نوع سیگنال را مشخص می‌کند: GREEN، RED، BLUE یا YELLOW
  2. عمل (Action) تابعی که اجرا می‌شود: BUY(...) یا SELL(...)
  3. شرط (اختیاری) با کلمه‌ی کلیدی IF می‌توانید شرط اضافه کنید. اگر شرط برقرار نباشد، قانون اجرا نمی‌شود.
💡
نکته

می‌توانید برای هر سیگنال چندین قانون تعریف کنید. سیستم قوانین را به ترتیب اولویت (PRIORITY) بررسی می‌کند و اولین قانونی که مطابقت داشته باشد را اجرا می‌کند.

مرجع توابع

زبان GMO Strategy از سه دسته تابع پشتیبانی می‌کند: توابع دسترسی به داده، توابع اقدام (خرید/فروش)، و توابع آماری روی تاریخچه سیگنال‌ها.

FIELD(index)
دسترسی به داده

به فیلد مشخصی از رکورد سیگنال دسترسی می‌دهد. هر رکورد سیگنال از ۸ فیلد تشکیل شده که با کاراکتر ; از هم جدا شده‌اند.

📋 پارامترها
index
شماره فیلد (۰ تا ۷)

ساختار رکورد سیگنال

Index نام نوع مثال
0نام سیگنالرشتهGREEN, RED, ...
1درصد اعتمادعدد75.5
2تاریخ میلادیتاریخ2024/08/05
3تاریخ شمسیرشته1403/05/15
4ساعتزمان14:30:25
5قیمتعدد5000000
6پیشنهاد GmoMLعدد0 تا 4
7وضعیت بازارعدد0, 1, -1

مقادیر فیلد GmoML

مقدار معنی
0معامله نکن، صبر کن
1خرید کن
2فروش کن
3خرید محدود (با حجم کم)
4فروش محدود (با حجم کم)
ℹ️
GmoML چیست؟

GmoML یک سیستم یادگیری ماشینی است که با سیگنال‌های تولیدشده توسط GoldAI و شرایط بازار آموزش دیده است. هر بار که یک سیگنال جدید تولید می‌شود، GmoML بر اساس آموخته‌های خود نظر و پیشنهادش را درباره‌ی آن سیگنال ارائه می‌دهد. در پنل GMO، در بخش «تحلیل سیگنال با کارشناسان»، نظر GmoML با کاراکتری به نام Mobin در کنار نظرات سایر هوش‌های مصنوعی در دسترس معامله‌گران قرار دارد تا بتوانند آن را مطالعه کنند. این نظر به‌صورت یک کد عددی (از ۰ تا ۴) در رکورد سیگنال قرار می‌گیرد تا معامله‌گر بتواند در استراتژی خود نیز از پیشنهاد GmoML استفاده کند.

مقادیر فیلد وضعیت بازار (MARKET)

مقدار وضعیت توضیح
0خنثیبازار بدون روند مشخص — احتیاط در معامله
1صعودیبازار در روند صعودی — تمایل به خرید
-1نزولیبازار در روند نزولی — تمایل به فروش
ℹ️
وضعیت بازار چیست؟

هر رکورد سیگنال، علاوه بر اطلاعات سیگنال، وضعیت کلی بازار را نیز در لحظه‌ی ارسال سیگنال در خود ذخیره می‌کند. این داده به شما کمک می‌کند استراتژی خود را با شرایط بازار هم‌راستا کنید.

مثال
GMO Strategy
PARAMETERS:
  SIGNAL     = FIELD(0)  // نام سیگنال
  CONFIDENCE = FIELD(1)  // درصد اعتماد
  PRICE      = FIELD(5)  // قیمت
  GmoML      = FIELD(6)  // پیشنهاد GmoML
  MARKET     = FIELD(7)  // وضعیت بازار
BUY(value)
اقدام

دستور خرید طلا. این تابع سه حالت دارد که در ادامه توضیح داده شده است. مقدار خرید را می‌توانید با واحد G (گرم) مشخص کنید.

۱) خرید ساده در منبع پیش‌فرض CASH

مقدار خرید را با واحد G مشخص می‌کنید و خرید در منبع پیش‌فرض CASH ذخیره می‌شود. اگر مقدار را خالی بگذارید (BUY())، به‌صورت پیش‌فرض ۱ گرم خرید انجام می‌شود.

GMO Strategy
// خرید ۱ گرم در منبع CASH
SIGNAL = GREEN -> BUY(1G)

// خرید نیم گرم در منبع CASH
SIGNAL = BLUE -> BUY(0.5G)

// خرید پیش‌فرض ۱ گرم در منبع CASH
SIGNAL = GREEN -> BUY()

۲) خرید در یک منبع مشخص

با استفاده از BUY(source:value) می‌توانید مشخص کنید که خرید در منبع خاصی ذخیره شود. این قابلیت برای مدیریت پوزیشن‌های جداگانه بسیار مفید است.

GMO Strategy
// خرید ۱ گرم در منبع GREEN
SIGNAL = GREEN -> BUY(GREEN:1G)

// خرید نیم گرم در منبع BLUE
SIGNAL = BLUE -> BUY(BLUE:0.5G)

// خرید در منبع دلخواه LONGTERM
SIGNAL = GREEN -> BUY(LONGTERM:2G)

۳) خرید در چند منبع

با استفاده از BUY(source1:value1, source2:value2) می‌توانید همزمان در چند منبع خرید انجام دهید.

GMO Strategy
// خرید نیم‌گرم آبی + نیم‌گرم سبز در یک سیگنال سبز
SIGNAL = GREEN -> BUY(BLUE:0.5G, GREEN:0.5G)
💡
چه زمانی از BUY(source:value) استفاده کنیم؟

وقتی می‌خواهید پوزیشن‌های خود را به‌صورت جداگانه مدیریت کنید. مثلاً خریدهای کوتاه‌مدت را در منبع SHORT و خریدهای بلندمدت را در منبع LONG ذخیره کنید تا بعداً بتوانید هر کدام را مستقل بفروشید.

ℹ️
نام منبع دلخواه

نام منبع می‌تواند هر رشته‌ای باشد: GREEN، BLUE، CASH، LONGTERM، SHORT، SAFE و... فقط توجه داشته باشید که نام‌ها حساس به حروف بزرگ و کوچک نیستند و برای سادگی با حروف بزرگ بنویسید.

SELL(value)
اقدام

دستور فروش طلا. این تابع سه حالت دارد که در ادامه توضیح داده شده است.

۱) فروش ساده از منبع پیش‌فرض CASH

مقدار فروش را با واحد G مشخص می‌کنید و فروش از منبع پیش‌فرض CASH انجام می‌شود.

GMO Strategy
// فروش ۱ گرم از منبع CASH
SIGNAL = RED -> SELL(1G)

// فروش نیم گرم از منبع CASH
SIGNAL = YELLOW -> SELL(0.5G)
⚠️
مهم: فروش از CASH فقط از CASH انجام می‌شود!

وقتی از SELL(1G) استفاده می‌کنید، فروش فقط از منبع CASH انجام می‌شود. اگر منبع CASH خالی باشد، فروش از سایر منابع انجام نمی‌شود و عملیات ناموفق می‌ماند. برای فروش از منابع دیگر، باید صریحاً آن منبع را مشخص کنید.

۲) فروش از یک منبع مشخص

با استفاده از SELL(source:value) می‌توانید مشخص کنید که فروش فقط از طلایی انجام شود که در یک منبع خاص ذخیره کرده‌اید.

GMO Strategy
// فروش ۱ گرم از منبع BLUE
SIGNAL = RED -> SELL(BLUE:1G)

// فروش ۱ گرم از منبع GREEN
SIGNAL = YELLOW -> SELL(GREEN:1G)

// فروش ۲ گرم از منبع LONGTERM
SIGNAL = RED -> SELL(LONGTERM:2G)

۳) فروش از چند منبع

با استفاده از SELL(source1:value1, source2:value2) می‌توانید همزمان از چند منبع فروش انجام دهید.

GMO Strategy
// فروش نیم‌گرم آبی + ۱ گرم سبز در یک سیگنال قرمز
SIGNAL = RED -> SELL(BLUE:0.5G, GREEN:1G)
⚠️
مهم: حافظه پوزیشن (Position Memory)

سیستم به‌خاطر می‌سپارد که هر مقدار طلا در کدام منبع ذخیره شده است. وقتی با BUY(GREEN:1G) خرید می‌کنید، این مقدار در منبع GREEN ذخیره می‌شود. بعداً فقط با SELL(GREEN:1G) می‌توانید از همان منبع فروش کنید.

💡
ترکیب هوشمند BUY و SELL منبع‌دار

با ترکیب خرید و فروش منبع‌دار می‌توانید استراتژی‌های پیشرفته بسازید. مثلاً در سیگنال سبز، ۱ گرم در منبع GREEN و ۰.۵ گرم در منبع SAFE بخرید؛ بعداً در سیگنال قرمز ابتدا از SAFE (محافظه‌کارانه) و سپس از GREEN خارج شوید.

LAST_CONFIDENCE(source)
آماری

آخرین درصد اعتماد یک سیگنال خاص را برمی‌گرداند. اگر آن سیگنال قبلاً رخ نداده باشد، مقدار 0 برگردانده می‌شود.

LAST_PRICE(source)
آماری

آخرین قیمت یک سیگنال خاص را برمی‌گرداند.

📋 پارامترها
source
نام سیگنال: GREEN، RED، BLUE، YELLOW
مثال کاربردی
GMO Strategy
// فقط وقتی سیگنال سبز را معامله کن که اعتمادش
// از آخرین سیگنال سبز بیشتر باشد
SIGNAL = GREEN -> BUY(1G) IF CONFIDENCE > LAST_CONFIDENCE(GREEN)

// فروش اگر قیمت فعلی از آخرین قیمت آبی بیشتر باشد
SIGNAL = YELLOW -> SELL(0.5G) IF PRICE > LAST_PRICE(BLUE)
MIN_CONFIDENCE(source, count)
آماری

کمترین درصد اعتماد یک سیگنال خاص را در count سیگنال آخر برمی‌گرداند.

📋 پارامترها
source
نام سیگنال
count
تعداد سیگنال‌های آخر برای بررسی
MIN_PRICE(source, count)
آماری

کمترین قیمت یک سیگنال خاص را در count سیگنال آخر برمی‌گرداند.

مثال کاربردی
GMO Strategy
// فقط وقتی سبز را معامله کن که اعتمادش
// از کمترین اعتماد ۵ سبز آخر بیشتر باشد
SIGNAL = GREEN -> BUY(1G) IF CONFIDENCE > MIN_CONFIDENCE(GREEN, 5)

// فقط وقتی قیمت زیر کمترین قیمت ۱۰ آبی آخر است، بخر
SIGNAL = BLUE -> BUY(1G) IF PRICE < MIN_PRICE(BLUE, 10)
MAX_CONFIDENCE(source, count)
آماری

بیشترین درصد اعتماد یک سیگنال خاص را در count سیگنال آخر برمی‌گرداند.

MAX_PRICE(source, count)
آماری

بیشترین قیمت یک سیگنال خاص را در count سیگنال آخر برمی‌گرداند.

مثال کاربردی
GMO Strategy
// فروش وقتی قیمت از بیشترین قیمت ۱۰ سبز آخر بیشتر شد
SIGNAL = RED -> SELL(1G) IF PRICE > MAX_PRICE(GREEN, 10)
AVG_CONFIDENCE(source, count)
آماری

میانگین درصد اعتماد یک سیگنال خاص را در count سیگنال آخر برمی‌گرداند.

AVG_PRICE(source, count)
آماری

میانگین قیمت یک سیگنال خاص را در count سیگنال آخر برمی‌گرداند.

مثال کاربردی
GMO Strategy
// خرید اگر قیمت فعلی زیر میانگین قیمت ۲۰ آبی آخر باشد
SIGNAL = BLUE -> BUY(1G) IF PRICE < AVG_PRICE(BLUE, 20)

// خرید اگر اعتماد فعلی از میانگین اعتماد ۵ سبز آخر بیشتر باشد
SIGNAL = GREEN -> BUY(1G) IF CONFIDENCE > AVG_CONFIDENCE(GREEN, 5)

مثال‌های کامل استراتژی

در این بخش، چند استراتژی کامل و کاربردی را با هم بررسی می‌کنیم. هر مثال را می‌توانید مستقیماً در پنل GMO کپی و استفاده کنید.

۱) استراتژی محافظه‌کارانه

ساده‌ترین استراتژی ممکن که فقط روی سیگنال‌های قوی (سبز و قرمز) معامله می‌کند و سیگنال‌های ضعیف را نادیده می‌گیرد.

Conservative.gmo
STRATEGY Conservative
VERSION 1.0
DESCRIPTION: فقط سیگنال‌های قوی را معامله کن

PARAMETERS:
  SIGNAL = FIELD(0)

RULES:
  SIGNAL = GREEN -> BUY(1G)
  SIGNAL = RED   -> SELL(1G)
END

۲) استراتژی صعودی اعتماد

فقط زمانی معامله می‌کند که درصد اعتماد سیگنال فعلی، از آخرین سیگنال هم‌نام بالاتر باشد.

UpwardConfidence.gmo
STRATEGY UpwardConfidence
VERSION 1.0

PARAMETERS:
  SIGNAL     = FIELD(0)
  CONFIDENCE = FIELD(1)

RULES:
  SIGNAL = GREEN  -> BUY(1G)  IF CONFIDENCE > LAST_CONFIDENCE(GREEN)
  SIGNAL = BLUE   -> BUY(0.5G) IF CONFIDENCE > LAST_CONFIDENCE(BLUE)
  SIGNAL = YELLOW -> SELL(0.5G) IF CONFIDENCE > LAST_CONFIDENCE(YELLOW)
  SIGNAL = RED    -> SELL(1G)  IF CONFIDENCE > LAST_CONFIDENCE(RED)
END

۳) استراتژی بلندمدت پله‌ای

با سیگنال سبز، یک گرم می‌خرد؛ با سیگنال آبی، نیم‌گرم. هنگام فروش، ابتدا از منبع آبی خارج می‌شود و سپس از منبع سبز.

LongTerm.gmo
STRATEGY LongTerm
VERSION 1.0

PARAMETERS:
  SIGNAL = FIELD(0)

RULES:
  SIGNAL = GREEN  -> BUY(1G)
  SIGNAL = BLUE   -> BUY(0.5G)
  SIGNAL = YELLOW -> SELL(BLUE:0.5G)
  SIGNAL = RED    -> SELL(BLUE:0.5G, GREEN:1G)
END
💡
چطور کار می‌کند؟

فرض کنید با سیگنال آبی ۰.۵ گرم خریده‌اید (به قیمت ۵ میلیون) و با سیگنال سبز ۱ گرم (به قیمت ۴.۸ میلیون). وقتی سیگنال زرد می‌آید، فقط ۰.۵ گرم که با آبی خریده بودید فروخته می‌شود. با سیگنال قرمز، ۰.۵ گرم آبی (اگر باقی مانده باشد) + ۱ گرم سبز فروخته می‌شود.

۴) استراتژی فروش سودده

فقط زمانی می‌فروشد که قیمت حداقل ۱۲٪ بالاتر از قیمت خرید باشد. یعنی هرگز با ضرر از بازار خارج نمی‌شود.

ProfitableSale.gmo
STRATEGY ProfitableSale
VERSION 1.0

PARAMETERS:
  SIGNAL = FIELD(0)
  PRICE  = FIELD(5)

RULES:
  SIGNAL = GREEN  -> BUY(1G)
  SIGNAL = BLUE   -> BUY(0.5G)
  SIGNAL = YELLOW -> SELL(BLUE:0.5G) IF PRICE > LAST_PRICE(BLUE) + ((LAST_PRICE(BLUE) * 12) / 100)
  SIGNAL = RED    -> SELL(GREEN:1G) IF PRICE > LAST_PRICE(GREEN) + ((LAST_PRICE(GREEN) * 12) / 100)
END

۵) استراتژی ترکیبی پیشرفته

ترکیبی از چند شرط: بررسی اعتماد، بررسی قیمت، و مدیریت پوزیشن.

Advanced.gmo
STRATEGY Advanced
VERSION 2.0
DESCRIPTION: استراتژی چند شرطی

PARAMETERS:
  SIGNAL     = FIELD(0)
  CONFIDENCE = FIELD(1)
  PRICE      = FIELD(5)

RULES:
  // سیگنال سبز قوی: خرید ۱ گرم
  SIGNAL = GREEN -> BUY(1G) IF CONFIDENCE > AVG_CONFIDENCE(GREEN, 5)

  // سیگنال قرمز: فروش فقط اگر قیمت ۱۰٪ بالاتر باشد
  SIGNAL = RED -> SELL(GREEN:1G) IF PRICE > LAST_PRICE(GREEN) * 1.1

  // سیگنال آبی: خرید نیم‌گرم
  SIGNAL = BLUE -> BUY(0.5G)

  // سیگنال زرد: فروش نیم‌گرم از آبی
  SIGNAL = YELLOW -> SELL(BLUE:0.5G)
END

۶) استراتژی ترکیبی GMO + GmoML

در این استراتژی، سیگنال GMO با پیشنهاد GmoML ترکیب می‌شود. فقط زمانی معامله می‌کنیم که هر دو منبع با هم هم‌راستا باشند.

HybridGMO.gmo
STRATEGY HybridGMO
VERSION 1.1
DESCRIPTION: ترکیب سیگنال GMO با پیشنهاد GmoML

PARAMETERS:
  SIGNAL     = FIELD(0)
  CONFIDENCE = FIELD(1)
  PRICE      = FIELD(5)
  GmoML      = FIELD(6)

RULES:
  SIGNAL = GREEN  -> BUY(1G)   IF GmoML = 1 AND CONFIDENCE > 70
  SIGNAL = BLUE   -> BUY(0.5G) IF GmoML = 1 OR GmoML = 3
  SIGNAL = RED    -> SELL(1G)  IF GmoML = 2
  SIGNAL = YELLOW -> SELL(0.5G) IF GmoML = 2 OR GmoML = 4
END
ℹ️
نکته

در این مثال، GmoML یک پارامتر است که مقدارش از فیلد ششم رکورد سیگنال خوانده می‌شود. سپس در قوانین، با مقادیر عددی 0 تا 4 مقایسه می‌شود.

۷) استراتژی هم‌راستا با وضعیت بازار

این استراتژی فقط زمانی خرید می‌کند که بازار صعودی یا خنثی باشد و فقط زمانی فروش می‌کند که بازار نزولی یا خنثی باشد. به این ترتیب از معامله در خلاف جهت روند بازار جلوگیری می‌شود.

MarketAware.gmo
STRATEGY MarketAware
VERSION 1.0
DESCRIPTION: معامله فقط در جهت روند بازار

PARAMETERS:
  SIGNAL     = FIELD(0)
  CONFIDENCE = FIELD(1)
  MARKET     = FIELD(7)

RULES:
  // خرید فقط در بازار صعودی یا خنثی
  SIGNAL = GREEN -> BUY(1G) IF MARKET = 1 OR MARKET = 0
  SIGNAL = BLUE  -> BUY(0.5G) IF MARKET = 1

  // فروش فقط در بازار نزولی یا خنثی
  SIGNAL = RED    -> SELL(1G) IF MARKET = 2 OR MARKET = 0
  SIGNAL = YELLOW -> SELL(0.5G) IF MARKET = 2
END
💡
چرا این استراتژی مفید است؟

گاهی سیگنال خرید (GREEN) در حالی صادر می‌شود که بازار در روند نزولی است. این استراتژی از خرید در چنین شرایطی جلوگیری می‌کند و به شما کمک می‌کند فقط در جهت روند بازار معامله کنید.

مرجع سریع توابع

جدول زیر خلاصه‌ای کامل از تمام توابع قابل استفاده در GMO Strategy Language است، همراه با تمام حالت‌های ممکن و مقدار پیش‌فرض.

📥 توابع دسترسی به داده

تابع نوع خروجی توضیح
FIELD(index) داده هر نوع دسترسی به فیلد index ام رکورد سیگنال (۰ تا ۷)

🛒 توابع خرید (BUY)

تابع نوع مقدار پیش‌فرض توضیح
BUY() اقدام ۱ گرم در CASH خرید پیش‌فرض ۱ گرم در منبع CASH
BUY(value) اقدام — خرید value گرم در منبع پیش‌فرض CASH
BUY(source:value) اقدام — خرید value گرم در منبع مشخص source
BUY(src1:v1, src2:v2) اقدام — خرید همزمان در چند منبع

💵 توابع فروش (SELL)

تابع نوع مقدار پیش‌فرض توضیح
SELL() اقدام ۱ گرم از CASH فروش پیش‌فرض ۱ گرم از منبع CASH
SELL(value) اقدام — فروش value گرم فقط از منبع CASH
SELL(source:value) اقدام — فروش value گرم از منبع مشخص source
SELL(src1:v1, src2:v2) اقدام — فروش همزمان از چند منبع
⚠️
یادآوری مهم

SELL(value) فقط از منبع CASH فروش انجام می‌دهد. اگر CASH خالی باشد، فروش ناموفق می‌شود و از سایر منابع برداشت نمی‌شود.

📊 توابع آماری — اعتماد (CONFIDENCE)

تابع نوع خروجی توضیح
LAST_CONFIDENCE(source) آماری عدد آخرین درصد اعتماد سیگنال source (اگر نبود: ۰)
MIN_CONFIDENCE(source, n) آماری عدد کمترین اعتماد source در n سیگنال آخر
MAX_CONFIDENCE(source, n) آماری عدد بیشترین اعتماد source در n سیگنال آخر
AVG_CONFIDENCE(source, n) آماری عدد میانگین اعتماد source در n سیگنال آخر

💰 توابع آماری — قیمت (PRICE)

تابع نوع خروجی توضیح
LAST_PRICE(source) آماری عدد آخرین قیمت سیگنال source (اگر نبود: ۰)
MIN_PRICE(source, n) آماری عدد کمترین قیمت source در n سیگنال آخر
MAX_PRICE(source, n) آماری عدد بیشترین قیمت source در n سیگنال آخر
AVG_PRICE(source, n) آماری عدد میانگین قیمت source در n سیگنال آخر

🎯 مقادیر مجاز source

source توضیح
GREENسیگنال خرید قوی
BLUEسیگنال خرید ضعیف
REDسیگنال فروش قوی
YELLOWسیگنال فروش ضعیف

🎯 مقادیر GmoML

مقدار معنی
0معامله نکن، صبر کن
1خرید کن
2فروش کن
3خرید محدود (با حجم کم)
4فروش محدود (با حجم کم)

🎯 مقادیر وضعیت بازار (MARKET)

مقدار معنی
0بازار خنثی
1بازار صعودی
-1بازار نزولی

🔧 عملگرهای منطقی و مقایسه‌ای

عملگر معنی مثال
>بزرگتر ازCONFIDENCE > 70
<کوچکتر ازPRICE < 5000000
>=بزرگتر یا مساویCONFIDENCE >= 80
<=کوچکتر یا مساویPRICE <= 4500000
=مساویSIGNAL = GREEN
<>نامساویSIGNAL <> RED
ANDوCONFIDENCE > 70 AND PRICE < 5000000
ORیاSIGNAL = GREEN OR SIGNAL = BLUE
NOTنقیضNOT SIGNAL = RED

📏 واحدهای مقدار (value)

واحد معنی مثال
Gگرم1G = یک گرم، 0.5G = نیم گرم

🏷️ کلیدواژه‌های ساختاری

کلیدواژه توضیح
STRATEGYآغاز استراتژی و تعیین نام
VERSIONنسخه استراتژی
DESCRIPTIONتوضیح اختیاری استراتژی
PARAMETERS:شروع بخش پارامترها
RULES:شروع بخش قوانین
IFشرط اختیاری روی یک قانون
PRIORITY n:اولویت قانون (اختیاری، پیش‌فرض ۰)
ENDپایان استراتژی
//کامنت تک‌خطی

خطاهای رایج

در این بخش، خطاهای رایجی که ممکن است هنگام نوشتن استراتژی با آن‌ها مواجه شوید، بررسی می‌کنیم.

❌
خطا ۱: فراموش کردن END

هر استراتژی باید با کلمه‌ی کلیدی END بسته شود.

❌ اشتباه
STRATEGY Test
VERSION 1.0
PARAMETERS:
  SIGNAL = FIELD(0)
RULES:
  SIGNAL = GREEN -> BUY(1G)
// END فراموش شده!
❌
خطا ۲: استفاده از حروف کوچک در نام سیگنال

نام سیگنال‌ها باید با حروف بزرگ نوشته شوند: GREEN نه green.

❌
خطا ۳: استفاده از پارامتر تعریف‌نشده

هر پارامتری که در قوانین استفاده می‌کنید، باید در بخش PARAMETERS تعریف شده باشد.

❌
خطا ۴: فراموش کردن علامت : در SELL منبع‌دار

در SELL(source:value) حتماً باید از علامت : بین نام منبع و مقدار استفاده کنید.

⚠️
هشدار: مقدار پیش‌فرض

اگر در BUY() یا SELL() مقداری وارد نکنید، مقدار پیش‌فرض ۱ گرم استفاده می‌شود. برای دقت بیشتر، همیشه مقدار را مشخص کنید.