کلیه محتوای این چنل رایگان است و رایگان باقی خواهد ماند .اشتراک هر سیگنال فقط جهت آموزش است .ورود به این چنل یعنی شما به استاپ لاس و مدیریت ریسک پایبند هستید .🛑 https://x.com/ICT_ADVANCED?t=6pj7NrzWBVhkPO8zqcsfIQ&s=09
این برنامه به زبان C# برای محاسبه دنبالههای Hailstone (حدس کولاتز) نوشته شده است. در اینجا توضیحی به زبان فارسی از کد ارائه میشود:
using System;
using System.Collections.Generic;
namespace Hailstone
{
class Program
{
// تابع hs که دنباله Hailstone را برای یک عدد n محاسبه میکند
public static List<int> hs(int n, List<int> seq)
{
List<int> sequence = seq; // دنباله را به صورت یک لیست دریافت میکند
sequence.Add(n); // عدد n را به لیست اضافه میکند
if (n == 1) // اگر عدد 1 باشد، دنباله را برمیگرداند
{
return sequence;
}
else
{
// اگر عدد زوج باشد، آن را نصف میکند و اگر فرد باشد، 3 برابر کرده و 1 اضافه میکند
int newn = (n % 2 == 0) ? n / 2 : (3 * n) + 1;
return hs(newn, sequence); // تابع را با عدد جدید فراخوانی میکند
}
}
static void Main(string[] args)
{
Console.WriteLine("این برنامه دنبالههای Hailstone (حدس کولاتز) را محاسبه میکند.");
Console.WriteLine("شروع با عدد 27 برای نمایش:");
// دنباله Hailstone برای یک عدد مشخص (27)
int n = 23;
List<int> sequence = hs(n, new List<int>());
Console.WriteLine($"دنباله {sequence.Count} عنصر دارد.");
// نمایش شروع و پایان دنباله
List<int> start = sequence.GetRange(0, Math.Min(4, sequence.Count));
List<int> end = sequence.GetRange(Math.Max(0, sequence.Count - 4), Math.Min(4, sequence.Count));
Console.WriteLine($"شروع با: {string.Join(", ", start)} و پایان با: {string.Join(", ", end)}");
// پیدا کردن عددی که زیر 100000 باشد و طولانیترین دنباله را داشته باشد
Console.WriteLine("\nاکنون پیدا کردن عددی که زیر 100000 باشد و طولانیترین دنباله Hailstone را داشته باشد...");
int number = 0, longest = 0;
for (int i = 1; i < 10000; i++)
{
int count = hs(i, new List<int>()).Count;
if (count > longest)
{
longest = count;
number = i;
}
}
Console.WriteLine($"عددی که < 100000 باشد و طولانیترین دنباله را دارد {number} است، با طول {longest}.");
}
}
}
Program
شامل یک تابع بازگشتی به نام hs
برای محاسبه دنباله Hailstone است.hs
عدد n
را دریافت کرده و آن را به لیست دنباله اضافه میکند. سپس اگر n
برابر با 1 باشد، دنباله کامل شده را برمیگرداند. در غیر این صورت، عدد بعدی را محاسبه کرده و تابع را دوباره فراخوانی میکند.میشه یه رقم اعشار هم رفت جلو یک ها رو ترید کرد نه ده ها
Читать полностью…مارو باش داریم ترین میکنیم کیا رو
این پلشتا رو
شاشو اگه کرم نداشتی . تهت سوراخ نبود . پرداخت با کریپتو میزاشتی
پس !؟ سوراخه
متد به روز شده GetTimeFrameInMinutes() شما درست به نظر می رسد! این یک راه ساده برای ترسیم بازه های زمانی مختلف با مقادیر دقیقه مربوطه است.
این باید به درستی کار کند تا تعداد صحیح دقیقه ها را بر اساس بازه زمانی نمودار برگرداند. من می بینم که شما هر بازه زمانی را به صراحت مدیریت کرده اید، و این از مسائل مربوط به مقادیر غیر ثابت جلوگیری می کند.
در اینجا قطعه کامل کد با استفاده از متد GetTimeFrameInMinutes و نحوه پیاده سازی آن در زمینه با بقیه منطق آورده شده است:
خوابم میاد لعنتی
چه گندیه این خواب
ADVANCED TIME AND PRICE THEORY AND
IMPLEMENTATION
applications by viper
تا آنجا که به مارکت های مالی مربوط است و بر اساس تفکر پارادوکس و پارادایم من هیچ گونه پافشاری برای قبول کردن تئوری های وایپر ندارم . این تفکر شخصی است اما هر گاه در نگاه دانش صحبت از اثبات تا حدود زیادی درست برای تئوری ها باشد فرمول ها و اثبات های ریاضی را با کمال میل ارائه خواهم داد .
Читать полностью…عاورین داریم به سمت بعد Z حرکت میکنیم
Читать полностью…using System;
using cAlgo.API;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
using cAlgo.API.Collections;
public class DoubleTickStopLossWithGrid : Robot
{
private int consecutiveTicks = 0;
private Grid grid;
protected override void OnStart()
{
// Initialize Grid
grid = new Grid(Columns: 5)
{
Rows = Positions.Count + 1 // Include header row
};
// Add headers
grid.AddRow("Symbol", "TradeType", "StopLoss", "Ticks", "Status");
// Add grid to UI
Chart.AddControl(grid);
}
protected override void OnTick()
{
int rowIndex = 1; // Start after headers
foreach (var position in Positions)
{
bool stopLossTriggered = false;
if (position.TradeType == TradeType.Buy)
{
if (Symbol.Bid < position.StopLoss)
consecutiveTicks++;
else
consecutiveTicks = 0;
if (consecutiveTicks >= 2)
{
ClosePosition(position);
stopLossTriggered = true;
}
}
else if (position.TradeType == TradeType.Sell)
{
if (Symbol.Ask > position.StopLoss)
consecutiveTicks++;
else
consecutiveTicks = 0;
if (consecutiveTicks >= 2)
{
ClosePosition(position);
stopLossTriggered = true;
}
}
// Update Grid Row
grid.UpdateRow(rowIndex,
position.SymbolName,
position.TradeType.ToString(),
position.StopLoss.ToString(),
consecutiveTicks.ToString(),
stopLossTriggered ? "Triggered" : "Active");
rowIndex++;
}
}
}
بر اساس اطلاعات و متدهای API ذخیرهشده در حافظه، این کد دقیقاً با استفاده از متدهای مناسب cAlgo API پیادهسازی شده است. این شامل موارد زیر است:
1. Symbol.Bid و Symbol.Ask: برای دریافت قیمتهای فعلی Bid و Ask.
2. Position.StopLoss: برای دسترسی به قیمت حد ضرر تعیینشده برای هر پوزیشن.
3. ClosePosition(position): برای بستن پوزیشن به صورت دستی.
using System;
using cAlgo.API;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
public class DoubleTickStopLoss : Robot
{
private int consecutiveTicks = 0;
protected override void OnTick()
{
foreach (var position in Positions)
{
if (position.TradeType == TradeType.Buy)
{
if (Symbol.Bid < position.StopLoss)
consecutiveTicks++;
else
consecutiveTicks = 0;
if (consecutiveTicks >= 2)
ClosePosition(position);
}
else if (position.TradeType == TradeType.Sell)
{
if (Symbol.Ask > position.StopLoss)
consecutiveTicks++;
else
consecutiveTicks = 0;
if (consecutiveTicks >= 2)
ClosePosition(position);
}
}
}
}
لگوریتم اصلی Double Trade Side - Stop Loss:
نظارت بر قیمتها (Bid و Ask):
به صورت مداوم قیمتهای Bid و Ask بررسی میشوند.
دادهها برای بررسی متوالی (تیکها یا تغییرات قیمتی) ذخیره میشوند.
بررسی شرایط برای فعالسازی:
برای معاملات خرید (Buy):
بررسی میشود که آیا دو تیک متوالی قیمت Bid پایینتر از قیمت حد ضرر است یا خیر. اگر این شرط برقرار بود، حد ضرر فعال میشود.
برای معاملات فروش (Sell):
بررسی میشود که آیا دو تیک متوالی قیمت Ask بالاتر از قیمت حد ضرر است یا خیر. اگر این شرط برقرار بود، حد ضرر فعال میشود.
تأیید شکست (Break Confirmation):
این الگوریتم برای جلوگیری از فعالسازی تصادفی حد ضرر (به دلیل نوسانات یا اسپایکهای کوتاهمدت) طراحی شده است.
شرط دو تیک متوالی به عنوان تأیید شکست عمل میکند.
اجرای Stop Loss:
اگر شرط دو تیک متوالی برآورده شد، معامله بسته میشود و حد ضرر فعال میگردد.
### تفاوت بین پیپ و تیک (Pip و Tick)
در بازارهای مالی مانند فارکس، "پیپ" و "تیک" دو مفهوم اساسی برای اندازهگیری تغییرات قیمت هستند. این مفاهیم در عین شباهت، کاربردها و معانی متفاوتی دارند. در اینجا تفاوت این دو را توضیح میدهیم:
---
### پیپ (Pip) چیست؟
- تعریف:
پیپ کوچکترین تغییر استاندارد در قیمت یک ابزار مالی است که معمولاً در جفتارزها استفاده میشود.
- اندازه استاندارد پیپ:
- برای اکثر جفتارزها (مانند EUR/USD):
یک پیپ برابر است با 0.0001 (چهارمین رقم اعشار).
- برای جفتارزهای مبتنی بر ین ژاپن (مانند USD/JPY):
یک پیپ برابر است با 0.01 (دومین رقم اعشار).
- کاربرد:
پیپ معمولاً برای اندازهگیری سود و زیان در معاملات استفاده میشود.
---
### تیک (Tick) چیست؟
- تعریف:
تیک کوچکترین تغییر ممکن در قیمت است که توسط بازار یا پلتفرم معاملاتی تعریف میشود.
- اندازه استاندارد تیک:
اندازه تیک به ابزار مالی بستگی دارد. بهعنوان مثال:
- برای EUR/USD ممکن است 0.00001 (پنجمین رقم اعشار) باشد.
- برای سهام یا کالاها، اندازه تیک میتواند 0.01 یا 0.001 باشد.
- کاربرد:
تیک برای دادههای لحظهای بازار و ردیابی دقیق تغییرات قیمت استفاده میشود.
---
### تفاوت کلیدی بین پیپ و تیک
- پیپ: تغییرات بزرگتری در قیمت را نشان میدهد و استانداردی جهانی دارد.
- تیک: کوچکترین واحد تغییر قیمت است و بستگی به تنظیمات ابزار مالی دارد.
- رابطه بین آنها:
\[
\text{تعداد تیکها در یک پیپ} = \frac{\text{اندازه پیپ}}{\text{اندازه تیک}}
\]
---
### یک لات چیست؟ ارزش پیپ و تیک برای یک لات
1. یک لات در فارکس چیست؟
- یک لات برابر است با 100,000 واحد ارز پایه در یک جفتارز. برای مثال، در EUR/USD، یک لات به معنای خرید یا فروش 100,000 یورو است.
2. ارزش یک پیپ برای یک لات:
- فرمول:
\[
\text{ارزش پیپ} = \frac{\text{اندازه پیپ} \times \text{اندازه لات}}{\text{نرخ تبادل}}
\]
- مثال (برای EUR/USD با نرخ 1.1000 و یک لات = 100,000):
\[
\text{ارزش پیپ} = \frac{0.0001 \times 100,000}{1.1000} = 9.09 \, \text{دلار به ازای هر پیپ}
\]
3. ارزش یک تیک برای یک لات:
- فرمول:
\[
\text{ارزش تیک} = \frac{\text{اندازه تیک} \times \text{اندازه لات}}{\text{نرخ تبادل}}
\]
- مثال (برای EUR/USD با تیک = 0.00001 و یک لات = 100,000):
\[
\text{ارزش تیک} = \frac{0.00001 \times 100,000}{1.1000} = 0.91 \, \text{دلار به ازای هر تیک}
\]
---
### رابطه بین پیپ و تیک
- تعداد تیکها در یک پیپ:
\[
\text{تعداد تیکها در یک پیپ} = \frac{\text{اندازه پیپ}}{\text{اندازه تیک}}
\]
- برای EUR/USD (اندازه پیپ = 0.0001 و اندازه تیک = 0.00001):
\[
\text{تعداد تیکها در یک پیپ} = \frac{0.0001}{0.00001} = 10
\]
---
### جدول خلاصه
| معیار | مقدار برای EUR/USD | ارزش پولی برای 1 لات |
|--------------------|--------------------------------|---------------------------------|
| 1 پیپ | 0.0001 | 9.09 دلار به ازای هر پیپ |
| 1 تیک | 0.00001 | 0.91 دلار به ازای هر تیک |
| تعداد تیک در 1 پیپ | 10 | |
---
### جمعبندی نهایی
- پیپ واحد استانداردی است که معاملهگران برای اندازهگیری تغییرات قیمت و محاسبه سود یا زیان استفاده میکنند.
- تیک کوچکترین واحد تغییر قیمت است که بیشتر برای دادههای لحظهای بازار استفاده میشود.
- دانستن تفاوت بین این دو به شما کمک میکند که معاملات دقیقتر و بهتری داشته باشید.
اره برو بگو وایپر کدش کرد که به گا بری
بگو . اصلا بگو بیاد گرد و غبارش کنم
#حاشیه😑
حالا بعد شاید کدش رو گذاشتم
ولی قطعا کسی حال و حوصله محاسبه نداره
همشون تهشون سوراخه . لامصبا
Читать полностью…بشین رو زیمین نطق نکن باو جی پی تی
Читать полностью…دو ساعت دیگه بالا سرتم الگوریتم پلشت. مثل عزراعیل
Читать полностью…وایپر یه الگوریتم لازم داری که زمان رو معامله کنه
اره قیمت رو ولش
سر ساعت بای و سل بزنه
اثبات تا حدود زیادی درست !
این بنیان یک تئوری و مبنای تفاوت با theorem و قضیه است
دقت کنید که تعریف و پیاده سازی AMD به هر شکل و عنوان در دو بعد قیمت زمان از مبنا رد و از نظر من رد و قابل اثبات نیست چون پارامتر های دیگر نادیده گرفته شده و تابع رسم شده روی چارت تماما نویز و از محدوده خارج است
Читать полностью…خب پس کمترین و بیشترین واحد حجمی رو شناختیم
Читать полностью…ویژگیهای این نسخه:
رابط کاربری (UI):
Grid اطلاعات پوزیشنها را به صورت واضح نمایش میدهد.
اطلاعات به صورت بلادرنگ در هر تیک بهروزرسانی میشوند.
منعطف و قابل گسترش:
قابلیت اضافه کردن ستونها یا دادههای بیشتر.
مناسب برای مانیتورینگ چندین پوزیشن به صورت همزمان.
خروجی دقیق و کاربرپسند:
این UI به کاربر کمک میکند تا وضعیت حد ضرر و تیکها را به راحتی مشاهده کند.
using System;
using cAlgo.API;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
public class DoubleTickStopLoss : Robot
{
private int consecutiveTicks = 0;
protected override void OnTick()
{
foreach (var position in Positions)
{
if (position.TradeType == TradeType.Buy)
{
if (Symbol.Bid < position.StopLoss)
consecutiveTicks++;
else
consecutiveTicks = 0;
if (consecutiveTicks >= 2)
ClosePosition(position);
}
else if (position.TradeType == TradeType.Sell)
{
if (Symbol.Ask > position.StopLoss)
consecutiveTicks++;
else
consecutiveTicks = 0;
if (consecutiveTicks >= 2)
ClosePosition(position);
}
}
}
}
یژگیهای مهم الگوریتم:
دینامیک و سریع: به صورت لحظهای روی قیمتها نظارت دارد.
قابل اطمینان: از فعال شدن حد ضرر به دلیل نوسانات کوچک جلوگیری میکند.
انعطافپذیر: میتوان تعداد تیکهای موردنیاز را تغییر داد (مثلاً از 2 به 3).
if (PositionType == Buy):
if (Bid < StopLossPrice):
ConsecutiveTicksBelowSL += 1
else:
ConsecutiveTicksBelowSL = 0
if (ConsecutiveTicksBelowSL >= 2):
ClosePosition()
if (PositionType == Sell):
if (Ask > StopLossPrice):
ConsecutiveTicksAboveSL += 1
else:
ConsecutiveTicksAboveSL = 0
if (ConsecutiveTicksAboveSL >= 2):
ClosePosition()
در پلتفرم cTrader، مفهوم Double Trade Side - Stop Loss به این صورت است:
برای پوزیشنهای خرید (Buy):
حد ضرر (Stop Loss) زمانی فعال میشود که دو تیک متوالی از قیمت Bid (قیمت پیشنهادی خرید) پایینتر از قیمت حد ضرر باشند.
برای پوزیشنهای فروش (Sell):
حد ضرر (Stop Loss) زمانی فعال میشود که دو تیک متوالی از قیمت Ask (قیمت پیشنهادی فروش) بالاتر از قیمت حد ضرر باشند.
توضیحات تکمیلی:
قیمت Bid و Ask چیست؟
Bid: قیمتی که بازار حاضر است یک ابزار مالی (مثل ارز، سهام) را از شما بخرد.
Ask: قیمتی که بازار حاضر است یک ابزار مالی را به شما بفروشد.
چرا دو تیک متوالی؟
این مکانیسم طراحی شده است تا از فعال شدن زودهنگام حد ضرر به دلیل نوسانات لحظهای یا نویزهای کوچک قیمتی جلوگیری کند. به عبارت دیگر، زمانی حد ضرر اجرا میشود که قیمت حد ضرر واقعاً شکسته شده باشد و این شکست تأیید شود.
کاربرد در استراتژی معاملاتی:
استفاده از این روش میتواند به کاهش خروجهای ناخواسته از بازار کمک کند، به خصوص در شرایطی که بازار به صورت نوسانی (Choppy) حرکت میکند.
همه اردرا من باید پارشال فیل بشن 🥱
Читать полностью…مارکت یه سمت بیشتر ندارد
Читать полностью…