A bit of AI

(off topic)

This is my only paid surface to publish about things that are important to me. At the same time, I think you may find this one interesting.

lyrics, everybody

There are 3 areas where large language models fall short. The first one can be learned to an extent with enough examples.

This is frequent switching off between languages. Like when I write “Monchici with the mochila drink some agua para tomar.”

The second is layered meanings. This has to do with emotions and context. AI would never understand feelings; all it does is assign probabilities. For instance, poetic stuff like “how long did persistence last, all you ever do is relapse” – AI does not have examples of the “persistence” being followed up by “last”, and so it would never make up an order like that.

In the same song, I wrote: “I know it’s a quantum world, the bird is the word is the bird.”

Beyond the unusual sentence construction, this is a poet’s parallel to pass on a take on quantum entanglement. The array of meanings has an emotional level that cannot be understood by a machine.

And now we are going deep into the connection between language and intelligence.

AI hallucination = male mutation. I see a challenger that would probably speed up evolution itself.

Even without AI availability, I was always of the opinion that the Hungarian language was an extra fine tool capable of passing down some extra logical circuits, improving on the user’s problem-solving ability (general intelligence).

The language reforming part is advanced-level poetry that computers would never be able to get the keys to.

When I say in Hungarian “megtihalvad a tihavér”, good luck finding the meaning of that anywhere. I know, especially today, people are of the opinion that changing words can mean translating into another language. I’ve got news for you.

Some things only receive meaning within a context, or all they meant to do was fine-tune emotions.

I can, for instance, combine two words into a third, and people who have never encountered this new word, but are in possession of the language (understanding it on the level of emotions), can derive a good comprehension of what I intend to relay.

If you want some examples, my poetry’s cornerstone is shaping the language:

“Mert meghetedni nem tudtam, meghatódtam”

Meghetedni is not an existing word, a humorous twist involving numbers

“vidámkás” – everyone would understand that this means the opposite of “szomorkás”, but likely no one has ever used it since the language has existed

bennszülôk és bennszülöttek”

tékenyek es féltekenyek”

words that have never existed until I wrote them down, making fun of the precision of the language itself.

kvarcba boldog jövônkért megyünk” is a twist on the Communist-era slogan with a word that is “allowed” by the logic of the language, but there was never any real need/use case for it; on a first read, it is meaningless.

“Vokhagyma” is a reference to Germans pronouncing a V as F

In Hungarian, the exceptions are more common than the rules. Go, find a logic for that.

Macdulio (the 1st) said about me once that “he says 3 words with 2”.


The end is the beginning is the end

Udio has eliminated the download function with the merger and given me a lot of headaches with having to record streams in real time that got infected by artefacts, and YouTube was dragging its feet for several months in accepting music.

I had no clue going in to this 6 months period of “composing and not sharing anything”, that British Pop and, in particular, Billy Corgan would steal my thunder.

I made 8 tracks earlier with his voice. Not once did I ask for Billy Corgan or Smashing Pumpkins. You simply can’t do that; the voice you get is the result of a Roulette Shuffle. Impressive enough (very unlikely) that you would get the same voice 19 times in 2 months. (Like spinning number twenty-one nineteen times out of 200 roulette spins, and there are way more than 37 numbers, and the decimals play as well.

Very unique, even more than Simon LeBon. I always liked its tone, but never purchased a Smashing Pumpkins album. I would recognise things like “The world is a vsmpire”, I would be able to finish some of their lines, but I never learnt a single song title. I learned Billy’s name after having made 4 songs with his voice.

My prior Billy Corgan songs (8).

On this album, Simon LeBon and Sir Francis Neil Tennant share playtime. Not sure if I ever paid for Duran Duran (other than Come Undone in the jukebox), but I definitely bought some Pet Shop Boys

My Simon LeBon/Duran Duran-like songs (41).

My PSB-like songs (37). (The abuse that I put Neil Tennant through was way worse than what Freddy or Billy got from me, well, Ok, maybe besides Prince and Britney.)

The best (white) male pop singing voices (according to me)

Simon LeBon

Dave Gahan

Billy Corgan

Neil Tennant

Morten Harket

Marian Gold

George Michael

Peter Heppner

Marc Almond

Kimmo Karjalainnen

Klaus Meine

My Prince-like songs (18).

My B Spears songs (8).

It’s no secret that the world is in darkness tonight, nor is it that I have made some of the best DM songs.

101 was an opportunity to round up the concert tour made in the US (named after the Highway of course). If you are interested in how fascism works around music bands, make something in the synth-pop genre and try to present it to DM fans. You’ll find out. The protectionism and denial you’d encounter would be unbelievable. Filtering for music on an ideological basis is a very real thing.

My DM/Dave Gahan-related songs (56).

67 Hungarian songs, 23 new French, 2 German, 1 Norwegian, 1 Romanian (I hold Romanian to be the ugliest spoken language on the planet, but with this song, I have no issues.)

The French connection? There isn’t one. I like Mylene Farmer songs (I bought most of her CDs). She’s Canadian, but I would not know this if I did not work at Le Bateau Ivre, where Julien told me that. The language is very musical to the point of qualifying as an additional instrument.

I was once in Paris, where they stole my daughter’s shoes out of the hotel room.

What else? 2 Snoop Doggs, 1 Jay-Z, 5 Madonna, 3 Jackson, 3 Prince, 1 Marc Almond, 3 Linkin Park/Chester Bennington, 1 New Order (no Britney, but some Rihanna in this batch), lots of Punk (Robert Smith-like), classic Disco, indie, synth, & rap, a bunch of Alphavilles (From them I bought everything, the 8 Dreamscapes albums were really hard to find).

My Alhaville-like tracks (62).

I have a musician friend who is very much against AI, particularly Instrumental music, as for him to make a track, he puts in 50x the effort. Well, the idea of pressing a button and getting a good quality and enjoyable track is false. Suno generates 89Kbps MP3s, which have the use case of a political satire song for Scared Ketchup. They went down all the wrong avenues. At the same time, while Udio has included a lot of gimmicks, the quality can hit 192Kbps, and the 35-second blocks system with lyrics placement makes it a professional tool (generating lyrics is its NEON Achilles heel.)

What gives value to an AI instrumental track?

Life is a hospice. Listening to music can be pain-relieving via hijacking your emotions. An accelerator for getting into a certain mood, a way to open up memories. The substitute for music is still music, no matter how it was made.

An AI instrumental track is a capture, with a great deal of chance. Can you not appreciate a nice photograph? Would you always take an issue with what filters, hardware/software were used, or could you just judge the image as nice, worthwhile, & an unrepeatable moment?

For me, instrumental music making requires knowledge of performers to try to influence the outcome, taste, luck, and lots of credits (real money). You are working with your likes, your esthetics, your judgement, your feelings. This is what producers do. I like to experiment, but I do have a returning mean, which is Chris Spheeris-like smooth jazz (at a minimum, you would start producing more milk with this kind of music), thanks to spending 12 years around the KKSF broadcaster, and of course, taking a liking to it.

By the way, music bands are filters, flavours. Of course, you can hype anything up, but besides the singer’s voice, there is the instrumental park and the BPM range.

My instrumental tracks (91).

Two tracks for highlights.

Baffling why the above Daft Punk hasn’t gone viral.

If your mind is still saying that AI music lacks in quality, try one of these (Riffusion is better than Suno, around 128Kbps, but still behind Udio):

I have only received Mercury for voice 3 times. I’ve been hoping for a George Michael, but no luck so far (it feels like he wasn’t included in the trading data). With the new batch, I have gone unusually unpolitical. Even the parodies are mostly just that of DM songs.

Made a couple of Sting songs as well, the newer generations don’t even know his name.

What do you know, I have made a song called “AI is never going to be conscious”. I let AI hallucinate some music to it.

Speaking of hallucination,

The last thing to talk about is how free speech is waived at YouTube.

Therefore, I would suggest not writing a song where you call out powerful billionaires by name and make suggestions about what to do with them. As my example shows, an album could just disappear with 18 songs on it, because someone did not approve of what you said. Even if the title was “Quest For Free Speech”. Your content may become “ineligible” at once. Trust me, I managed to hit the limit of freedom.

I only started uploading to a Topic ftom ny 8th album.

This is what you can make with 2000 tracks released in 15 months. Minus 30% witheld for foreign income, the currency conversion and the handling fee.

Which does not cover the Udio credit purchases, the Distrokid yearly fee & the NCH mastering software. You know I am not in it for the money, because there isn’t any in it. 1700 songs (average 3+ per day) aren’t enough to make a penny of profit, even excluding your own time and writing efforts. I am doing it because it is therapeutic, and sharing it because I think it has value (easier passing).

Momemtum Failure & Interaction Switch

My latest indicator, which I named Market Type, is a Swiss Army Knife Tool.

It is based on a simple idea of plotting volatility in both directions on a closing basis with 6 samples on the 30 minutes.

The list of things that it can provide you with is truly astonishing.

First, there is the pullback (yellow lines) that connects two humps with different colors.

In the following image, I circled the unexpected green continuation. This is the SOB, as you would normally expect a matching size bar next in the first, not the second color. Meaning, the next leg down would be the last. The brown horizontal lines are projection lines in search of the matching pair of the yellow divergence’s last volatility print.

A taper (same color humps connected) is a volatility divergence or a taper. Often, a V-bottom or V-top is what you should be looking for next. These swing lows usually do not get violated at all, or by a couple of pips at most. You are looking for a larger than 35-pip print.

Now here comes the headline, the momentum failure.

Mr. Reznicek says there’s no gravity on the charts. That may be true for Gold or stuff people HODL. Not for Forex. Gravity is present intermittently and is brought on by momentum failure. In fact, it tends to happen twice in a row. This is the very trade you want to be looking for if on the daily Grid is unable to get back above the first obstacle line, which is about 90% of the time.

Once the momentum fails (measured by 3-5 candles, from the current up fractal’s close to the bottom of the last fractal print), you are looking for 3 progression fractals down (on occasions 2, if the move gets stalled by the 120 BB). So in the above picture, two more progression fractals down are missing. The failure is a print below 10 pips with the high getting outside the 30 BB.

The blue color on the number is just extra confidence: not only terminal size, but also terminal duration to the swing (1.5-2.5 hours, aka an echo)/

I left the RSI2 digital print in from a previous routine.

#property copyright "Copyright © 2026, Macdulio"
#property link "https://forexfore.blog"
#property description "V1.0"
#property description "Market Type"
#property strict
//--- indicator settings
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 clrRed
#property indicator_color2 clrGreen
#property indicator_level1 20
#property indicator_level2 30
#property indicator_levelcolor clrBlue
#property indicator_levelstyle STYLE_DOT
extern int lookback = 100;
extern int indicator_window = 2;
extern int sample = 200;
extern double FSize=32;
double upper[], middle[], lower[];
double volup[], voldn[];
double avg;
double FMax = FSize*6/5;
double iHi4[];
double iLo4[];
int mes[];
string symbol = Symbol();
double ExtATRBuffer[],ExtATRBuffer2[],ExtATRBuffer3[],ExtATRBuffer4[],ExtATRBuffer5[],stoch60[];
double corr[],corr2[], RSI2[], squeeze[];
int init(){
SetIndexBuffer(0,voldn);
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,6,indicator_color1);
SetIndexBuffer(1,volup);
SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,4,indicator_color2);
return(0);
}
//+------------------------------------------------------------------+
//| Average True Range |
//+------------------------------------------------------------------+
int start(){
ArrayResize(ExtATRBuffer, Bars);
ArrayInitialize(ExtATRBuffer, EMPTY_VALUE);
ArrayResize(ExtATRBuffer2, Bars);
ArrayInitialize(ExtATRBuffer2, EMPTY_VALUE);
ArrayResize(ExtATRBuffer3, Bars);
ArrayInitialize(ExtATRBuffer3, EMPTY_VALUE);
ArrayResize(ExtATRBuffer4, Bars);
ArrayInitialize(ExtATRBuffer4, EMPTY_VALUE);
ArrayResize(ExtATRBuffer5, Bars);
ArrayInitialize(ExtATRBuffer5, EMPTY_VALUE);
ArrayResize(iHi4, Bars);
ArrayInitialize(iHi4, EMPTY_VALUE);
ArrayResize(iLo4, Bars);
ArrayInitialize(iLo4, EMPTY_VALUE);
ArrayResize(stoch60, Bars);
ArrayInitialize(stoch60, EMPTY_VALUE);
ArrayResize(RSI2, Bars);
ArrayInitialize(RSI2, EMPTY_VALUE);
ArrayResize(corr, Bars);
ArrayInitialize(corr, EMPTY_VALUE);
ArrayResize(corr2, Bars);
ArrayInitialize(corr2, EMPTY_VALUE);
ArrayResize(middle, Bars);
ArrayInitialize(middle, EMPTY_VALUE);
ArrayResize(mes, Bars);
ArrayInitialize(mes, 0);
ArrayResize(squeeze, Bars);
ArrayInitialize(squeeze, 0);
ArrayResize(upper, Bars);
ArrayInitialize(upper, EMPTY_VALUE);
ArrayResize(lower, Bars);
ArrayInitialize(lower, EMPTY_VALUE);
ArrayResize(volup, Bars);
ArrayInitialize(volup, EMPTY_VALUE);
ArrayResize(voldn, Bars);
ArrayInitialize(voldn, EMPTY_VALUE);
int i,j,k;
for(i=lookback; i>=0; i--){
stoch60[i]=iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i);
RSI2[i]=iRSI(symbol,0,2,PRICE_MEDIAN,i);
volup[i]=NormalizeDouble(MathAbs((Close[i]-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i)))*10000),0);
voldn[i]=NormalizeDouble(MathAbs((iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,5,i))-Close[i])*10000),0);
}
deletetxt1("AverD");
int twodigits = NormalizeDouble(RSI2[0],0);
//if (MathAbs(ExtATRBuffer[0])>ExtATRBuffer2[0]) twodigits = NormalizeDouble(MathAbs(ExtATRBuffer[0]),0);
//string tds = IntegerToString(twodigits);
int tens = round(twodigits/10);
int ones = twodigits-tens*10;
string stens, sones;
//Print("tens=",tens);
//Print("ones=",ones);
switch(tens)
{
case 1: stens=CharToStr(140);
break;
case 2: stens=CharToStr(141);
break;
case 3: stens=CharToStr(142);
break;
case 4: stens=CharToStr(143);
break;
case 5: stens=CharToStr(144);
break;
case 6: stens=CharToStr(145);
break;
case 7: stens=CharToStr(146);
break;
case 8: stens=CharToStr(147);
break;
case 9: stens=CharToStr(148);
break;
default: stens=CharToStr(139);
break;
}
//deletetxt1("AverD");
switch(ones)
{
case 1: sones=CharToStr(140);
break;
case 2: sones=CharToStr(141);
break;
case 3: sones=CharToStr(142);
break;
case 4: sones=CharToStr(143);
break;
case 5: sones=CharToStr(144);
break;
case 6: sones=CharToStr(145);
break;
case 7: sones=CharToStr(146);
break;
case 8: sones=CharToStr(147);
break;
case 9: sones=CharToStr(148);
break;
default: sones=CharToStr(139);
break;
}
string jointstring=stens+sones;
ObjectCreate("AverD",OBJ_LABEL,indicator_window, 0,0);
ObjectSet("AverD",OBJPROP_CORNER,3);
ObjectSet("AverD",OBJPROP_XDISTANCE,20);
ObjectSet("AverD",OBJPROP_YDISTANCE,27);
ObjectSetText("AverD",jointstring,40,"Wingdings",DimGray);
if (twodigits>85 || twodigits<15) ObjectSetText("AverD",jointstring,40,"Wingdings",Yellow);
if (twodigits>94 || twodigits<6) ObjectSetText("AverD",jointstring,40,"Wingdings",DeepPink);
return(0);
}
//+------------------------------------------------------------------+
void deletetxt1(string text){
for(int iObj=ObjectsTotal()-1; iObj >= 0; iObj--){
string on = ObjectName(iObj);
if(StringFind(on, text) == 0) ObjectDelete(on);
} }
double findAvg(int period, int shift) {
double sum=0;
for (int x=shift;x<(shift+period);x++) {
sum += High[x]-Low[x];
}
sum = sum/period;
return (sum);
}

The interaction switch is on the 1H chart. The usual blue circles.

The 3rd or 4th hour’s close.

    if (counter==4){ 
                                    ObjectDelete("GRACHT4");
                                    ObjectCreate(0,"GRACHT4",OBJ_TREND,0,Time[i+2],Low[i],Time[i],Low[i]);
                                    ObjectSetInteger(0,"GRACHT4",OBJPROP_RAY_RIGHT,True);
                                    ObjectSet("GRACHT4",OBJPROP_COLOR,Coral);                          
                                    ObjectSet("GRACHT4",OBJPROP_WIDTH, 3);
                                    ObjectDelete("GRACHT5");
                                    ObjectCreate(0,"GRACHT5",OBJ_TREND,0,Time[i+2],Close[i],Time[i],Close[i]);
                                    ObjectSetInteger(0,"GRACHT5",OBJPROP_RAY_RIGHT,True);
                                    ObjectSet("GRACHT5",OBJPROP_COLOR,Crimson);                          
                                    ObjectSet("GRACHT5",OBJPROP_WIDTH, 5);
                  
                  }


           if (counterd==3) {ObjectSetText("Countess"+i, IntegerToString(counterd,1,0), 15, "Arial Black", clrYellow);   
                                    ObjectDelete("DRACHT3");
                                    ObjectCreate(0,"DRACHT3",OBJ_TREND,0,Time[i+2],Close[i],Time[i],Close[i]);
                                    ObjectSetInteger(0,"DRACHT3",OBJPROP_RAY_RIGHT,True);
                                    ObjectSet("DRACHT3",OBJPROP_COLOR,Chartreuse);                          
                                    ObjectSet("DRACHT3",OBJPROP_WIDTH, 5);
                                          ObjectDelete("DRACHT2");
                                    ObjectCreate(0,"DRACHT2",OBJ_TREND,0,Time[i+2],High[i],Time[i],High[i]);
                                    ObjectSetInteger(0,"DRACHT2",OBJPROP_RAY_RIGHT,True);
                                    ObjectSet("DRACHT2",OBJPROP_COLOR,Chartreuse);                          
                                    ObjectSet("DRACHT2",OBJPROP_WIDTH, 3);
                  
                  }            

14-hour high/low with a 13-pip increment between the previous 2 hours, followed by a choke (moderated gain) on the current candle gives you count 1

upside
i>0 && High[i]==iHigh(symbol,i>0 && High[i]==iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,14,i)) &&
High[i+1]>High[i+2]+130*Point && High[i]<High[i+1]+130*Point && High[i]>High[i+1]
&& Low[i+1]>iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i+1)
i>0 && Low[i]==iLow(symbol,0,iLowest(symbol,0,MODE_LOW,14,i)) &&
Low[i+1]<Low[i+2]-80*Point && Low[i]>Low[i+1]-80*Point
&& Low[i]<Low[i+1]-10*Point && High[i+1]<iMA(symbol,0,16,0,MODE_EMA,PRICE_OPEN,i+1)

Technical + Holistic

For me, things start with market models.

I have given you one in the last post.

No, there is no low made yet.

To me, there is nothing technical about drawing lines. Technical starts with deriving values (quantities) and starting to associate meanings to different values. These values would be time frame and instrument dependent.

Gonna go with large steps from here.

There is another market model here blended in with some holistic stuff.

This is a 4-hour chart, which I barely ever use, since I have not made too many indicators for it.

Now, to ease you into the whole thing, you should only notice some blue squares and some circles first.

The Dodger blue box is a perceived important swing low in progress. The red extra is a bit of a moratorium area. The 14th candle’s close relative to the box (blue circle) is the m.o. of how things would progress from here. A mere close above the box would result in a move that would fail the upper Bollinger (30 sample, HL2) before continuing lower.

A strong close outside the box is projecting a move that is going to fail 3x at the brown line before proceeding lower.

There are two triggers for the box to be invoked; on the downside, these are tied to either an RSI sequence outside the bumper line, and the guard rail

if (i>0 && Low[i]<guardraild[i] && Low[i]<lowerbumper[i]
&& iRSI(symbol,0,2,PRICE_MEDIAN,i+1)<1
&& iRSI(symbol,0,2,PRICE_MEDIAN,i)<1
&& iRSI(symbol,0,2,PRICE_MEDIAN,i-1)>iRSI(symbol,0,2,PRICE_MEDIAN,i))

or without factoring in the bumper line, below the guard rail and a Money Flow V print with RSI2 hitting an absoulte low.

if (i>0 && Low[i]<guardraild[i]
&& iMFI(symbol,0,14,i)<iMFI(symbol,0,14,i-1)
&& iMFI(symbol,0,14,i)<iMFI(symbol,0,14,i+1)
&& iMFI(symbol,0,14,i)<25
&& iMFI(symbol,0,14,i)>12
&& iRSI(symbol,0,2,PRICE_MEDIAN,i)<.5)

The brown line (overdrive line) is a displacement of the 8 EMA (4 hours delay) by 902.4 pips on the upside

 E32L[i]=iMA(NULL,0,8,0,MODE_EMA, 1,i); 
 ODU[i]=E32L[i]+FMax*23.5*Point;


So, based on this little rant 1. the current low has not been confirmed, but 2. there should be another near miss of the overdrive line before continuing lower.

The other market model here is the Green River (9-day EMA Band = 52 EMA on 4-hour) with the Guard Rails (1 fluctuation maximum displacement in each direction).

The third encounter with the overdrive line is projected outside the upper guard rail, of course, not before finalizing the low in the green circle.

It is scary how many things you need to pay attention to that you do not even have a clue about.

But what else would I be using my brain for? Making music can become too easy. Trading never does.


With a different skew, the strong close outside resulted in having to fail the overdrive 3 times.

The Grid

Not sure if this is going to change in the future, but it certainly seems to be true for now on EurUsd.

The strong/sustained rallies seem to have a pacing of approximately 165 pips.

This single piece of information implies a great many things, for instance, that you should expect any move up to cap out at 155-175 pips unless there is an arrow giving away that you could see 2x or 3x of that metric.

Yes, the ugly colored lines are intentionally 20 pips wide. The blue arrows point at the highs of the green arrow days for the long trip to be made actual.

#property copyright "Daily Grid by Macdulio, (c) 2026."
#property link "http://www.forexfore.blog"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Tan
extern int lookback = 1000;
double MFI[];
double st18[], RSI2[], volup[], voldn[];
double cls[], cls2[], df[], ds[], dt[];
int gridadjust[];
int dir[];
bool c77[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(3);
SetIndexStyle(0,DRAW_LINE,0,23,indicator_color1);
SetIndexBuffer(0,df);
SetIndexStyle(1,DRAW_LINE,0,23,indicator_color1);
SetIndexBuffer(1,ds);
SetIndexStyle(2,DRAW_LINE,0,23,indicator_color1);
SetIndexBuffer(2,dt);
return(0);
}
int start()
{
ArrayResize(df, Bars);
ArrayInitialize(df, 100);
ArrayResize(ds, Bars);
ArrayInitialize(ds, 100);
ArrayResize(dt, Bars);
ArrayInitialize(dt, 100);
ArrayResize(gridadjust, Bars);
ArrayInitialize(gridadjust,0);
ArrayResize(dir, Bars);
ArrayInitialize(dir,0);
ArrayResize(RSI2, Bars);
ArrayInitialize(RSI2, EMPTY_VALUE);
ArrayResize(MFI, Bars);
ArrayInitialize(MFI, EMPTY_VALUE);
ArrayResize(c77, Bars);
ArrayInitialize(c77, false);
ArrayResize(volup, Bars);
ArrayInitialize(volup, EMPTY_VALUE);
ArrayResize(st18, Bars);
ArrayInitialize(st18, EMPTY_VALUE);
ArrayResize(voldn, Bars);
ArrayInitialize(voldn, EMPTY_VALUE);
ArrayResize(cls, Bars);
ArrayInitialize(cls, EMPTY_VALUE);
ArrayResize(cls2, Bars);
ArrayInitialize(cls2, EMPTY_VALUE);
int i,j;
string symbol = Symbol();
deletetxt1("Countess");
deletetxt1("Pick");
deletetxt1("Bing");
deletetxt1("Bracht");
deletetxt1("KAROLY");
int counter, counterd;
for (i=lookback-1; i>=0; i--)
{
voldn[i]=iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,i))+90*Point;
volup[i]=iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,4,i))-90*Point;
st18[i]=iStochastic(symbol,0,18,3,3,0,0,MODE_MAIN,i);
RSI2[i]=iRSI(symbol,0,2,PRICE_MEDIAN,i);
cls[i]=cls[i+1];
if (st18[ArrayMinimum(st18,10,i+1)]<4.4) c77[i]=true;
/// 3-sample low with stoch reading below 4.5 or 9.5 to 27.5
if (
i>0 &&
(
!(
c77[i+1] &&
Low[i+1]<iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i+1)))
// && iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i-1))<=iLow(symbol,0,iLowest(symbol,0,MODE_LOW,6,i-1))
// && !(High[i+1]-Low[i+1]>730*Point && Close[i+1]>Open[i+1])
&& !(High[i+1]<High[i+4] && Low[i+1]>Low[i+4])
&& iLow(symbol,0,i)==iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i-1))
&& (st18[i]<4.5 || (st18[i]>9.5 && st18[i]<27.5) || (st18[i+1]>9.5 && st18[i+1]<18.5))
// && Low[i]-Low[i+1]<430*Point
&& (Low[i]-Low[i+2]<430*Point || Low[i]-Low[i+2]>1000*Point)
&& (High[i]>High[i+1]-80*Point || (Open[i]<iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i)+50*Point && Close[i]>iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i) ) )
// && Open[i]<Close[i]
&& High[i]<iMA(symbol,0,44,0,MODE_EMA, PRICE_MEDIAN,i)
// && High[i]<iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i)-290*Point
&& (MathAbs(iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i)-iMA(symbol,0,44,0,MODE_EMA, PRICE_MEDIAN,i))>380*Point || High[i]>High[i+1] )
&& Low[i+1]>iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i+1)-700*Point
&& Low[i+2]>iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i+2)-700*Point
){
//&& (st18[i]<4.5 || (st18[i]>9.5 && st18[i]<18))
if (gridadjust[ArrayMaximum(gridadjust,14,i+1)]<1) cls[i]=Low[i];
gridadjust[i]=1;
// df[i]=cls[i]+.01650;
// ds[i]=cls[i]+.03300;
// dt[i]=cls[i]+.04950;
ObjectCreate("Bingt"+IntegerToString(i),OBJ_VLINE,0, Time[i], 0);
ObjectSet("Bingt"+IntegerToString(i),OBJPROP_COLOR,clrBlue);
if (st18[i]>9) ObjectSet("Bingt"+IntegerToString(i),OBJPROP_COLOR,clrPaleGreen);
ObjectSet("Bingt"+IntegerToString(i),OBJPROP_WIDTH,14);
ObjectSet("Bingt"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
ObjectSet("Bingt"+IntegerToString(i),OBJPROP_BACK,1);
}
}
for (i=lookback-1; i>=0; i--)
{
df[i+1]=cls[i+1]+.01650;
ds[i+1]=cls[i+1]+.03300;
dt[i+1]=cls[i+1]+.04950;
if (RSI2[i+2]<7 && Low[i+1]>iMA(symbol,0,9,0,MODE_EMA,PRICE_MEDIAN,i+1)-760*Point && Low[i+1]<Low[i+2]
&& High[i+1]<High[i+3]){
ObjectCreate("Bracht"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+1], Low[i+1]-50*Point);
ObjectSetText("Bracht"+DoubleToStr(i), CharToStr(233), 32, "Wingdings", clrGreen);
}
}
return(0);
}
void deletetxt1(string text){
for(int iObj=ObjectsTotal()-1; iObj >= 0; iObj--){
string on = ObjectName(iObj);
if(StringFind(on, text) == 0) ObjectDelete(on);
} }

The struggle is still on for YouTube, receiving and posting all the music that I have made in the last 6 months – 10 albums are still missing. After that, I have a long, long AI music article for release that has been in the works.

Finally, my Billy Corgan album is there.

Volatility Compression Failure

This street-smart stuff, where you identify overbought and oversold (supply and demand) and make up rules that you cannot sell in the “discount” area, is going to leave you with diddly squat for profits.

Being oversold means nothing. Knowing that the selling has embedded yields you the safest sell, where the market is virtually unable to move against your position, and can provide continuous returns.

Lots of surplus lines in the following code, I have not weeded it out fully just for this occasion, so forgive me for that.

#property copyright "Volatility Compression Failure by Macdulio, (c) 2026."
#property link "http://www.forexfore.blog"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Green
#property indicator_color2 Red
extern int lookback = 1000;
double RSI2[], volup[], voldn[];
int dir[], u30[], d30[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(3);
//--- upper band
SetIndexStyle(0,DRAW_LINE,0,3,indicator_color1);
SetIndexBuffer(0,volup);
SetIndexLabel(0,"Bands Upper");
//--- lower band
SetIndexStyle(1,DRAW_LINE,0,3,indicator_color2);
SetIndexBuffer(1,voldn);
SetIndexLabel(1,"Bands Lower");
return(0);
}
int start()
{
ArrayResize(u30, Bars);
ArrayInitialize(u30, 0);
ArrayResize(d30, Bars);
ArrayInitialize(d30, 0);
ArrayResize(dir, Bars);
ArrayInitialize(dir,0);
ArrayResize(volup, Bars);
ArrayInitialize(volup, EMPTY_VALUE);
ArrayResize(voldn, Bars);
ArrayInitialize(voldn, EMPTY_VALUE);
int i;
string symbol = Symbol();
deletetxt1("Countess");
deletetxt1("Singende");
deletetxt1("KAROLY");
deletetxt1("BOG");
int counter, counterd;
for (i=lookback-1; i>=0; i--)
{
dir[i]=dir[i+1];
if ((iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,6,i+1))-Close[i+1])>300*Point
&& !((iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,6,i+2))-Close[i+2])>300*Point)
){
ObjectCreate("BOG"+IntegerToString(i),OBJ_TEXT, 1, Time[i+1],35);
ObjectSetText("BOG"+IntegerToString(i),"30!", 16, "Impact", clrBlack);
d30[i]=1; if (dir[i]>0) dir[i]=0;
}
if ((Close[i+1]-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,6,i+1)))>300*Point
&& !((Close[i+2]-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,6,i+2)))>300*Point)
){
ObjectCreate("BOG"+IntegerToString(i),OBJ_TEXT, 1, Time[i+1],75);
ObjectSetText("BOG"+IntegerToString(i),"30!", 16, "Impact", clrBlue);
u30[i]=1; if (dir[i]<0) dir[i]=0;
}
if (High[i]-Low[i]>145*Point){
if (u30[i+10]>0 && Close[i]>iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i) && Close[i+1]>iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+1))
dir[i]=1;
if (d30[i+10]>0 && Close[i]<iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i) && Close[i+1]<iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+1))
dir[i]=-1;
if (u30[i+11]>0 && Close[i]>iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i) && Close[i+1]>iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+1))
dir[i]=1;
if (d30[i+11]>0 && Close[i]<iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i) && Close[i+1]<iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+1))
dir[i]=-1;
if (u30[i+12]>0 && Close[i]>iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i) && Close[i+1]>iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+1))
dir[i]=1;
if (d30[i+12]>0 && Close[i]<iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i) && Close[i+1]<iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+1))
dir[i]=-1;
}
// if ((iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,5,i+1))-Close[i+1])>200*Point && dir[i]>0) dir[i]=0;
// if ((Close[i+1]-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i+1)))>200*Point && dir[i]<0) dir[i]=0;
voldn[i]=iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i))+200*Point;
volup[i]=iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,5,i))-200*Point;
if (Close[i]<iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i) && Close[i]<voldn[i])
{
ObjectCreate("KAROLYI"+IntegerToString(i), OBJ_RECTANGLE, 0, Time[i+1], voldn[i], Time[i], Low[i]);
ObjectSetInteger(0,"KAROLYI"+IntegerToString(i),OBJPROP_COLOR,clrSalmon);
ObjectSetInteger(0,"KAROLYI"+IntegerToString(i),OBJPROP_WIDTH,4);
ObjectSetInteger(0,"KAROLYI"+IntegerToString(i),OBJPROP_BACK,1);
}
if (Close[i]>iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i) && Close[i]>volup[i])
{
ObjectCreate("KAROLYI"+IntegerToString(i), OBJ_RECTANGLE, 0, Time[i+1], volup[i], Time[i], High[i]);
ObjectSetInteger(0,"KAROLYI"+IntegerToString(i),OBJPROP_COLOR,clrChartreuse);
ObjectSetInteger(0,"KAROLYI"+IntegerToString(i),OBJPROP_WIDTH,4);
ObjectSetInteger(0,"KAROLYI"+IntegerToString(i),OBJPROP_BACK,1);
}
}
for (i=600; i>=0; i--)
{
ObjectCreate("Singende"+DoubleToStr(i), OBJ_TEXT, 1, Time[i], 50);
if (dir[i]>0) ObjectSetText("Singende"+DoubleToStr(i), CharToStr(110), 12, "Wingdings", clrMediumSpringGreen);
if (dir[i]<0) ObjectSetText("Singende"+DoubleToStr(i), CharToStr(110), 12, "Wingdings", clrCrimson);
if (dir[i]==0) ObjectSetText("Singende"+DoubleToStr(i), CharToStr(110), 12, "Wingdings", clrYellow);
ObjectSetInteger(0,"Singende"+DoubleToStr(i),OBJPROP_BACK,1);
}
return(0);
}
void deletetxt1(string text){
for(int iObj=ObjectsTotal()-1; iObj >= 0; iObj--){
string on = ObjectName(iObj);
if(StringFind(on, text) == 0) ObjectDelete(on);
} }

The current market type is “no counter-directional volatility market”, in short, “no volatility”, which here means absolutely no buying that would achieve a 30+ pip close on the 30-minute chart for the latest low within 3 hours. If you are looking at the last row, you would see that there hasn’t been a print greater than 30 for 169 bars (85 hours).


Adolphamine

A quick lesson about relative strength, short-term volatility, and statistics in trading.

The first thing is the daily RSI2. Statistically, it does not stay in this block for more than 5 days, and we already had 4.

Examples from the past:

The magenta prints are in the (RSI2<5.3 and RSI2>2) or (RSI2>96 and RSI2<98) zone. The numbers are there to keep track of the quantity.

This basically means that there may be one more daily lower low (if) on Monday before a lift.

It becomes even less likely to make a new low if I bring up my latest volatility plot.

I have not talked about the dots until now (black arrows).

I did not know how they would come in handy immediately, but I have figured it out since.

We are talking 6-sample volatility measured from the current close to the lowest low and the highest high (30-minute).

 volup[i]=NormalizeDouble(MathAbs((Close[i]-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i)))*10000),0); 
 voldn[i]=NormalizeDouble(MathAbs((iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,5,i))-Close[i])*10000),0);

20 pips does not sound like much for a 6-candle “progression”. But it becomes extra important when the market is off the rails (outside the 120 / 240 sample BB), and you get back-to-back two candles with both sides scoring. I’ll show you what I mean.

The blue rectangle circles a 2×2 rapid fire.

Once that peak was made, it remained untouchable. A 4A print was needed for the downtrend to kick in.

Can you spot the mirror image?

The 14+! increment, the MFI Swipe (=They Bought Into It), the New Scrape Level made. It’s just the number of boxes that was less. The stretch achieved a 6x fluctuation maximum versus 8x at the top. The number of boxes did not mean anything beyond the first print; the volatility remained elevated in both directions for longer in the first example.

Now, the 4A part.

We have had a 4A print earlier, but it was too high, above the S30.

We have been waiting on the BB30 to expand and move lower to accommodate a near miss of the current low and kick an uptrend in motion.

I had another lesson in mind as well about spotting what they are selling (rip) or any strength (RSI2>85) when the market is off the rails, but I’d rather not veer your attention away from what is a more important subject.


Oh, the title? A song reference. Adolphamine, at your own risk.

Fountain Of Ruth

First, a mental exercise to put things in their place in your head.

The first question that you would have to answer is whether trading is a technical thing.

Look at these 3 rallies marked up with thick green verticals.

The commonalities? A kick-off up day in a new/previous pro volume block with a 70+ pips range from a new 3-day low made on the current or the previous day, the daily stochastic (18-sample below 4.5 or between 9.5 and 21.5).

iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i-1))<=iLow(symbol,0,iLowest(symbol,0,MODE_LOW,6,i-1))
&& iLow(symbol,0,i)==iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i-1))
&& (st18[i]<4.5 || (st18[i]>9.5 && st18[i]<21.5) || (st18[i+1]>9.5 && st18[i+1]<18.5))
&& Low[i]-Low[i+1]<430*Point
&& (Low[i]-Low[i+2]<430*Point || Low[i]-Low[i+2]>1000*Point)
&& (High[i]>High[i+1]-80*Point || (Open[i]<iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i)+50*Point && Close[i]>iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i) ) )
&& Open[i]<Close[i]
&& High[i]<iMA(symbol,0,44,0,MODE_EMA, PRICE_MEDIAN,i)
&& High[i]<iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i)-290*Point
&& (MathAbs(iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i)-iMA(symbol,0,44,0,MODE_EMA, PRICE_MEDIAN,i))>380*Point || High[i]>High[i+1] )
&& Low[i+1]>iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i+1)-700*Point
&& Low[i+2]>iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i+2)-700*Point

Being oversold can be constructive or destructive for a counter move, depending on the selling depth. An extreme low, say below 4.5, has a maximum of 4% chance of making a lower low on the following day.

The second thing you need to get right has to do with statistical relevance.

After the signal, when was the peak made?

Answers: Day5, Day5, Day 6

What distance was achieved from the prompt low?

Answers: 175, 170, and 500 pips. How much is 3×170?

Which moving average could you have used as a skew to determine the potential of the next rally?

Answer: E44. I change the color based on 3 consecutive closes on one side. A freshly flipped color (3rd day has 2-3 more days of selling pressure left before total reversal. A senior red 10+ is ripe for a relief rally, but may find resistance at the statistical 170 pips, particularly in combination with hitting a virgin pro volume block. The ideal entry is the prolonged E-44 green section, followed by a recent flip to red (& making little headway).


The rest is my latest project, identifying the origin of a move. It is pseudo-science, like everything else around trading, so take it with a pinch of a grain.

Entries and exits are one and the same thing: the exchange of holdings.

It’s not “liquidity” you should be writing on your charts, but “fountain” as in La Fountaine of the move.

Of course, you need to clarify in your head what qualifies first.

A Cadet tail is a Bow-Bow Back (W. Smith) with a revisit of the extreme with a miss of 4-8 pips.


///2-candle 20 close back up (Cadet tail)
if (i>0 && (Close[i+2]-Low[i+2])<130*Point
&& Low[i+2]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,48,i+3))
&& !(Low[i+2]<Low[i+3] && Low[i+2]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+2)-50*Point && Close[i+1]>Low[i+2]+165*Point) 
&& !(Low[i+3]<Low[i+4] && Low[i+3]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+3)-50*Point && Close[i+2]>Low[i+3]+165*Point) 
&& Low[i+1]>Low[i+2] && Low[i+2]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)-20*Point 
&& Close[i]>Low[i+2]+200*Point ){ 
ObjectCreate("Doxx"+IntegerToString(i),OBJ_TREND,0, Time[i+2], Low[i+2], Time[i], High[i]);
      ObjectSet("Doxx"+IntegerToString(i),OBJPROP_COLOR,clrCadetBlue); 
      ObjectSet("Doxx"+IntegerToString(i),OBJPROP_WIDTH,13);
      ObjectSet("Doxx"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
      if (stoch[i+1]<20){
   ObjectCreate("DOGR"+IntegerToString(i),OBJ_TEXT, 0, Time[i+3],High[i]-90*Point);
         ObjectSetText("DOGR"+IntegerToString(i),"Bow Back Continuation", 26, "Impact", clrSlateBlue);  
         }
         else {
          ObjectCreate("DOGR"+IntegerToString(i),OBJ_TEXT, 0, Time[i+3],High[i]-90*Point);
         ObjectSetText("DOGR"+IntegerToString(i),"Deep Pull Back First", 26, "Impact", clrSlateBlue);  }
         memento[i]=1;
}
   




///2-candle 12 close back down (cadet)
if ((High[i+1]-Close[i+1])<130*Point
&& stoch[i+1]>80
&& Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i) &&
High[i+1]>High[i+2] && High[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)+130*Point 
&& Close[i]<High[i+1]-110*Point){ 
ObjectCreate("Doxx"+IntegerToString(i),OBJ_TREND,0, Time[i+1], High[i+1], Time[i], Low[i]);
      ObjectSet("Doxx"+IntegerToString(i),OBJPROP_COLOR,clrCadetBlue); 
      ObjectSet("Doxx"+IntegerToString(i),OBJPROP_WIDTH,13);
      ObjectSet("Doxx"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
        ObjectCreate("DOGR"+IntegerToString(i),OBJ_TEXT, 0, Time[i+3],High[i]-90*Point);
         ObjectSetText("DOGR"+IntegerToString(i),"Bow Back Continuation", 26, "Impact", clrSlateBlue); 
      if (stoch[i+1]>80) memento[i]=-1;
      else {ObjectCreate("DOGR"+IntegerToString(i),OBJ_TEXT, 0, Time[i+3],High[i]-90*Point);
         ObjectSetText("DOGR"+IntegerToString(i),"Deep Pulback First", 26, "Impact", clrSlateBlue); 
         memento[i]=-1;
         
      
      }
}    

A cadet tail is a definite, outside source of a move.

A blue tail by itself does not change the holding direction; it is only proof of the presence of counter-directional volatility.

If this were to coincide with a volatility U-turn (the last 30-minute candle made a 14+ pip advancement before the close back down with 20+ pips or a money flow extreme/swipe, you can annotate Spring/Fountain of Ruth.

The 4A is the condition that would occur before getting to the 30BB, and that is also an originator of the next wave/wave structure.

I plot a close line next to the A prints; these are the inside (secondary) sources.

Not sure if you have noticed, but the tails take up 2-3 candles, while the 4, the A, and the 4A are individual reversal candles (30 min still).

The one thing I am uncertain of at this point is whether an A print has the same importance as a 4A. The difference is the volatility involved; a 4A would be at least 13 pips. You see, I have to work with absolute values for the filters, but sometimes the available volatility can skew things.

//4-hour high vol surge & reversal
if (High[i+1]==iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i+1)) && Close[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)
&& High[i]<High[i+1] && High[i+1]-Low[i+1]>80*Point
&& Low[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)
&& (Close[i+1]<Open[i+1] || (Close[i+1]<High[i+1]-(High[i+1]-Low[i+1])/3*2) )){
ObjectCreate("Fox"+IntegerToString(i),OBJ_TREND,0, Time[i+1], High[i+1], Time[i+1], Low[i+1]);
if (High[i+1]-Low[i+1]>130*Point) {ObjectSet("Fox"+IntegerToString(i),OBJPROP_COLOR,clrOrangeRed);
if (High[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)) {ObjectCreate("DOGZ"+IntegerToString(i),OBJ_TEXT, 0, Time[i+3],High[i+1]+90*Point);
ObjectSetText("DOGZ"+IntegerToString(i),"A", 36, "Impact", clrRed);
}
if (iHigh(symbol,0,i+1)>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i+2))) {ObjectCreate("DOGZ"+IntegerToString(i),OBJ_TEXT, 0, Time[i+3],High[i+1]+190*Point);
ObjectSetText("DOGZ"+IntegerToString(i),"4 Tripper", 36, "Impact", clrRed);
if (i>0 && Close[i-1]<Close[i]) {
ObjectCreate("DOGB"+IntegerToString(i),OBJ_TEXT, 0, Time[i+9],High[i+1]+90*Point);
ObjectSetText("DOGB"+IntegerToString(i),"Strong", 36, "Impact", clrCrimson);
}
if (i>0 && Close[i-1]>Close[i]) {
ObjectCreate("DOGB"+IntegerToString(i),OBJ_TEXT, 0, Time[i+9],High[i+1]+90*Point);
ObjectSetText("DOGB"+IntegerToString(i),"Weak", 36, "Impact", clrCrimson);
}
}
if (iHigh(symbol,0,i+1)>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i+2))
&& High[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)) {ObjectCreate("DOGZ"+IntegerToString(i),OBJ_TEXT, 0, Time[i+3],High[i+1]+90*Point);
ObjectSetText("DOGZ"+IntegerToString(i),"4A", 36, "Impact", clrRed);
FourAU[i]=High[i+1];
}
}
else {ObjectSet("Fox"+IntegerToString(i),OBJPROP_COLOR,clrGold);
if (stoch[i+1]>80 && High[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)
&& (iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)-iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1))>460*Point
){
ObjectSet("Fox"+IntegerToString(i),OBJPROP_COLOR,clrOrange);
ObjectCreate("DOGZ"+IntegerToString(i),OBJ_TEXT, 0, Time[i+3],High[i+1]+90*Point);
ObjectSetText("DOGZ"+IntegerToString(i),"A(2)", 36, "Impact", clrRed);
FourAU[i]=High[i+1];
memento[i]=-1;
}
}
ObjectSet("Fox"+IntegerToString(i),OBJPROP_WIDTH,13);
ObjectSet("Fox"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
ObjectSet("Fox"+IntegerToString(i),OBJPROP_BACK,1);
}

Anyway, for now, I am including the pure A print in the adjustment of the close line.

The trend momentarily is still up, and pressure is being applied to the last inside fountain. At the same time, every try has been a miss. A volatile reversal candle falling short of the 30BB is missing for a close line to be brought lower. A tail is missing for a new external fountain, a Cadet tail, or a Blue / Gray with a change in power dynamics. Conclusion? A fake out on the upside.

Foray

The indians invented Zero. Russell Peters has a piece that I can’t seem to find about an idian drawing a circle in the sand and asking what’s inside. Nothing! He becomes all emotional and says, “I’m gonna name it Gero!”

(Check from 7:58)

I renamed Zero to 4A. Before further explanation, I have 2 new conditions for you.

(The orange filed shows a starting move with a Blue tail (20-pip close back). I would expect to see another one or two of those next.)

Lemon Tail

The lemon tails are inside tails, but do not make a new 24-hour low.

 if (Low[i+1]>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,48,i+2))
          && Low[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)-100*Point
      ) {

This is a chess game, and you want to see the next two moves. This gives you at least 3. A 36-40 pip move back up, and multiple drops from that height. There would be 3 different fractals in the same vicinity before the move down would be ready.

The Swipe Function

The swipe is a medium volatility reversal with some extra umph.

The extra is the takeout of the previous low whilst printing a higher RSI2 read. The result is a closer approach of the last “4” print before continuing with the direction.

 if (Low[i+1]<Low[i+2] && RSI2[i+1]>RSI2[i+2]) {
        ObjectCreate("DOGR"+IntegerToString(i),OBJ_TEXT, 0, Time[i+3],High[i]-90*Point);
         ObjectSetText("DOGR"+IntegerToString(i),"SWIPE", 26, "Impact", clrOrangeRed); 
      }

Now the meat. The “4” is just a code. It represents strength. The “A” stands for aggression (shortfall from the 30 BB). When a pure “4” is faced with a counter “A”, the A is on the winning side. A 4A is the OG Zero.

Let’s try something. We’re gonna plot the 4A levels to show that they remain intact during a trend.

The ThistleToe line is your Zero closing line.

With the current zero print, there have been so far zero violations of the trend that started from 1.2082.

The Zero print should yield you two blue tails on the downside. If the Thistle line gets tripped, I would look to balance out the holdings on dips.

It’s either this or you can buy a course on how to trade everything from an Australian who likes to clap himself in his videos like there was a never-ending Amway convention in his head.


Spam Bondi

Spam Bondi is over the reduction
Here's nothing to see
She's a joke of an attorney in general
[Chorus]
Was it worth it?
When Darth Vader is gone
You'll be on the run
Along with the bug-eyed FBI
"I only have files for you."
A life spent with lies
Coast-guarding the Death Star
Here's nothing
Grab it tight
The land is always greener
Once you whack your neighbor
Wardening for the Epstein Class
Destroyers
(guantana Los reductiones)
Survivors regret your presence
Is the Nasdaq smashing new highs
Or the Dollar smashing new lows?
It's all a point of view
The problem was the denominator
Who nominated you
I'd like to pull out your breast
And offer you out to the highest bidder
A small sacrifice to make
But it may cripple you for the rest of your life
You rapist mofo
Hans Dietrich Arroganser
When you are finished with throwing
Innocent victims under the bus
Justice will be served with
Lethally cold accuracy
There'd be nowhere left to run
Thy will be done
The prolonged version would be
An extended stay
With a shared room comes
Water & board
And plenty of long red neckties
Just in case you change your mind
On your ties
The easy way out would have been
Raping yourself
There's no doubt
[Chorus]
Was it worth it?
When Darth Vader is gone
You'll be on the run
Along with the bug-eyed FBI
"I only have files for you."

The W

Dumbest title for a movie ever, virtually impossible to search for.

Fail me once & pounce

in the words of the biggest traitor trader:

Fail me once, fail me… I can’t get failed again.

So I’ve been saying that to trade, you need to be able to count to two. I know, some may think that a Texas Instruments pocket calculator is a must, because it can do square roots, but some say that they are trying to make things look more complicated than they are. Don’t misunderestimate the power of 2.

The blue lines are auto plots. 20+ pips reversals. The gray tail is 17+, but less than 20.

///20 close back up
if (Low[i+1]<Low[i+2] && Low[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)-50*Point
&& Close[i]>Low[i+1]+170*Point){
ObjectCreate("Doxx"+IntegerToString(i),OBJ_TREND,0, Time[i+1], Low[i+1], Time[i], Close[i]);
if (Close[i]<Low[i+1]+200*Point)
{ObjectSet("Doxx"+IntegerToString(i),OBJPROP_COLOR,clrGray);
ObjectDelete("Doxx"+IntegerToString(i+1));
}
else ObjectSet("Doxx"+IntegerToString(i),OBJPROP_COLOR,clrBlue);
ObjectSet("Doxx"+IntegerToString(i),OBJPROP_WIDTH,13);
ObjectSet("Doxx"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
}
///20 close back down
if (
Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i)-20*Point &&
High[i+1]>High[i+2] && High[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)+150*Point && Close[i]<High[i+1]-200*Point){
ObjectCreate("Doxx"+IntegerToString(i),OBJ_TREND,0, Time[i+1], High[i+1], Time[i], Close[i]);
ObjectSet("Doxx"+IntegerToString(i),OBJPROP_COLOR,clrBlue);
ObjectSet("Doxx"+IntegerToString(i),OBJPROP_WIDTH,13);
ObjectSet("Doxx"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
}

Now, let’s introduce sudden reversals with good volatility. 30-minute chart still.

The orange markers are 13+ pip flips. They go untested and stack during a trending phase. Take note of falling short of the current volatility potential represented by the 30-sample BB. They yield two legs each.

The last one yielded 17-pip close backs, as volatility was no longer expanding.

//4-hour high vol surge & reversal
if (High[i+1]==iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i+1)) && Close[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)
&& High[i]<High[i+1] && High[i+1]-Low[i+1]>80*Point && Low[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)
&& (Close[i+1]<Open[i+1] || (Close[i+1]<High[i+1]-(High[i+1]-Low[i+1])/3*2) )){
ObjectCreate("Fox"+IntegerToString(i),OBJ_TREND,0, Time[i+1], High[i+1], Time[i+1], Low[i+1]);
if (High[i+1]-Low[i+1]>130*Point) ObjectSet("Fox"+IntegerToString(i),OBJPROP_COLOR,clrOrangeRed);
else ObjectSet("Fox"+IntegerToString(i),OBJPROP_COLOR,clrGold);
ObjectSet("Fox"+IntegerToString(i),OBJPROP_WIDTH,13);
ObjectSet("Fox"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
ObjectSet("Fox"+IntegerToString(i),OBJPROP_BACK,1);
}

There were two gray tails made, plus two scrape levels. That’s a tradeable low. The last orange tails were no Zeros, the last one went outside the 30BB, the one before that got an immediate choke (green counter).


//4-hour high vol surge & reversal
if (High[i+1]==iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i+1)) && Close[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)
&& High[i]<High[i+1] && High[i+1]-Low[i+1]>80*Point && Low[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)
&& (Close[i+1]<Open[i+1] || (Close[i+1]<High[i+1]-(High[i+1]-Low[i+1])/3*2)  )){
 ObjectCreate("Fox"+IntegerToString(i),OBJ_TREND,0, Time[i+1], High[i+1], Time[i+1], Low[i+1]);
      if (High[i+1]-Low[i+1]>130*Point) ObjectSet("Fox"+IntegerToString(i),OBJPROP_COLOR,clrOrangeRed); 
      else ObjectSet("Fox"+IntegerToString(i),OBJPROP_COLOR,clrGold); 
      ObjectSet("Fox"+IntegerToString(i),OBJPROP_WIDTH,13);
      ObjectSet("Fox"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
       ObjectSet("Fox"+IntegerToString(i),OBJPROP_BACK,1);
}      


//4-hour low vol surge & reversal
if (Low[i+1]==iLow(symbol,0,iLowest(symbol,0,MODE_LOW,8,i+1)) && Close[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)
&& Low[i]>Low[i+1] && High[i+1]-Low[i+1]>80*Point && High[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)
&& (Close[i+1]>Open[i+1] || (Close[i+1]>Low[i+1]+(High[i+1]-Low[i+1])/3*2)  )){
 ObjectCreate("Fox"+IntegerToString(i),OBJ_TREND,0, Time[i+1], High[i+1], Time[i+1], Low[i+1]);
      if (High[i+1]-Low[i+1]>130*Point) {ObjectSet("Fox"+IntegerToString(i),OBJPROP_COLOR,clrChartreuse); 
          ObjectCreate("DOGR"+IntegerToString(i),OBJ_TEXT, 0, Time[i+5],Low[i+1]-130*Point);
                      ObjectSetText("DOGR"+IntegerToString(i),DoubleToStr(NormalizeDouble(Low[i+1]-130*Point,4),4)+" cover till 2nd F/up", 26, "Impact", clrGreen); 
                      
      
      }
      else ObjectSet("Fox"+IntegerToString(i),OBJPROP_COLOR,clrGold); 
      ObjectSet("Fox"+IntegerToString(i),OBJPROP_WIDTH,13);
      ObjectSet("Fox"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
       ObjectSet("Fox"+IntegerToString(i),OBJPROP_BACK,1);
}      

I would suggest looking for a Zero print, falling shy of the last one for a new entry. Since we are off the low by more than 55 pips this could happen anytime between a new 4-hour high and the last Zero at 1.1954.

Overall, a much stronger leg down could take the price to below 1.12.


The Trinidad Lottery


The rules to play:
Must be born in Trinidad.
Have a populist fascist elected for a second term.
Have him put his name, face, and signature on a golden card (green was for buggers)
For now, America is his own domain.
Let him charge whatever he wants for it, as it all goes into his pocket.
The game starts with the ideology of an empire: get more land, lose all surplus weight, like in a good, hot-air balloon you would.
The possibilities are endless:
for instance, people can get now creamed by ice.
And then the torpedo-lottery starts
At first, the fishermen are allowed to play. Later, extra-large rap divas can join without legal US status.
If you happen to not to get the jackpot (you don't have the cards), then your number is called, and you'd be blown to smithereens.
Smile! The whole world has been upgraded to being part of Trinidad. Now, everyone plays whether they want to or not.
All hail the almighty god of Trinidad!

I’m Loving Venezuela

Embrace,
It looks like a new beginning
But has the same old ending
Enjoy the view
& accept the review
Face to the interface
No fear
We have no atmosphere
Being bold as a king
Is a thing
Door's closing
Sheep's clothing 
Chicken albedo
Sting, you are wasting your time
Broke the rules
& broke some skulls too
Don't worry
Be extra happy now 
This was't meant to be
You weren't meant to see
The president of Benchmark
The names have been changed to protect the inner sounds
Get undressed, you'll see
You won't ever get fully embarrassed 
[Chorus]
I"m loving Venezuela
They are talking to me too
Don't cry for me South America
I'll be coming for the rest of you 
The emperor has new floats
The Village Idiot does his little turn
By Air Force One
To the tune of Vanilla Ice
The first president-crypto-pedo-thug-baby
Is in need of a hug and more thugs
Plus someone else's peace prize
Between two bombings 

How To Save On Paint?

What has happened to the neck?
The giraffe has failed the cognitive test.
Boy, camera, TV, and sonic weapon for mass killings
Did you say cognitive test?
Suck on this collective breast 
A big green land covered with ice,
Ready for export? Iceland! 
Nato Alliance?
Should have bought Allianz insurance! 
Third Reich
During the third term.
Mr & Mrs Messerschmitt
Wake me up before you bomb-bomb
Wave goodbye to the mother of all Pink Floyds 
Giving a madman nuclear access codes 
EQUALS to entrusting the goat with the cabbage
Nothing to see here
Nothing to eat here
Meanwhile, the orange supremist
Is taking a dump on a golden toilet
Tweeting out phrases of self-praises, insults, and demands
Like a low-life full-time bully does...
A wannabe dictator
Narcissist megalomaniac
Male chauvinist, racist
Spoiled brat
People, don't forget to take off his head!
[Chorus]
Here's his life in pictures 
From being a teen to raping teens
To raping everyone else 
And here's the guillotine
The savings have been enormous since...
On the paint alone!

Here's his life's work
Purely damages
Hat on and head off
It is hard to deal with idiots
But at least they are easy to spot
There's nothing masculine about mass killings
Insults don't replace the insulin
Red label
  
Millions of lives crippled,
Damaged, families torn apart
Hundreds of thousands killed
By denying them access to clean water
Medicine, food, shelter

But at least the billionaire oligarch buddies
Would get to round up their unspendable
Wealth up a bit more
So there is your trade-off
Remember when the felon married to an immigrant 
Told you that the problems were felons and immigrants?

[Chorus]
Here's his life in pictures 
From being a teen to raping teens
To raping everyone else 
And here's the guillotine
The savings have been enormous since...
On the paint alone!

For The Love Of Trump Playlist

Stretch 8

A lot has gone down this week.

The Forex market, over time, used to lose volatility. There were 6-months longs stetches when the market would not be able to get away from the 9-day EMA band (high to low) by more than 4 fluctuation maximums (38.4 pips for per flucutation maximum).

It was more common a decade ago to see 9, 10, 11x stretches. Now things seem to be trending up again.

This was your 8x stretch from the mean.

The market wants to mean-revert, particularly after a 2.5x stretch, but short-term, emotional buying can prevent it from doing so.

The second pump came from below the hourly 32 EMA as usual.

60 hours of celibacy

if (Low[i]<iMA(symbol,0,64,0,MODE_EMA,PRICE_MEDIAN,i)) P2[i]=1;
if (i>0 && (P2[i]==1) && P2[ArrayMaximum(P2,60,i+1)]==0)

Those wanting to fade the 1.20 break got systematically run over, and their holdings got taken over at a higher level (a new Scrape Level was made – and the mean reversion had started.

Now, pay attention to the Firebrick line.

ExtUpperBuffer_d[i]=iLow(symbol,0,iLowest(symbol,0,MODE_LOW,10,i+6))+820*Point;
ExtLowerBuffer_d[i]=iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,10,i+6))-820*Point;

Once you see a candle beyond this Firebrick line, add 14 pips to the previous candle, and then the next 2 candles would be falling shy of this new extreme by 34 pips, you have yourself a “sold into / bought into.” There is an escalated version of achieving 27 more pips beyond the Firebrick to receive a volatility boost (Luke, I’m your father). This would make the directional logic paint the opposite color instantly, versus neutral.

Now, momentum entries inside the wave structure.

///RSI2 FireBrick momentum sells
if (RSI2[i]<RSI2[i+1] && RSI2[i+1]>RSI2[i+2] && RSI2[i+1]>95.5 && High[i+1]>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,4,i+4))
&& MFI[i+1]<71 && High[i+1]-Low[i+1]>130*Point){

The pink “bought into” was lacking one thing. The extra 27 pips. The trade to the upside was good for 2 slim bricks and a get-out after the highest close.

So, momentum-sell, #2

Missing? Bought into. No undecut happening below the Firebrick by 14 pips just yet.

A buy into is likely not very far now that the price is back inside the Moat.

Whenever the moat is 27+ pips wide (42+ currently), it is highly likely to turn the price back around, as it won’t be able to cross with a single try. The moat is the shaded area between the 9-day EMA band and the 712 SMA (30 min).